source: pacpusframework/branches/2.0-beta1/include/extlib/qwtplot3d/qwt3d_label.h@ 89

Last change on this file since 89 was 89, checked in by morasjul, 11 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 2.3 KB
Line 
1#ifndef __LABELPIXMAP_H__
2#define __LABELPIXMAP_H__
3
4#include <qpixmap.h>
5#include <qimage.h>
6#include <qfont.h>
7#include <qpainter.h>
8#include <qfontmetrics.h>
9
10#include "qwt3d_drawable.h"
11
12namespace Qwt3D
13{
14
15//! A Qt string or an output device dependent string
16class QWT3D_EXPORT Label : public Drawable
17{
18
19public:
20
21 Label();
22 //! Construct label and initialize with font
23 Label(const QString & family, int pointSize, int weight = QFont::Normal, bool italic = false);
24
25 //! Sets the labels font
26 void setFont(QString const& family, int pointSize, int weight = QFont::Normal, bool italic = false);
27
28 void adjust(int gap); //!< Fine tunes label;
29 double gap() const {return gap_;} //!< Returns the gap caused by adjust();
30 void setPosition(Qwt3D::Triple pos, ANCHOR a = BottomLeft); //!< Sets the labels position
31 void setRelPosition(Tuple rpos, ANCHOR a); //!< Sets the labels position relative to screen
32 Qwt3D::Triple first() const { return beg_;} //!< Receives bottom left label position
33 Qwt3D::Triple second() const { return end_;} //!< Receives top right label position
34 ANCHOR anchor() const { return anchor_; } //!< Defines an anchor point for the labels surrounding rectangle
35 virtual void setColor(double r, double g, double b, double a = 1);
36 virtual void setColor(Qwt3D::RGBA rgba);
37
38 /*!
39 \brief Sets the labels string
40 For unicode labeling (<tt> QChar(0x3c0) </tt> etc.) please look at <a href="http://www.unicode.org/charts/">www.unicode.org</a>.
41 */
42 void setString(QString const& s);
43 void draw(); //!< Actual drawing
44
45 /**
46 \brief Decides about use of PDF standard fonts for PDF output
47 If true, Label can use one of the PDF standard fonts (unprecise positioning for now),
48 otherwise it dumps pixmaps in the PDF stream (poor quality)
49 */
50 static void useDeviceFonts(bool val);
51
52
53private:
54
55 Qwt3D::Triple beg_, end_, pos_;
56 QPixmap pm_;
57 QImage buf_, tex_;
58 QFont font_;
59 QString text_;
60
61 ANCHOR anchor_;
62
63 void init();
64 void init(const QString & family, int pointSize, int weight = QFont::Normal, bool italic = false);
65 void update(); //!< Enforces an update of the internal pixmap
66 void convert2screen();
67 double width() const;
68 double height() const;
69
70 int gap_;
71
72 bool flagforupdate_;
73
74 static bool devicefonts_;
75
76};
77
78} // ns
79
80#endif
Note: See TracBrowser for help on using the repository browser.