libkpl
5.0
A Library for Graphical Presentation of Data Sets and Functions
Main Page
Namespaces
Classes
Files
File List
lib
psgraph.h
1
//
2
// C++ Interface: psgraph
3
//
4
// Description:
5
//
6
//
7
// Author: Werner Stille <kpl@werner-stille.de>, (C) 2017
8
//
9
// Copyright: See COPYING file that comes with this distribution
10
//
11
//
12
#ifndef PSGRAPH_H
13
#define PSGRAPH_H
14
15
#include <QPointF>
16
#include <QSizeF>
17
#include "textitem.h"
18
19
class
QGraphicsItem
;
20
class
QTextStream
;
21
class
ArcItem
;
22
class
ArrayItem
;
23
class
Array3DItem
;
24
class
ArrowItem
;
25
class
EllipseItem
;
26
class
FrameItem
;
27
class
FunItem
;
28
class
Fun3DItem
;
29
class
ImageItem
;
30
class
LegendItem
;
31
class
LineItem
;
32
class
ParFunItem
;
33
class
RectItem
;
34
class
ScaleBarItem
;
35
class
ScaledItem
;
36
class
SplineItem
;
37
class
TextItem
;
38
class
ThreeDItem
;
39
45
class
Q_DECL_EXPORT
PSGraph
46
{
47
public
:
56
PSGraph
(
QTextStream
* stream,
const
QList<QGraphicsItem*>
& list,
57
const
QSizeF
& size,
bool
landscape =
false
,
bool
eps =
true
);
67
PSGraph
(
QTextStream
* stream,
const
QSizeF
& size,
68
const
QPointF
& topRight =
QPointF
(),
69
const
QPointF
& bottomLeft =
QPointF
(),
bool
landscape =
false
,
70
bool
eps =
true
);
72
~
PSGraph
();
85
void
drawArray(
const
double
* x,
const
double
* y,
double
fx,
double
fy,
int
n,
86
KplItem::FillStyle
fillStyle =
KplItem::NoBrush
,
87
double
xOff = 0,
double
yOff = 0,
bool
clip =
true
);
92
void
drawItems(
const
QList<QGraphicsItem*>
& list);
100
void
drawText(
const
QString
& text,
double
x,
double
y,
101
TextItem::Alignment
alignment =
TextItem::AlignLeft
);
103
void
finish();
108
void
setColorData(
unsigned
color);
113
void
setDir(
double
dir);
119
double
setRelSize(
double
m_relSize);
121
static
const
double
pts
;
122
123
protected
:
133
void
cm2r(
double
xcm,
double
ycm,
double
fx,
double
fy,
double
* xu,
134
double
* yu)
const
;
139
void
draw3D(
ThreeDItem
* item);
144
void
drawArc(
ArcItem
* item);
149
void
drawArray(
ArrayItem
* item);
154
void
drawArray3D(
Array3DItem
* item);
159
void
drawArrow(
ArrowItem
* item);
164
void
drawEllipse(
EllipseItem
* item);
177
void
drawErrorBars(
const
double
* x,
const
double
* y,
const
double
* errors,
178
double
fx,
double
fy,
int
n,
double
xOff = 0,
179
double
yOff = 0,
bool
clip =
true
);
184
void
drawFrame(
FrameItem
* item);
189
void
drawFunc(
FunItem
* item);
194
void
drawFunc3D(
Fun3DItem
* item);
199
void
drawImage(
ImageItem
* item);
204
void
drawLegend(
LegendItem
* item);
209
void
drawLine(
LineItem
* item);
214
void
drawParFunc(
ParFunItem
* item);
219
void
drawRect(
RectItem
* item);
224
void
drawScaleBar(
ScaleBarItem
* item);
229
void
drawSpline(
SplineItem
* item);
234
void
drawText(
TextItem
* item);
241
void
labelX(
const
QString
& text,
int
exp,
bool
xTop);
248
void
labelY(
const
QString
& text,
int
exp,
bool
yRight);
256
void
prolog(
bool
landscape,
bool
eps,
257
const
QPointF
& topRight =
QPointF
(),
258
const
QPointF
& bottomLeft =
QPointF
());
263
void
psStr(
const
QString
& text);
265
void
resetDashOffset();
275
void
scale(
double
xMin,
double
xMax,
double
yMin,
double
yMax,
276
bool
logX =
false
,
bool
logY =
false
);
281
void
setColorFrame(
unsigned
color);
286
void
setColorGrid(
unsigned
color);
291
void
setProperties(
ScaledItem
* item);
296
void
setSymbol(
KplItem::Symbol
symbol);
304
void
window(
double
x0,
double
width,
double
y0,
double
height);
305
bool
m_logX, m_logY;
306
KplItem::Symbol
m_symbol;
307
double
m_x0, m_y0, m_width, m_height, m_xMin, m_yMin, m_xMax, m_yMax,
308
m_relSize;
309
QTextStream
* ts;
310
QSizeF
m_size;
311
};
312
313
#endif
ParFunItem
Parametric function item class.
Definition:
parfunitem.h:32
KplItem::FillStyle
FillStyle
Fill styles.
Definition:
kplitem.h:45
KplItem::Symbol
Symbol
Symbol types.
Definition:
kplitem.h:83
TextItem::Alignment
Alignment
Text alignment.
Definition:
textitem.h:33
QGraphicsItem
KplItem::NoBrush
No brush pattern.
Definition:
kplitem.h:46
QTextStream
RectItem
Rectangle item class.
Definition:
rectitem.h:28
QPointF
PSGraph
PS graphics class.
Definition:
psgraph.h:45
LegendItem
Legend item class.
Definition:
legenditem.h:36
ScaleBarItem
Scale bar item class.
Definition:
scalebaritem.h:29
TextItem
Text item class.
Definition:
textitem.h:29
ArrowItem
Arrow item class.
Definition:
arrowitem.h:31
QString
QList
TextItem::AlignLeft
Aligns at left side.
Definition:
textitem.h:34
FunItem
Function item class.
Definition:
funitem.h:39
QSizeF
SplineItem
Spline item class.
Definition:
splineitem.h:28
EllipseItem
Ellipse item class.
Definition:
ellipseitem.h:28
Array3DItem
3D arrayitem class.
Definition:
array3ditem.h:29
ImageItem
Image item class.
Definition:
imageitem.h:29
Fun3DItem
3D function item class.
Definition:
fun3ditem.h:28
ScaledItem
Scaled item class.
Definition:
scaleditem.h:24
ThreeDItem
3D item class.
Definition:
threeditem.h:30
LineItem
Line item class.
Definition:
lineitem.h:30
ArcItem
Arc item class.
Definition:
arcitem.h:28
FrameItem
Frame item class.
Definition:
frameitem.h:33
ArrayItem
Array item class.
Definition:
arrayitem.h:36
PSGraph::pts
static const double pts
Points per cm.
Definition:
psgraph.h:121
Generated by
1.8.11