QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
src
core
diagram
qgstextdiagram.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgstextdiagram.h
3
---------------------
4
begin : March 2011
5
copyright : (C) 2011 by Marco Hugentobler
6
email : marco dot hugentobler at sourcepole dot ch
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
#ifndef QGSTEXTDIAGRAM_H
16
#define QGSTEXTDIAGRAM_H
17
18
#define DIAGRAM_NAME_TEXT "Text"
19
20
#include "qgis_core.h"
21
#include "
qgis.h
"
22
#include "
qgsdiagram.h
"
23
#include <QPen>
24
#include <QBrush>
25
26
class
QPainter;
27
class
QPointF;
28
class
QgsDiagramSettings
;
29
class
QgsDiagramInterpolationSettings
;
30
class
QgsFeature
;
31
class
QgsRenderContext
;
32
37
class
CORE_EXPORT
QgsTextDiagram
:
public
QgsDiagram
SIP_NODEFAULTCTORS
38
{
39
public
:
40
enum
Shape
41
{
42
Circle = 0,
43
Rectangle
,
44
Triangle
45
};
46
47
enum
Orientation
48
{
49
Horizontal = 0,
50
Vertical
51
};
52
53
QgsTextDiagram
();
54
QgsTextDiagram
*
clone
() const override
SIP_FACTORY
;
55
56
void
renderDiagram( const
QgsFeature
&feature,
QgsRenderContext
&
c
, const
QgsDiagramSettings
&s, QPointF position ) override;
57
58
QSizeF diagramSize( const
QgsAttributes
&attributes, const
QgsRenderContext
&
c
, const
QgsDiagramSettings
&s ) override;
59
QSizeF diagramSize( const
QgsFeature
&feature, const
QgsRenderContext
&
c
, const
QgsDiagramSettings
&s, const
QgsDiagramInterpolationSettings
&is ) override;
60
double
legendSize(
double
value, const
QgsDiagramSettings
&s, const
QgsDiagramInterpolationSettings
&is ) const override;
61
62
QString diagramName() const override;
63
64
private:
65
Orientation mOrientation = Vertical;
66
Shape mShape = Circle;
67
QBrush mBrush;
//transparent brush
68
QPen mPen;
69
74
void
lineEllipseIntersection( QPointF lineStart, QPointF lineEnd, QPointF ellipseMid,
double
r1,
double
r2, QList<QPointF> &result ) const;
75
};
76
77
#endif // QGSTEXTDIAGRAM_H
QgsDiagram
Base class for all diagram types.
Definition:
qgsdiagram.h:40
QgsDiagram::clone
virtual QgsDiagram * clone() const =0
Returns an instance that is equivalent to this one.
QgsTextDiagram::Shape
Shape
Definition:
qgstextdiagram.h:41
QgsTextDiagram::Rectangle
@ Rectangle
Definition:
qgstextdiagram.h:43
qgis.h
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:58
qgsdiagram.h
SIP_FACTORY
#define SIP_FACTORY
Definition:
qgis_sip.h:76
QgsTextDiagram
Definition:
qgstextdiagram.h:38
QgsDiagramInterpolationSettings
Additional diagram settings for interpolated size rendering.
Definition:
qgsdiagramrenderer.h:662
SIP_NODEFAULTCTORS
#define SIP_NODEFAULTCTORS
Definition:
qgis_sip.h:101
c
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Definition:
porting_processing.dox:1
QgsAttributes
A vector of attributes.
Definition:
qgsattributes.h:58
QgsFeature
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition:
qgsfeature.h:56
QgsTextDiagram::Orientation
Orientation
Definition:
qgstextdiagram.h:48
QgsDiagramSettings
Stores the settings for rendering a single diagram.
Definition:
qgsdiagramrenderer.h:381
Generated on Sat Oct 24 2020 17:43:09 for QGIS API Documentation by
1.8.20