QGIS API Documentation
3.6.0-Noosa (5873452)
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
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
73
void
lineEllipseIntersection( QPointF lineStart, QPointF lineEnd, QPointF ellipseMid,
double
r1,
double
r2, QList<QPointF> &result ) const;
74
};
75
76
#endif // QGSTEXTDIAGRAM_H
QgsTextDiagram::Shape
Shape
Definition:
qgstextdiagram.h:40
QgsTextDiagram::Rectangle
Definition:
qgstextdiagram.h:43
QgsFeature
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition:
qgsfeature.h:55
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
qgsdiagram.h
SIP_FACTORY
#define SIP_FACTORY
Definition:
qgis_sip.h:69
QgsTextDiagram
Definition:
qgstextdiagram.h:37
QgsDiagram
Base class for all diagram types.
Definition:
qgsdiagram.h:38
QgsTextDiagram::Orientation
Orientation
Definition:
qgstextdiagram.h:47
QgsDiagram::clone
virtual QgsDiagram * clone() const =0
Returns an instance that is equivalent to this one.
QgsDiagramInterpolationSettings
Additional diagram settings for interpolated size rendering.
Definition:
qgsdiagramrenderer.h:489
QgsRenderContext
Contains information about the context of a rendering operation.
Definition:
qgsrendercontext.h:50
qgis.h
QgsAttributes
A vector of attributes.
Definition:
qgsattributes.h:57
QgsDiagramSettings
Stores the settings for rendering a single diagram.
Definition:
qgsdiagramrenderer.h:378
Generated on Sat Feb 23 2019 03:59:22 for QGIS API Documentation by
1.8.13