Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgeomapitemsoverlay.cpp
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
6#include <QtLocation/private/qgeomap_p_p.h>
7#include <QtQuick/qsgnode.h>
8#include <QtQuick/qsgrectanglenode.h>
9#include <QtQuick/qquickwindow.h>
10
12
14{
15 Q_DECLARE_PUBLIC(QGeoMapItemsOverlay)
16public:
19
21
22 void setVisibleArea(const QRectF &visibleArea) override;
23 QRectF visibleArea() const override;
24
25protected:
26 void changeViewportSize(const QSize &size) override;
27 void changeCameraData(const QGeoCameraData &oldCameraData) override;
28 void changeActiveMapType(const QGeoMapType &mapType) override;
29
31};
32
33QGeoMapItemsOverlay::QGeoMapItemsOverlay(QGeoMappingManagerEngineItemsOverlay *engine, QObject *parent)
34 : QGeoMap(*(new QGeoMapItemsOverlayPrivate(engine, this)), parent)
35{
36
37}
38
42
44{
45 return Capabilities(SupportsVisibleRegion
46 | SupportsSetBearing
47 | SupportsAnchoringCoordinate);
48}
49
50void QGeoMapItemsOverlayPrivate::setVisibleArea(const QRectF &visibleArea)
51{
52 Q_Q(QGeoMapItemsOverlay);
53 const QRectF va = clampVisibleArea(visibleArea);
54 if (va == m_visibleArea)
55 return;
56
57 m_visibleArea = va;
58 m_geoProjection->setVisibleArea(va);
59
60 q->sgNodeChanged();
61}
62
64{
65 return m_visibleArea;
66}
67
68QSGNode *QGeoMapItemsOverlay::updateSceneGraph(QSGNode *node, QQuickWindow *)
69{
70 return node;
71}
72
73QGeoMapItemsOverlayPrivate::QGeoMapItemsOverlayPrivate(QGeoMappingManagerEngineItemsOverlay *engine, QGeoMapItemsOverlay *map)
74 : QGeoMapPrivate(engine, new QGeoProjectionWebMercator)
75{
76 Q_UNUSED(map);
77}
78
79QGeoMapItemsOverlayPrivate::~QGeoMapItemsOverlayPrivate()
80{
81}
82
83void QGeoMapItemsOverlayPrivate::updateObjectsGeometry()
84{
85}
86
87void QGeoMapItemsOverlayPrivate::changeViewportSize(const QSize &/*size*/)
88{
89 updateObjectsGeometry();
90}
91
92void QGeoMapItemsOverlayPrivate::changeCameraData(const QGeoCameraData &/*oldCameraData*/)
93{
94 updateObjectsGeometry();
95}
96
97void QGeoMapItemsOverlayPrivate::changeActiveMapType(const QGeoMapType &/*mapType*/)
98{
99 updateObjectsGeometry();
100}
101
102QT_END_NAMESPACE
void changeActiveMapType(const QGeoMapType &mapType) override
void changeViewportSize(const QSize &size) override
void setVisibleArea(const QRectF &visibleArea) override
void changeCameraData(const QGeoCameraData &oldCameraData) override
QRectF visibleArea() const override
QGeoMap::Capabilities capabilities() const override
QSGNode * updateSceneGraph(QSGNode *node, QQuickWindow *window) override