You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.5 KiB
54 lines
1.5 KiB
// Copyright (C) 2023 MapLibre contributors
|
|
// Copyright (C) 2019 Mapbox, Inc.
|
|
|
|
// SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
#pragma once
|
|
|
|
#include "map.hpp"
|
|
|
|
#include <mbgl/map/map_observer.hpp>
|
|
#include <mbgl/style/style.hpp>
|
|
|
|
#include <QtCore/QObject>
|
|
|
|
#include <exception>
|
|
#include <memory>
|
|
|
|
namespace QMapLibre {
|
|
|
|
class MapPrivate;
|
|
|
|
class MapObserver : public QObject, public mbgl::MapObserver {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit MapObserver(MapPrivate *ptr);
|
|
~MapObserver() override;
|
|
|
|
// mbgl::MapObserver implementation.
|
|
void onCameraWillChange(mbgl::MapObserver::CameraChangeMode mode) final;
|
|
void onCameraIsChanging() final;
|
|
void onCameraDidChange(mbgl::MapObserver::CameraChangeMode mode) final;
|
|
void onWillStartLoadingMap() final;
|
|
void onDidFinishLoadingMap() final;
|
|
void onDidFailLoadingMap(mbgl::MapLoadError error, const std::string &what) final;
|
|
void onWillStartRenderingFrame() final;
|
|
void onDidFinishRenderingFrame(mbgl::MapObserver::RenderFrameStatus status) final;
|
|
void onWillStartRenderingMap() final;
|
|
void onDidFinishRenderingMap(mbgl::MapObserver::RenderMode mode) final;
|
|
void onDidFinishLoadingStyle() final;
|
|
void onSourceChanged(mbgl::style::Source &source) final;
|
|
|
|
signals:
|
|
void mapChanged(Map::MapChange);
|
|
void mapLoadingFailed(Map::MapLoadingFailure, const QString &reason);
|
|
void copyrightsChanged(const QString ©rightsHtml);
|
|
|
|
private:
|
|
Q_DISABLE_COPY(MapObserver)
|
|
|
|
MapPrivate *d_ptrRef;
|
|
};
|
|
|
|
} // namespace QMapLibre
|
|
|