|
Canorus
0.7
|
00001 00008 #ifndef DRAWABLESLUR_H_ 00009 #define DRAWABLESLUR_H_ 00010 00011 #include "drawable/drawablemuselement.h" 00012 #include "core/slur.h" 00013 00014 class CASlur; 00015 00016 class CADrawableSlur : public CADrawableMusElement { 00017 public: 00018 CADrawableSlur( CASlur *slur, CADrawableContext *c, double x1, double y1, double xMid, double yMid, double x2, double y2 ); 00019 virtual ~CADrawableSlur(); 00020 00021 CASlur *slur() { return static_cast<CASlur*>(_musElement); } 00022 00023 void draw(QPainter *p, const CADrawSettings s); 00024 CADrawableSlur *clone(CADrawableContext* newContext = 0); 00025 00026 inline double x1() { return _x1; } 00027 inline double y1() { return _y1; } 00028 inline double xMid() { return _xMid; } 00029 inline double yMid() { return _yMid; } 00030 inline double x2() { return _x2; } 00031 inline double y2() { return _y2; } 00032 inline void setX1(double x1) { _x1 = x1; updateGeometry(); } 00033 inline void setY1( double y1 ) { _y1 = y1; updateGeometry(); } 00034 inline void setXMid( double xMid ) { _xMid = xMid; updateGeometry(); } 00035 inline void setYMid( double yMid ) { _yMid = yMid; updateGeometry(); } 00036 inline void setX2( double x2) { _x2 = x2; updateGeometry(); } 00037 inline void setY2( double y2 ) { _y2 = y2; updateGeometry(); } 00038 00039 private: 00040 void updateGeometry(); 00041 00042 double min(double, double, double); 00043 double max(double, double, double); 00044 double _x1; 00045 double _y1; 00046 double _xMid; 00047 double _yMid; 00048 double _x2; 00049 double _y2; 00050 }; 00051 00052 #endif /* DRAWABLESLUR_H_ */
1.8.0