Files
MapLibreParticleLab/platform/qt/include/qmapbox.hpp
Thiago Marcos P. Santos e881795ed1 [Qt] Header cleanup (#6477)
Make some headers private, so we only commit with the QML API.
2016-09-27 16:18:04 +03:00

95 lines
2.4 KiB
C++

#ifndef QMAPBOX_H
#define QMAPBOX_H
#include <QList>
#include <QPair>
#include <QVariant>
#include <QString>
// This header follows the Qt coding style: https://wiki.qt.io/Qt_Coding_Style
namespace QMapbox {
typedef QPair<double, double> Coordinate;
typedef QList<Coordinate> LineString;
typedef QPair<Coordinate, double> CoordinateZoom;
typedef quint32 AnnotationID;
typedef QList<AnnotationID> AnnotationIDs;
typedef QPair<Coordinate, QString> PointAnnotation;
// FIXME: We need to add support for custom style properties
typedef QPair<LineString, QString> ShapeAnnotation;
// Reflects mbgl::NetworkStatus::Status.
enum NetworkMode {
Online, // Default
Offline,
};
// Reflects mbgl::MapChange.
enum MapChange {
MapChangeRegionWillChange = 0,
MapChangeRegionWillChangeAnimated,
MapChangeRegionIsChanging,
MapChangeRegionDidChange,
MapChangeRegionDidChangeAnimated,
MapChangeWillStartLoadingMap,
MapChangeDidFinishLoadingMap,
MapChangeDidFailLoadingMap,
MapChangeWillStartRenderingFrame,
MapChangeDidFinishRenderingFrame,
MapChangeDidFinishRenderingFrameFullyRendered,
MapChangeWillStartRenderingMap,
MapChangeDidFinishRenderingMap,
MapChangeDidFinishRenderingMapFullyRendered,
MapChangeDidFinishLoadingStyle,
MapChangeSourceDidChange
};
struct Q_DECL_EXPORT CameraOptions {
QVariant center; // Coordinate
QVariant anchor; // QPointF
QVariant zoom; // double
QVariant angle; // double
QVariant pitch; // double
};
Q_DECL_EXPORT QList<QPair<QString, QString> >& defaultStyles();
Q_DECL_EXPORT NetworkMode networkMode();
Q_DECL_EXPORT void setNetworkMode(NetworkMode);
// This struct is a 1:1 copy of mbgl::CustomLayerRenderParameters.
struct Q_DECL_EXPORT CustomLayerRenderParameters {
double width;
double height;
double latitude;
double longitude;
double zoom;
double bearing;
double pitch;
double altitude;
};
struct Q_DECL_EXPORT TransitionOptions {
QVariant duration; // qint64
QVariant delay; // qint64
};
typedef void (*CustomLayerInitializeFunction)(void* context) ;
typedef void (*CustomLayerRenderFunction)(void* context, const CustomLayerRenderParameters&);
typedef void (*CustomLayerDeinitializeFunction)(void* context);
Q_DECL_EXPORT void initializeGLExtensions();
Q_DECL_EXPORT void registerTypes();
} // namespace QMapbox
Q_DECLARE_METATYPE(QMapbox::Coordinate);
Q_DECLARE_METATYPE(QMapbox::MapChange);
#endif // QMAPBOX_H