Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
drawablefunctionmark.h
Go to the documentation of this file.
1 
8 #ifndef DRAWABLEFUNCTIONMARK_H_
9 #define DRAWABLEFUNCTIONMARK_H_
10 
12 #include "core/functionmark.h"
13 
14 class CAFunctionMark;
16 
18 public:
19  CADrawableFunctionMark(CAFunctionMark *function, CADrawableFunctionMarkContext *context, double x, double y);
21 
22  void draw(QPainter *p, const CADrawSettings s);
24 
27 
29  void setExtenderLineVisible(bool visible) { _extenderLineVisible = visible; }
31  void setExtenderLineOnly( bool line ) { _extenderLineOnly = line; }
32 
33 private:
34  bool _extenderLineVisible; // Should the function draw a horizontal line until the end of the function
35  QString _text; // Function transformed to String which is rendered then
36  bool _extenderLineOnly; // Only extender line should be rendered over the whole width of the function
37 };
38 
40 public:
42  Key,
48  };
49  // Key constructor
50  CADrawableFunctionMarkSupport(CADrawableFunctionMarkSupportType, const QString key, CADrawableContext *c, double x, double y);
51  // Rectangle, ChordArea, Tonicization, Ellipse constructor
53  // Alterations consructor
55 
57 
58  void draw(QPainter *p, const CADrawSettings s);
61 
63  void setExtenderLineVisible(bool visible) { _extenderLineVisible = visible; }
64  bool rectWider() { return _rectWider; }
65  void setRectWider(bool wider) { if (!_rectWider) { _rectWider = wider; _yPos -= 3; _height += 6; } }
66 
67 private:
69  QString _key;
70  CADrawableFunctionMark *_function1, *_function2; // Tonicization's start/end functions
71  bool _extenderLineVisible; // Extender line when tonicization used after
72  bool _rectWider; // Is rectangle wider in height. Default: false. Useful when doing a series of modulations where you don't know which rectangle belongs to which function. Every 2nd rectangle is then a bit higher than the others.
73 };
74 
75 #endif /* DRAWABLEFUNCTIONMARK_H_ */
Definition: drawablefunctionmark.h:43
Rectangles, key names, numbers below/above function, lines etc. Support class which draws the key of ...
Definition: drawablefunctionmark.h:39
bool _extenderLineVisible
Definition: drawablefunctionmark.h:34
void setRectWider(bool wider)
Definition: drawablefunctionmark.h:65
Definition: drawablefunctionmark.h:44
Definition: drawablecontext.h:18
CADrawableFunctionMarkSupportType drawableFunctionMarkSupportType()
Definition: drawablefunctionmark.h:60
void draw(QPainter *p, const CADrawSettings s)
Definition: drawablefunctionmark.cpp:87
virtual CADrawable * clone()
Definition: drawable.cpp:23
bool rectWider()
Definition: drawablefunctionmark.h:64
CADrawableContext * _drawableContext
Definition: drawablemuselement.h:45
Definition: drawablefunctionmarkcontext.h:15
Definition: drawable.h:16
QString _text
Definition: drawablefunctionmark.h:35
void draw(QPainter *p, const CADrawSettings s)
Definition: drawablefunctionmark.cpp:248
CADrawableFunctionMark * _function2
Definition: drawablefunctionmark.h:70
bool isExtenderLineVisible()
Definition: drawablefunctionmark.h:28
QString _key
Definition: drawablefunctionmark.h:69
Definition: drawablefunctionmark.h:45
double _height
Definition: drawable.h:89
bool isExtenderLineVisible()
Definition: drawablefunctionmark.h:62
void setExtenderLineVisible(bool visible)
Definition: drawablefunctionmark.h:29
The drawable instance of the function mark. These music elements are ordinary music elements selectab...
Definition: drawablefunctionmark.h:17
Definition: drawablemuselement.h:16
CAFunctionMark * functionMark()
Definition: drawablefunctionmark.h:25
bool _rectWider
Definition: drawablefunctionmark.h:72
CADrawableFunctionMarkSupportType
Definition: drawablefunctionmark.h:41
CADrawableFunctionMarkSupport(CADrawableFunctionMarkSupportType, const QString key, CADrawableContext *c, double x, double y)
Definition: drawablefunctionmark.cpp:125
void setExtenderLineOnly(bool line)
Definition: drawablefunctionmark.h:31
bool _extenderLineOnly
Definition: drawablefunctionmark.h:36
CADrawableFunctionMarkContext * drawableFunctionMarkContext()
Definition: drawablefunctionmark.h:26
Definition: drawablefunctionmark.h:42
CADrawableFunctionMark * _function1
Definition: drawablefunctionmark.h:70
void setExtenderLineVisible(bool visible)
Definition: drawablefunctionmark.h:63
CAMusElement * _musElement
Definition: drawablemuselement.h:46
CADrawableFunctionMarkSupportType _drawableFunctionMarkSupportType
Definition: drawablefunctionmark.h:68
bool isExtenderLineOnly()
Definition: drawablefunctionmark.h:30
bool _extenderLineVisible
Definition: drawablefunctionmark.h:71
double _yPos
Definition: drawable.h:87
Definition: drawablefunctionmark.h:47
Represents a function mark in the score.
Definition: functionmark.h:18
Definition: drawablefunctionmark.h:46
~CADrawableFunctionMark()
Definition: drawablefunctionmark.cpp:83
~CADrawableFunctionMarkSupport()
Definition: drawablefunctionmark.cpp:245
CADrawableFunctionMark(CAFunctionMark *function, CADrawableFunctionMarkContext *context, double x, double y)
Definition: drawablefunctionmark.cpp:23