#ifndef MAPWINDOW_H #define MAPWINDOW_H #include #include #include #include #include class QKeyEvent; class QMouseEvent; class QWheelEvent; class MapWindow : public QOpenGLWidget { Q_OBJECT public: MapWindow(const QMapboxGLSettings &); ~MapWindow(); void selfTest(); protected slots: void animationValueChanged(); void animationFinished(); private: void changeStyle(); qreal pixelRatio(); // QWidget implementation. void keyPressEvent(QKeyEvent *ev) final; void mousePressEvent(QMouseEvent *ev) final; void mouseMoveEvent(QMouseEvent *ev) final; void wheelEvent(QWheelEvent *ev) final; // Q{,Open}GLWidget implementation. void initializeGL() final; void paintGL() final; QPointF m_lastPos; QMapboxGLSettings m_settings; QScopedPointer m_map; QPropertyAnimation *m_bearingAnimation; QPropertyAnimation *m_zoomAnimation; unsigned m_animationTicks = 0; unsigned m_frameDraws = 0; QVariant m_symbolAnnotationId; QVariant m_lineAnnotationId; QVariant m_fillAnnotationId; bool m_sourceAdded = false; }; #endif