7#include <QtCore/QScopedValueRollback>
13#include <QtLocation/private/qgeomap_p.h>
14#include <QtPositioning/private/qlocationutils_p.h>
15#include <QtPositioning/private/qwebmercator_p.h>
16#include <QtPositioning/private/qdoublevector2d_p.h>
157 m_d->onGeoGeometryChanged();
171 m_d->markSourceDirtyAndUpdate();
176 m_d->onLinePropertiesChanged();
191 m_d->onGeoGeometryChanged();
213 if (m_color ==
color)
235 return m_d->updateMapItemPaintNode(oldNode,
data);
253 if (
event.mapSize.width() <= 0 ||
event.mapSize.height() <= 0)
255 m_d->afterViewportChanged();
263 return m_d->contains(point);
273 if (shape == m_rectangle)
277 const bool tlHasChanged = rectangle.
topLeft() != m_rectangle.
topLeft();
279 m_rectangle = rectangle;
281 m_d->onGeoGeometryChanged();
300 if (!newCenter.isValid() || !oldCenter.isValid())
302 double offsetLongi = newCenter.longitude() - oldCenter.longitude();
303 double offsetLati = newCenter.latitude() - oldCenter.latitude();
304 if (offsetLati == 0.0 && offsetLongi == 0.0)
307 m_rectangle.
translate(offsetLati, offsetLongi);
308 m_d->onItemGeometryChanged();
358 QScopedValueRollback<bool> rollback(
m_rect.m_updatingGeometry);
359 m_rect.m_updatingGeometry =
true;
377 const float borderWidth = hasBorder ?
m_rect.m_border.
width() : 0.0f;
383 path.
translate(-bb.left() + borderWidth, -bb.top() + borderWidth);
The QColor class provides colors based on RGB, HSV or CMYK values.
int alpha() const noexcept
Returns the alpha color component of this color.
virtual void setPositionOnMap(const QGeoCoordinate &coordinate, const QPointF &offset)
QGeoMap::ItemType m_itemType
void setShapeTriangulationScale(QQuickShape *shape, qreal maxCoord) const
float zoomLevelOpacity() const
virtual void setMap(QDeclarativeGeoMap *quickMap, QGeoMap *map)
QLocation::ReferenceSurface referenceSurface
QDeclarativeGeoMap * quickMap() const
void setPath(const QPainterPath &path)
void widthChanged(qreal width)
void colorChanged(const QColor &color)
QGeoMapPolygonGeometry m_geometry
QQuickShapePath * m_shapePath
QDeclarativeRectangleMapItemPrivateCPU(QDeclarativeRectangleMapItem &rect)
QDeclarativeGeoMapPainterPath * m_painterPath
QSGNode * updateMapItemPaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *data) override
void updatePolish() override
~QDeclarativeRectangleMapItemPrivateCPU() override
bool contains(const QPointF &point) const override
QDeclarativeRectangleMapItemPrivate(QDeclarativeRectangleMapItem &rect)
QDeclarativeRectangleMapItem & m_rect
virtual ~QDeclarativeRectangleMapItemPrivate()
void onLinePropertiesChanged()
void bottomRightChanged(const QGeoCoordinate &bottomRight)
void setTopLeft(const QGeoCoordinate ¢er)
\qmlproperty coordinate MapRectangle::topLeft
const QGeoShape & geoShape() const override
void setBottomRight(const QGeoCoordinate ¢er)
\qmlproperty coordinate MapRectangle::bottomRight
void topLeftChanged(const QGeoCoordinate &topLeft)
bool contains(const QPointF &point) const override
void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override
void setMap(QDeclarativeGeoMap *quickMap, QGeoMap *map) override
QDeclarativeMapLineProperties * border
\qmlpropertygroup Location::MapRectangle::border \qmlproperty int MapRectangle::border....
void afterViewportChanged(const QGeoMapViewportChangeEvent &event) override
QDeclarativeRectangleMapItem(QQuickItem *parent=nullptr)
\qmltype MapRectangle \instantiates QDeclarativeRectangleMapItem \inqmlmodule QtLocation
void updatePolish() override
QGeoCoordinate bottomRight
void markSourceDirtyAndUpdate()
void setGeoShape(const QGeoShape &shape) override
void setColor(const QColor &color)
~QDeclarativeRectangleMapItem() override
QSGNode * updateMapItemPaintNode(QSGNode *, UpdatePaintNodeData *) override
\qmlproperty real MapRectangle::opacity
bool isValid
This property holds the validity of this geo coordinate.
static QList< QDoubleVector2D > pathMercator(const QList< QGeoCoordinate > &p)
static QList< QGeoCoordinate > path(const QGeoRectangle &rect)
QRectF sourceBoundingBox() const
const QGeoCoordinate & origin() const
bool isScreenDirty() const
QPainterPath srcPath() const
void updateSourcePoints(const QGeoMap &map, const QList< QList< QDoubleVector2D > > &path, MapBorderBehaviour wrapping=Duplicate)
const QGeoProjection & geoProjection() const
virtual QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos, bool clipToViewport=true) const =0
QGeoCoordinate topLeft
This property holds the top left coordinate of this geo rectangle.
QGeoCoordinate bottomRight
This property holds the bottom right coordinate of this geo rectangle.
void setTopLeft(const QGeoCoordinate &topLeft)
Sets the top left coordinate of this geo rectangle to topLeft.
void setBottomRight(const QGeoCoordinate &bottomRight)
Sets the bottom right coordinate of this geo rectangle to bottomRight.
Q_INVOKABLE void translate(double degreesLatitude, double degreesLongitude)
Translates this geo rectangle by degreesLatitude northwards and degreesLongitude eastwards.
bool isValid
This property holds the validity of the geo shape.
Q_INVOKABLE QGeoRectangle boundingGeoRectangle() const
Returns a QGeoRectangle representing the geographical bounding rectangle of the geo shape,...
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
Q_WEAK_OVERLOAD void setObjectName(const QString &name)
Sets the object's name to name.
void translate(qreal dx, qreal dy)
Translates all elements in the path by ({dx}, {dy}).
\inmodule QtCore\reentrant
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
void setSize(const QSizeF &size)
void setFlag(Flag flag, bool enabled=true)
Enables the specified flag for this item if enabled is true; if enabled is false, the flag is disable...
virtual void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
Q_INVOKABLE QPointF mapToItem(const QQuickItem *item, const QPointF &point) const
Maps the given point in this item's coordinate system to the equivalent point within item's coordinat...
QQmlListProperty< QQuickPathElement > pathElements
\qmlproperty list<PathElement> QtQuick::Path::pathElements This property holds the objects composing ...
void setStrokeColor(const QColor &color)
void setStrokeWidth(qreal w)
void setFillColor(const QColor &color)
bool contains(const QPointF &point) const override
\qmlmethod bool QtQuick::Item::contains(point point)
void setContainsMode(ContainsMode containsMode)
FINALQQmlListProperty< QObject > data
\qmlproperty list<Object> QtQuick.Shapes::Shape::data
\inmodule QtCore\reentrant
constexpr QPointF topLeft() const noexcept
Returns the position of the rectangle's top-left corner.
constexpr QPointF center() const noexcept
Returns the center point of the rectangle.
\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.
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLsizei const GLchar *const * path