QGIS API Documentation 3.29.0-Master (8c80f25a4f)
qgslegendpatchshape.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslegendpatchshape.h
3 -------------------
4begin : April 2020
5copyright : (C) 2020 by Nyall Dawson
6email : nyall dot dawson at gmail dot com
7***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17#ifndef QGSLEGENDPATCHSHAPE_H
18#define QGSLEGENDPATCHSHAPE_H
19
20#include "qgis_core.h"
21#include "qgis_sip.h"
22#include "qgis.h"
23#include "qgsgeometry.h"
24
26
33class CORE_EXPORT QgsLegendPatchShape
34{
35 public:
36
44
57 const QgsGeometry &geometry,
58 bool preserveAspectRatio = true );
59
64 bool isNull() const;
65
71 Qgis::SymbolType symbolType() const;
72
78 void setSymbolType( Qgis::SymbolType type );
79
85 QgsGeometry geometry() const;
86
105 void setGeometry( const QgsGeometry &geometry );
106
113 bool preserveAspectRatio() const;
114
123 void setPreserveAspectRatio( bool preserve );
124
134 bool scaleToOutputSize() const;
135
145 void setScaleToOutputSize( bool scale );
146
154 QgsGeometry scaledGeometry( QSizeF size ) const;
155
161 QList< QList< QPolygonF > > toQPolygonF( Qgis::SymbolType type, QSizeF size ) const;
162
167 void readXml( const QDomElement &element, const QgsReadWriteContext &context );
168
173 void writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context ) const;
174
175 private:
177 QgsGeometry mGeometry;
178 bool mPreserveAspectRatio = true;
179 bool mScaleToTargetSize = true;
180
181};
182
183#endif // QGSLEGENDPATCHSHAPE_H
SymbolType
Symbol types.
Definition: qgis.h:206
@ Fill
Fill symbol.
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:164
Represents a patch shape for use in map legends.
QgsLegendPatchShape()=default
Constructor for a null QgsLegendPatchShape.
The class is used as a container of context for various read/write operations on other objects.