Hue shift + events to camera

This commit is contained in:
2020-06-23 00:38:55 -06:00
parent b106c1c028
commit af761ca337
4 changed files with 68 additions and 23 deletions

View File

@@ -90,25 +90,51 @@ void MagnumItem::setCount(qint8 count) {
void MagnumItem::keyPressEvent(QKeyEvent *evt) {
switch (evt->key()) {
case Qt::Key_L:
// if (m_camera->lagging() > 0.0f) {
// m_camera->setLagging(0.0f);
// } else {
// m_camera->setLagging(0.85f);
// }
auto camera = m_renderer->camera();
if (camera) {
if (camera->lagging() > 0.0f) {
camera->setLagging(0.0f);
} else {
camera->setLagging(0.85f);
}
}
break;
}
evt->accept();
}
void MagnumItem::mousePressEvent(QMouseEvent *evt) {
if (auto camera = m_renderer->camera()) {
camera->initTransformation({evt->pos().x(), evt->pos().y()});
}
evt->accept();
}
void MagnumItem::mouseReleaseEvent(QMouseEvent *evt) {
evt->accept();
}
void MagnumItem::mouseMoveEvent(QMouseEvent *evt) {}
void MagnumItem::mouseMoveEvent(QMouseEvent *evt) {
if (!evt->buttons())
return;
if (auto camera = m_renderer->camera()) {
if (evt->modifiers() & Qt::ShiftModifier) {
camera->translate({evt->pos().x(), evt->pos().y()});
} else {
camera->rotate({evt->pos().x(), evt->pos().y()});
}
}
evt->accept();
}
void MagnumItem::wheelEvent(QWheelEvent *evt) {}
void MagnumItem::wheelEvent(QWheelEvent *evt) {
if (auto camera = m_renderer->camera()) {
const Float delta = evt->delta();
if (Math::abs(delta) < 1.0e-2f)
return;
camera->zoom(delta);
}
}
class CleanupJob : public QRunnable {
public: