summaryrefslogtreecommitdiff
path: root/platform/qt/src/qmapboxgl_map_observer.hpp
blob: 1620c1ef87fd12a54cfd00fa266e3e4356e3caa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#pragma once

#include "qmapboxgl.hpp"

#include <mbgl/map/map_observer.hpp>
#include <mbgl/style/style.hpp>

#include <QObject>

#include <exception>
#include <memory>

class QMapboxGLPrivate;

class QMapboxGLMapObserver : public QObject, public mbgl::MapObserver
{
    Q_OBJECT

public:
    explicit QMapboxGLMapObserver(QMapboxGLPrivate *);
    virtual ~QMapboxGLMapObserver();

    // mbgl::MapObserver implementation.
    void onCameraWillChange(mbgl::MapObserver::CameraChangeMode) final;
    void onCameraIsChanging() final;
    void onCameraDidChange(mbgl::MapObserver::CameraChangeMode) final;
    void onWillStartLoadingMap() final;
    void onDidFinishLoadingMap() final;
    void onDidFailLoadingMap(mbgl::MapLoadError, const std::string&) final;
    void onWillStartRenderingFrame() final;
    void onDidFinishRenderingFrame(mbgl::MapObserver::RenderMode, bool /*placementChanged*/) final;
    void onWillStartRenderingMap() final;
    void onDidFinishRenderingMap(mbgl::MapObserver::RenderMode) final;
    void onDidFinishLoadingStyle() final;
    void onSourceChanged(mbgl::style::Source&) final;

signals:
    void mapChanged(QMapboxGL::MapChange);
    void mapLoadingFailed(QMapboxGL::MapLoadingFailure, const QString &reason);
    void copyrightsChanged(const QString &copyrightsHtml);

private:
    Q_DISABLE_COPY(QMapboxGLMapObserver)

    QMapboxGLPrivate *d_ptr;
};