Canorus  0.0
drawableslur.h
Go to the documentation of this file.
1 
8 #ifndef DRAWABLESLUR_H_
9 #define DRAWABLESLUR_H_
10 
12 #include "score/slur.h"
13 
14 class CASlur;
15 
17 public:
18  CADrawableSlur( CASlur *slur, CADrawableContext *c, double x1, double y1, double xMid, double yMid, double x2, double y2 );
19  virtual ~CADrawableSlur();
20 
21  CASlur *slur() { return static_cast<CASlur*>(_musElement); }
22 
23  void draw(QPainter *p, const CADrawSettings s);
24  CADrawableSlur *clone(CADrawableContext* newContext = 0);
25 
26  inline double x1() { return _x1; }
27  inline double y1() { return _y1; }
28  inline double xMid() { return _xMid; }
29  inline double yMid() { return _yMid; }
30  inline double x2() { return _x2; }
31  inline double y2() { return _y2; }
32  inline void setX1(double x1) { _x1 = x1; updateGeometry(); }
33  inline void setY1( double y1 ) { _y1 = y1; updateGeometry(); }
34  inline void setXMid( double xMid ) { _xMid = xMid; updateGeometry(); }
35  inline void setYMid( double yMid ) { _yMid = yMid; updateGeometry(); }
36  inline void setX2( double x2) { _x2 = x2; updateGeometry(); }
37  inline void setY2( double y2 ) { _y2 = y2; updateGeometry(); }
38 
39 private:
40  void updateGeometry();
41 
42  double min(double, double, double);
43  double max(double, double, double);
44  double _x1;
45  double _y1;
46  double _xMid;
47  double _yMid;
48  double _x2;
49  double _y2;
50 };
51 
52 #endif /* DRAWABLESLUR_H_ */
CADrawSettings::x
int x
Definition: drawable.h:18
CADrawableSlur::~CADrawableSlur
virtual ~CADrawableSlur()
Definition: drawableslur.cpp:28
CADrawableSlur::xMid
double xMid()
Definition: drawableslur.h:28
CADrawableSlur::yMid
double yMid()
Definition: drawableslur.h:29
CADrawableMusElement
Definition: drawablemuselement.h:16
CASlur::SlurSolid
@ SlurSolid
Definition: slur.h:29
CADrawableSlur::max
double max(double, double, double)
Definition: drawableslur.cpp:54
CADrawableSlur::y2
double y2()
Definition: drawableslur.h:31
CADrawable::setNeededSpaceWidth
void setNeededSpaceWidth(double width)
Definition: drawable.h:75
CADrawable::xPos
double xPos() const
Definition: drawable.h:55
slur.h
CADrawable::setWidth
void setWidth(double width)
Definition: drawable.h:73
CADrawableSlur::updateGeometry
void updateGeometry()
Definition: drawableslur.cpp:31
CASlur::Undefined
@ Undefined
Definition: slur.h:28
CADrawable::setXPos
void setXPos(double xPos)
Definition: drawable.h:71
CADrawableSlur::x2
double x2()
Definition: drawableslur.h:30
CASlur::SlurDotted
@ SlurDotted
Definition: slur.h:30
CADrawableSlur::min
double min(double, double, double)
Definition: drawableslur.cpp:42
CADrawableSlur::y1
double y1()
Definition: drawableslur.h:27
CADrawableSlur::draw
void draw(QPainter *p, const CADrawSettings s)
Definition: drawableslur.cpp:63
CADrawSettings
Definition: drawable.h:16
CADrawableSlur::slur
CASlur * slur()
Definition: drawableslur.h:21
CADrawableSlur::setY1
void setY1(double y1)
Definition: drawableslur.h:33
CADrawable::setHeight
void setHeight(double height)
Definition: drawable.h:74
CADrawable::yPos
double yPos() const
Definition: drawable.h:56
drawablemuselement.h
CADrawableSlur
Definition: drawableslur.h:16
CADrawableSlur::_x2
double _x2
Definition: drawableslur.h:48
CADrawable::setYPos
void setYPos(double yPos)
Definition: drawable.h:72
CADrawable::clone
virtual CADrawable * clone()
Definition: drawable.cpp:23
CADrawableSlur::setYMid
void setYMid(double yMid)
Definition: drawableslur.h:35
drawableslur.h
CADrawableSlur::_xMid
double _xMid
Definition: drawableslur.h:46
CADrawableSlur::setXMid
void setXMid(double xMid)
Definition: drawableslur.h:34
CADrawSettings::color
QColor color
Definition: drawable.h:22
CADrawableMusElement::_musElement
CAMusElement * _musElement
Definition: drawablemuselement.h:48
CADrawableMusElement::setDrawableMusElementType
void setDrawableMusElementType(CADrawableMusElementType t)
Definition: drawablemuselement.h:44
CADrawableSlur::x1
double x1()
Definition: drawableslur.h:26
CADrawSettings::y
int y
Definition: drawable.h:19
CADrawable::width
double width() const
Definition: drawable.h:57
CADrawableSlur::setX1
void setX1(double x1)
Definition: drawableslur.h:32
CADrawableContext
Definition: drawablecontext.h:18
CADrawableSlur::CADrawableSlur
CADrawableSlur(CASlur *slur, CADrawableContext *c, double x1, double y1, double xMid, double yMid, double x2, double y2)
Definition: drawableslur.cpp:12
CADrawableSlur::_y2
double _y2
Definition: drawableslur.h:49
CADrawableSlur::_x1
double _x1
Definition: drawableslur.h:44
CADrawableMusElement::DrawableSlur
@ DrawableSlur
Definition: drawablemuselement.h:27
CADrawableSlur::setX2
void setX2(double x2)
Definition: drawableslur.h:36
CADrawableMusElement::drawableContext
CADrawableContext * drawableContext()
Definition: drawablemuselement.h:39
CADrawableSlur::setY2
void setY2(double y2)
Definition: drawableslur.h:37
CADrawSettings::z
float z
Definition: drawable.h:17
CADrawableSlur::_yMid
double _yMid
Definition: drawableslur.h:47
CADrawable::setNeededSpaceHeight
void setNeededSpaceHeight(double height)
Definition: drawable.h:76
CASlur
Slur, Tie, Phrasing slur and Laissez vibrer tie This class represents any type of slur....
Definition: slur.h:18
CADrawableSlur::_y1
double _y1
Definition: drawableslur.h:45