KOSMIndoorMap::SceneGraphItemPayload
#include <scenegraphitem.h>
Public Types | |
enum | RenderPhase : uint8_t { NoPhase = 0 , FillPhase = 1 , CasingPhase = 2 , StrokePhase = 4 , IconPhase = 8 , LabelPhase = 16 } |
Public Member Functions | |
virtual QRectF | boundingRect (const View *view) const =0 |
bool | inHUDSpace () const |
bool | inSceneSpace () const |
virtual uint8_t | renderPhases () const =0 |
Public Attributes | |
int | z = 0 |
Detailed Description
Payload base class for scene graph items.
Definition at line 59 of file scenegraphitem.h.
Member Enumeration Documentation
◆ RenderPhase
enum KOSMIndoorMap::SceneGraphItemPayload::RenderPhase : uint8_t |
See MapCSS spec: "Within a layer, first all fills are rendered, then all casings, then all strokes, then all icons and labels." .
Definition at line 65 of file scenegraphitem.h.
Member Function Documentation
◆ boundingRect()
|
nodiscardpure virtual |
Bounding box of this item in scene coordinates.
Performance trumps precision here, so estimating this slightly larger rather than computing it expensively makes sense.
Implemented in KOSMIndoorMap::LabelItem, KOSMIndoorMap::MultiPolygonItem, KOSMIndoorMap::PolygonItem, and KOSMIndoorMap::PolylineItem.
◆ inHUDSpace()
|
nodiscard |
Is this item drawn in HUD coordinates (as oposed to scene coordinates)?
Definition at line 22 of file scenegraphitem.cpp.
◆ inSceneSpace()
|
nodiscard |
Is this item drawn in scene coordinates (as oposed to HUD coordinates)?
Definition at line 17 of file scenegraphitem.cpp.
◆ renderPhases()
|
nodiscardpure virtual |
Returns in which phase this item needs to be rendered (can be multiple).
Implemented in KOSMIndoorMap::LabelItem, KOSMIndoorMap::PolygonBaseItem, and KOSMIndoorMap::PolylineItem.
Member Data Documentation
◆ z
int KOSMIndoorMap::SceneGraphItemPayload::z = 0 |
Definition at line 86 of file scenegraphitem.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:17:55 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.