rock_widget_collection  0.1
DrawItem.h
Go to the documentation of this file.
1 /*
2  * File: DrawItem.h
3  * Author: blueck
4  *
5  * Created on 24. Juni 2010, 13:10
6  */
7 
8 #include <QtGui/QColor>
9 #include <QtGui/QPainter>
10 #include <QtOpenGL/QGLWidget>
11 
12 #ifndef DRAWITEM_H
13 #define DRAWITEM_H
14 
15 
20 
28 class DrawItem : public QObject
29 {
30  public:
38  DrawItem(int posX, int posY, int groupNr, const QColor &color);
39 
43  virtual ~DrawItem() {};
44 
49  virtual DrawType getType() = 0;
50 
55  virtual void draw(QPainter* painter,QRectF &source,QRectF &target) = 0;
56 
57  bool operator==(const DrawItem &other)
58  {
59  return (getID() == other.getID());
60  }
61 
62  virtual void renderOnGl(QGLWidget &widget,QRectF &source,QRectF &target){};
63 
64 
65  Q_OBJECT
66  public slots:
71  int getPosX(){return posX;};
72 
77  int getPosY(){return posY;};
78 
83  int getGroupNr(){return groupNr;}
84 
89  QColor getColor(){return color;};
90 
95  void setPosX(int posX) {this->posX = posX;};
96 
101  void setPosY(int posY) {this->posY = posY;};
102 
107  void setGroupNr(int groupNr) {this->groupNr = groupNr;};
108 
113  void setColor(const QColor &color) {this->color = color;};
114 
119  int getLineWidth() {return lineWidth;};
120 
125  Qt::PenStyle getPenStyle() {return penStyle;};
126 
131  Qt::PenCapStyle getPenCapStyle() {return penCapStyle;};
132 
138  void setLineWidth(int lineWidth) {this->lineWidth = lineWidth;};
139 
144  void setPenStyle(Qt::PenStyle penStyle) {this->penStyle = penStyle;};
145 
150  void setPenCapStyle(Qt::PenCapStyle penCapStyle) {this->penCapStyle = penCapStyle;};
151 
152  int getID() const
153  {
154  return m_id;
155  };
156 
157  void openGL(bool value)
158  {
159  brender_on_opengl = value;
160  };
161 
162  bool onOpenGL(){return brender_on_opengl;};
163 
169  void setPosFactor(float fx, float fy){position_factor_x=fx;position_factor_y=fy;};
170 
171 protected:
173  int groupNr;
178  void addPenStyle(QPainter* painter);
180  int posX;
182  int posY;
184  QColor color;
188  Qt::PenCapStyle penCapStyle;
190  Qt::PenStyle penStyle;
191  int m_id;
192  static int _ID;
195 
197 };
198 
199 #endif /* DRAWITEM_H */
200 
bool onOpenGL()
Definition: DrawItem.h:162
virtual ~DrawItem()
Definition: DrawItem.h:43
void addPenStyle(QPainter *painter)
Definition: DrawItem.cc:27
DrawItem(int posX, int posY, int groupNr, const QColor &color)
Definition: DrawItem.cc:11
int getLineWidth()
Definition: DrawItem.h:119
static int _ID
Definition: DrawItem.h:192
bool operator==(const DrawItem &other)
Definition: DrawItem.h:57
DrawType
Definition: DrawItem.h:19
int posY
Definition: DrawItem.h:182
Definition: DrawItem.h:19
void setPosY(int posY)
Definition: DrawItem.h:101
void setPosX(int posX)
Definition: DrawItem.h:95
int posX
Definition: DrawItem.h:180
void setGroupNr(int groupNr)
Definition: DrawItem.h:107
int m_id
Definition: DrawItem.h:191
virtual void draw(QPainter *painter, QRectF &source, QRectF &target)=0
Qt::PenCapStyle penCapStyle
Definition: DrawItem.h:188
int lineWidth
Definition: DrawItem.h:186
Qt::PenStyle getPenStyle()
Definition: DrawItem.h:125
virtual void renderOnGl(QGLWidget &widget, QRectF &source, QRectF &target)
Definition: DrawItem.h:62
void setColor(const QColor &color)
Definition: DrawItem.h:113
Qt::PenStyle penStyle
Definition: DrawItem.h:190
bool brender_on_opengl
Definition: DrawItem.h:196
int getID() const
Definition: DrawItem.h:152
int getGroupNr()
Definition: DrawItem.h:83
virtual DrawType getType()=0
float position_factor_y
Definition: DrawItem.h:194
Definition: DrawItem.h:19
void setPosFactor(float fx, float fy)
Definition: DrawItem.h:169
void setPenStyle(Qt::PenStyle penStyle)
Definition: DrawItem.h:144
QColor getColor()
Definition: DrawItem.h:89
void openGL(bool value)
Definition: DrawItem.h:157
int groupNr
Definition: DrawItem.h:169
float position_factor_x
Definition: DrawItem.h:193
int getPosX()
Definition: DrawItem.h:71
void setLineWidth(int lineWidth)
Definition: DrawItem.h:138
Qt::PenCapStyle getPenCapStyle()
Definition: DrawItem.h:131
QColor color
Definition: DrawItem.h:184
Definition: DrawItem.h:19
void setPenCapStyle(Qt::PenCapStyle penCapStyle)
Definition: DrawItem.h:150
Definition: DrawItem.h:19
int getPosY()
Definition: DrawItem.h:77