Creating reference map widget

This commit is contained in:
Dan Paulat 2021-06-23 21:48:08 -05:00
parent 760e8a52a1
commit b1e00cca83
8 changed files with 631 additions and 30 deletions

View file

@ -0,0 +1,56 @@
#pragma once
#include <QMapboxGL>
#include <QOpenGLWidget>
#include <QPropertyAnimation>
#include <QScopedPointer>
#include <QtGlobal>
class QKeyEvent;
class QMouseEvent;
class QWheelEvent;
namespace scwx
{
namespace qt
{
class MapWidget : public QOpenGLWidget
{
Q_OBJECT
public:
MapWidget(const QMapboxGLSettings&);
~MapWidget();
private:
void changeStyle();
qreal pixelRatio();
// QWidget implementation.
void keyPressEvent(QKeyEvent* ev) override final;
void mousePressEvent(QMouseEvent* ev) override final;
void mouseMoveEvent(QMouseEvent* ev) override final;
void wheelEvent(QWheelEvent* ev) override final;
// QOpenGLWidget implementation.
void initializeGL() override final;
void paintGL() override final;
QPointF lastPos_;
QMapboxGLSettings settings_;
QScopedPointer<QMapboxGL> map_;
uint64_t frameDraws_ = 0;
QVariant symbolAnnotationId_;
QVariant lineAnnotationId_;
QVariant fillAnnotationId_;
bool sourceAdded_ = false;
};
} // namespace qt
} // namespace scwx