worked on 3D viz

scaling, moving by finger
some fixes / improvement
This commit is contained in:
k-a-z-u
2018-02-06 17:35:10 +01:00
parent 076c0e9157
commit bce771d6d6
28 changed files with 547 additions and 155 deletions

View File

@@ -101,50 +101,29 @@ void MapView2D::mouseReleaseEvent(QMouseEvent* e) {
// android
bool MapView2D::event(QEvent* event) {
if (event->type() == QEvent::Gesture) {
return gestureEvent(static_cast<QGestureEvent*>(event));
} else {
return QWidget::event(event);
}
}
bool MapView2D::gestureEvent(QGestureEvent* event) {
//qCDebug(lcExample) << "gestureEvent():" << event;
if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) {
//swipeTriggered(static_cast<QSwipeGesture *>(swipe));
} else if (QGesture *pan = event->gesture(Qt::PanGesture))
panTriggered(static_cast<QPanGesture *>(pan));
return true;
if (QGesture *pinch = event->gesture(Qt::PinchGesture)) {
pinchTriggered(static_cast<QPinchGesture *>(pinch));
return true;
}
return true;
return false;
}
void MapView2D::pinchTriggered(QPinchGesture* gesture) {
tools.pinchTriggered(this, gesture);
update();
// QPinchGesture::ChangeFlags changeFlags = gesture->changeFlags();
// if (changeFlags & QPinchGesture::RotationAngleChanged) {
//// qreal rotationDelta = gesture->rotationAngle() - gesture->lastRotationAngle();
//// rotationAngle += rotationDelta;
//// qCDebug(lcExample) << "pinchTriggered(): rotate by" <<
//// rotationDelta << "->" << rotationAngle;
// }
// if (changeFlags & QPinchGesture::ScaleFactorChanged) {
//// currentStepScaleFactor = gesture->totalScaleFactor();
//// qCDebug(lcExample) << "pinchTriggered(): zoom by" <<
//// gesture->scaleFactor() << "->" << currentStepScaleFactor;
// std::cout << gesture->totalScaleFactor() << std::endl;
// }
// if (gesture->state() == Qt::GestureFinished) {
//// scaleFactor *= currentStepScaleFactor;
//// currentStepScaleFactor = 1;
// }
// update();
}
void MapView2D::panTriggered(QPanGesture* gesture) {