|
| PointSymbol () noexcept |
| Constructs an empty point symbol. More...
|
|
| ~PointSymbol () override |
|
bool | validate () const override |
|
void | createRenderables (const Object *object, const VirtualCoordVector &coords, ObjectRenderables &output, RenderableOptions options) const override |
|
void | createRenderablesScaled (const MapCoordF &coord, qreal rotation, ObjectRenderables &output, qreal coord_scale=1) const |
|
void | createRenderablesIfCenterInside (const MapCoordF &point_coord, qreal rotation, const QPainterPath *outline, ObjectRenderables &output) const |
|
void | createPrimitivesIfCompletelyInside (const MapCoordF &point_coord, const QPainterPath *outline, ObjectRenderables &output) const |
|
void | createRenderablesIfCompletelyInside (const MapCoordF &point_coord, qreal rotation, const QPainterPath *outline, ObjectRenderables &output) const |
|
void | createPrimitivesIfPartiallyInside (const MapCoordF &point_coord, const QPainterPath *outline, ObjectRenderables &output) const |
|
void | createRenderablesIfPartiallyInside (const MapCoordF &point_coord, qreal rotation, const QPainterPath *outline, ObjectRenderables &output) const |
|
void | colorDeletedEvent (const MapColor *color) override |
| Called when a color is removed from the map. More...
|
|
bool | containsColor (const MapColor *color) const override |
| Returns if the given color is used by this symbol. More...
|
|
const MapColor * | guessDominantColor () const override |
| Returns the dominant color of this symbol. More...
|
|
void | replaceColors (const MapColorMap &color_map) override |
| Replaces colors used by this symbol. More...
|
|
void | scale (double factor) override |
| Scales the symbol. More...
|
|
qreal | dimensionForIcon () const override |
| Returns the dimension which shall considered when scaling the icon. More...
|
|
int | getNumElements () const |
| Returns the number of contained elements. More...
|
|
void | addElement (int pos, Object *object, Symbol *symbol) |
| Adds a new element consisting of object and symbol at the given index. More...
|
|
Object * | getElementObject (int pos) |
| Returns the object of the i-th element. More...
|
|
const Object * | getElementObject (int pos) const |
| Returns the object of the i-th element. More...
|
|
Symbol * | getElementSymbol (int pos) |
| Returns the symbol of the i-th element. More...
|
|
const Symbol * | getElementSymbol (int pos) const |
| Returns the symbol of the i-th element. More...
|
|
void | deleteElement (int pos) |
| Deletes the i-th element. More...
|
|
bool | isEmpty () const |
| Returns true if the point contains no elements and does not create renderables itself. More...
|
|
bool | isSymmetrical () const |
| Checks if the contained elements are rotationally symmetrical around the origin (this means, only point elements at (0,0) are allowed). More...
|
|
int | getInnerRadius () const |
|
void | setInnerRadius (int value) |
|
const MapColor * | getInnerColor () const |
|
void | setInnerColor (const MapColor *color) |
|
int | getOuterWidth () const |
|
void | setOuterWidth (int value) |
|
const MapColor * | getOuterColor () const |
|
void | setOuterColor (const MapColor *color) |
|
SymbolPropertiesWidget * | createPropertiesWidget (SymbolSettingDialog *dialog) override |
| Creates a properties widget for the symbol. More...
|
|
| Symbol (Type type) noexcept |
|
virtual | ~Symbol () |
|
Symbol & | operator= (const Symbol &)=delete |
|
Symbol & | operator= (Symbol &&)=delete |
|
bool | equals (const Symbol *other, Qt::CaseSensitivity case_sensitivity=Qt::CaseSensitive) const |
| Checks for equality to the other symbol. More...
|
|
bool | stateEquals (const Symbol *other) const |
| Checks protected/hidden state for equality to the other symbol. More...
|
|
Type | getType () const |
| Returns the type of the symbol. More...
|
|
const PointSymbol * | asPoint () const |
| Case to PointSymbol with type checking. More...
|
|
PointSymbol * | asPoint () |
| Case to PointSymbol with type checking. More...
|
|
const LineSymbol * | asLine () const |
| Case to LineSymbol with type checking. More...
|
|
LineSymbol * | asLine () |
| Case to LineSymbol with type checking. More...
|
|
const AreaSymbol * | asArea () const |
| Case to AreaSymbol with type checking. More...
|
|
AreaSymbol * | asArea () |
| Case to AreaSymbol with type checking. More...
|
|
const TextSymbol * | asText () const |
| Case to TextSymbol with type checking. More...
|
|
TextSymbol * | asText () |
| Case to TextSymbol with type checking. More...
|
|
const CombinedSymbol * | asCombined () const |
| Case to CombinedSymbol with type checking. More...
|
|
CombinedSymbol * | asCombined () |
| Case to CombinedSymbol with type checking. More...
|
|
virtual TypeCombination | getContainedTypes () const |
| Returns the combined bitmask of all symbol types this symbol contains. More...
|
|
bool | isTypeCompatibleTo (const Object *object) const |
| Checks if the symbol can be applied to the given object. More...
|
|
bool | numberEquals (const Symbol *other) const |
| Returns if the symbol numbers are exactly equal. More...
|
|
bool | numberEqualsRelaxed (const Symbol *other) const |
| Returns if the symbol numbers are equal, ignoring trailing zeros. More...
|
|
void | save (QXmlStreamWriter &xml, const Map &map) const |
| Saves the symbol in xml format. More...
|
|
virtual bool | loadingFinishedEvent (Map *map) |
| Called when loading the map is finished. More...
|
|
virtual void | createRenderables (const Object *object, const VirtualCoordVector &coords, ObjectRenderables &output, Symbol::RenderableOptions options) const =0 |
| Creates renderables for a generic object. More...
|
|
virtual void | createRenderables (const PathObject *object, const PathPartVector &path_parts, ObjectRenderables &output, Symbol::RenderableOptions options) const |
| Creates renderables for a path object. More...
|
|
virtual void | createBaselineRenderables (const PathObject *object, const PathPartVector &path_parts, ObjectRenderables &output, const MapColor *color) const |
| Creates baseline renderables for a path object. More...
|
|
virtual bool | symbolChangedEvent (const Symbol *old_symbol, const Symbol *new_symbol) |
| Called when a symbol was changed, replaced, or removed. More...
|
|
virtual bool | containsSymbol (const Symbol *symbol) const |
| Returns true if the given symbol is referenced by this symbol. More...
|
|
QImage | getCustomIcon () const |
| Returns the custom symbol icon. More...
|
|
void | setCustomIcon (const QImage &image) |
| Sets a custom symbol icon. More...
|
|
QImage | getIcon (const Map *map) const |
| Returns the symbol's icon. More...
|
|
QImage | createIcon (const Map &map, int side_length, bool antialiasing=true, qreal zoom=0) const |
| Creates a symbol icon with the given side length (pixels). More...
|
|
void | resetIcon () |
| Clear the symbol's cached icon. More...
|
|
virtual qreal | calculateLargestLineExtent () const |
| Returns the largest extent of all primitive lines which are part of the symbol. More...
|
|
const QString & | getName () const |
| Returns the symbol name. More...
|
|
QString | getPlainTextName () const |
| Returns the symbol name with all HTML markup stripped. More...
|
|
void | setName (const QString &new_name) |
| Sets the symbol name. More...
|
|
QString | getNumberAsString () const |
| Returns the symbol number as string. More...
|
|
int | getNumberComponent (int i) const |
| Returns the i-th component of the symbol number as int. More...
|
|
void | setNumberComponent (int i, int new_number) |
| Sets the i-th component of the symbol number. More...
|
|
const QString & | getDescription () const |
| Returns the symbol description. More...
|
|
void | setDescription (const QString &new_description) |
| Sets the symbol description. More...
|
|
bool | isHelperSymbol () const |
| Returns if this is a helper symbol (which is not printed in the final map). More...
|
|
void | setIsHelperSymbol (bool value) |
| Sets if this is a helper symbol, see isHelperSymbol(). More...
|
|
bool | isHidden () const |
| Returns if this symbol is hidden. More...
|
|
void | setHidden (bool value) |
| Sets the hidden state of this symbol. More...
|
|
bool | isProtected () const |
| Returns if this symbol is protected. More...
|
|
void | setProtected (bool value) |
| Sets the protected state of this symbol. More...
|
|
bool | isRotatable () const |
| Returns if objects with this symbol can be rotated in arbitrary directions. More...
|
|
|
enum | Type {
Point = 1,
Line = 2,
Area = 4,
Text = 8,
Combined = 16,
NoSymbol = 0,
AllSymbols = Point | Line | Area | Text | Combined
} |
| Enumeration of all possible symbol types. More...
|
|
enum | RenderableOption { RenderBaselines = 1 << 0,
RenderAreasHatched = 1 << 1,
RenderNormal = 0
} |
| RenderableOptions denominate variations in painting symbols. More...
|
|
template<class S > |
static std::unique_ptr< S > | duplicate (const S &s) |
| Duplicates a symbol. More...
|
|
static std::unique_ptr< Symbol > | load (QXmlStreamReader &xml, const Map &map, SymbolDictionary &symbol_dict, int version) |
| Load the symbol in xml format. More...
|
|
static std::unique_ptr< Symbol > | makeSymbolForType (Type type) |
| Returns a newly created symbol of the given type. More...
|
|
static bool | areTypesCompatible (Type a, Type b) |
| Returns if the symbol types can be applied to the same object types. More...
|
|
static TypeCombination | getCompatibleTypes (Type type) |
| Returns a bitmask of all types which can be applied to the same objects as the given type. More...
|
|
static bool | lessByNumber (const Symbol *s1, const Symbol *s2) |
| Compares two symbols by number. More...
|
|
static bool | lessByColorPriority (const Symbol *s1, const Symbol *s2) |
| Compares two symbols by the dominant colors' priorities. More...
|
|
static constexpr auto | number_components = 3u |
| Number of components of symbol numbers. More...
|
|
Symbol for PointObjects.
Apart from its own settings which are presented to the user as "[Midpoint
symbol]" in the point symbol editor, this class can contain a list of elements together with a symbol for each element. All elements and the PointObject's own settings make up the appearance of the point symbol. The reason the own settings are left in is just efficiency, as for some symbols like crop land, a really huge number of point objects may be generated.