Quantum GIS API Documentation
1.7.5-Wroclaw
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
core
qgsdiagram.h
Go to the documentation of this file.
1
#ifndef QGSDIAGRAM_H
2
#define QGSDIAGRAM_H
3
4
#include "
qgsfeature.h
"
5
#include <QPen>
6
#include <QBrush>
7
8
class
QPainter;
9
class
QPointF;
10
struct
QgsDiagramSettings
;
11
12
class
QgsRenderContext
;
13
15
class
CORE_EXPORT
QgsDiagram
16
{
17
public
:
19
virtual
void
renderDiagram(
const
QgsAttributeMap
& att,
QgsRenderContext
& c,
const
QgsDiagramSettings
& s,
const
QPointF& position ) = 0;
20
virtual
QString diagramName()
const
= 0;
21
22
protected
:
23
void
setPenWidth( QPen& pen,
const
QgsDiagramSettings
& s,
const
QgsRenderContext
& c );
24
QSizeF sizePainterUnits(
const
QSizeF& size,
const
QgsDiagramSettings
& s,
const
QgsRenderContext
& c );
25
QFont scaledFont(
const
QgsDiagramSettings
& s,
const
QgsRenderContext
& c );
26
};
27
28
class
CORE_EXPORT
QgsTextDiagram
:
public
QgsDiagram
29
{
30
public
:
31
enum
Shape
32
{
33
Circle = 0,
34
Rectangle
,
35
Triangle
36
};
37
38
enum
Orientation
39
{
40
Horizontal = 0,
41
Vertical
42
};
43
44
QgsTextDiagram
();
45
~
QgsTextDiagram
();
46
void
renderDiagram
(
const
QgsAttributeMap
& att,
QgsRenderContext
& c,
const
QgsDiagramSettings
& s,
const
QPointF& position );
47
48
QString
diagramName
()
const
{
return
"Text"
; }
49
50
private
:
51
Orientation
mOrientation
;
52
Shape
mShape
;
53
QBrush
mBrush
;
//transparent brush
54
QPen
mPen
;
55
58
void
lineEllipseIntersection(
const
QPointF& lineStart,
const
QPointF& lineEnd,
const
QPointF& ellipseMid,
double
r1,
double
r2, QList<QPointF>& result )
const
;
59
};
60
61
class
CORE_EXPORT
QgsPieDiagram
:
public
QgsDiagram
62
{
63
public
:
64
QgsPieDiagram
();
65
~
QgsPieDiagram
();
66
67
void
renderDiagram
(
const
QgsAttributeMap
& att,
QgsRenderContext
& c,
const
QgsDiagramSettings
& s,
const
QPointF& position );
68
QString
diagramName
()
const
{
return
"Pie"
; }
69
70
private
:
71
QBrush
mCategoryBrush
;
72
QPen
mPen
;
73
};
74
75
#endif // QGSDIAGRAM_H
Generated on Thu Sep 19 2013 17:30:54 for Quantum GIS API Documentation by
1.8.4