5#ifndef QDECLARATIVEPOLYGONMAPITEM_P_P_H
6#define QDECLARATIVEPOLYGONMAPITEM_P_P_H
19#include <QtCore/QList>
20#include <QtCore/QScopedValueRollback>
21#include <QtGui/QMatrix4x4>
22#include <QtGui/QColor>
24#include <QSGFlatColorMaterial>
26#include <QtLocation/private/qlocationglobal_p.h>
27#include <QtLocation/private/qgeomapitemgeometry_p.h>
28#include <QtLocation/private/qdeclarativepolygonmapitem_p.h>
29#include <QtLocation/private/qdeclarativepolylinemapitem_p_p.h>
31#include <QtPositioning/private/qdoublevector2d_p.h>
53 MapBorderBehaviour wrapping = Duplicate);
61 bool assumeSimple_ =
false;
97 markSourceDirtyAndUpdate();
101 m_geometry.markSourceDirty();
102 m_poly.polishAndUpdate();
109 m_geopathProjected.clear();
110 m_geopathProjected << QList<QDoubleVector2D>();
117 pP <<
p.geoToMapProjection(
c);
119 pP.
reserve(m_poly.m_geopoly.perimeter().size());
122 pP <<
p.geoToMapProjection(
c);
124 for (
int i = 0;
i < m_poly.m_geopoly.holesCount();
i++) {
125 m_geopathProjected << QList<QDoubleVector2D>();
132 pH <<
p.geoToMapProjection(
c);
134 pH.
reserve(m_poly.m_geopoly.holePath(
i).size());
137 pH <<
p.geoToMapProjection(
c);
150 pP <<
p.geoToMapProjection(m_poly.m_geopoly.perimeter().last());
155 markSourceDirtyAndUpdate();
160 markSourceDirtyAndUpdate();
165 markSourceDirtyAndUpdate();
170 markSourceDirtyAndUpdate();
174 onGeoGeometryChanged();
176 void updatePolish()
override;
void onLinePropertiesChanged() override
void onGeoGeometryUpdated() override
QList< QList< QDoubleVector2D > > m_geopathProjected
void afterViewportChanged() override
void onGeoGeometryChanged() override
QGeoMapPolygonGeometry m_geometry
void markSourceDirtyAndUpdate() override
void onItemGeometryChanged() override
virtual void onItemGeometryChanged()=0
QDeclarativePolygonMapItem & m_poly
virtual void updatePolish()=0
virtual void markSourceDirtyAndUpdate()=0
virtual bool contains(const QPointF &point) const =0
virtual void afterViewportChanged()=0
virtual void onGeoGeometryUpdated()=0
virtual void onMapSet()=0
virtual QSGNode * updateMapItemPaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data)=0
QDeclarativePolygonMapItemPrivate(QDeclarativePolygonMapItem &polygon)
virtual void onGeoGeometryChanged()=0
virtual void onLinePropertiesChanged()=0
static QList< QGeoCoordinate > perimeter(const QGeoRectangle &rect)
virtual bool contains(const QPointF &screenPoint) const
QPainterPath srcPath() const
void setAssumeSimple(bool value)
QGeoMapPolygonGeometry()
\qmltype MapPolygon \instantiates QDeclarativePolygonMapItem \inqmlmodule QtLocation
qsizetype size() const noexcept
void reserve(qsizetype size)
\inmodule QtCore\reentrant
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
QMap< QString, QString > map
[6]
QList< QGeoCoordinate > greaterCirclePath(const QList< QGeoCoordinate > &cornerPoints, greaterCirclePathForm form, int N)
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLsizei const GLchar *const * path