Canorus 0.0
drawablefunctionmark.h
Go to the documentation of this file.
1
8#ifndef DRAWABLEFUNCTIONMARK_H_
9#define DRAWABLEFUNCTIONMARK_H_
10
12#include "score/functionmark.h"
13
14class CAFunctionMark;
16
18public:
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
33private:
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
40public:
48 };
49 // Key constructor
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
67private:
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: drawablecontext.h:18
Definition: drawablefunctionmarkcontext.h:15
Rectangles, key names, numbers below/above function, lines etc. Support class which draws the key of ...
Definition: drawablefunctionmark.h:39
CADrawableFunctionMark * _function1
Definition: drawablefunctionmark.h:70
void setExtenderLineVisible(bool visible)
Definition: drawablefunctionmark.h:63
QString _key
Definition: drawablefunctionmark.h:69
bool _extenderLineVisible
Definition: drawablefunctionmark.h:71
CADrawableFunctionMark * _function2
Definition: drawablefunctionmark.h:70
CADrawableFunctionMarkSupportType
Definition: drawablefunctionmark.h:41
@ Key
Definition: drawablefunctionmark.h:42
@ Tonicization
Definition: drawablefunctionmark.h:45
@ ChordArea
Definition: drawablefunctionmark.h:44
@ Rectangle
Definition: drawablefunctionmark.h:43
@ Ellipse
Definition: drawablefunctionmark.h:46
@ Alterations
Definition: drawablefunctionmark.h:47
CADrawableFunctionMarkSupport(CADrawableFunctionMarkSupportType, const QString key, CADrawableContext *c, double x, double y)
Definition: drawablefunctionmark.cpp:130
void setRectWider(bool wider)
Definition: drawablefunctionmark.h:65
bool _rectWider
Definition: drawablefunctionmark.h:72
bool rectWider()
Definition: drawablefunctionmark.h:64
CADrawableFunctionMarkSupportType _drawableFunctionMarkSupportType
Definition: drawablefunctionmark.h:68
CADrawableFunctionMarkSupportType drawableFunctionMarkSupportType()
Definition: drawablefunctionmark.h:60
bool isExtenderLineVisible()
Definition: drawablefunctionmark.h:62
~CADrawableFunctionMarkSupport()
Definition: drawablefunctionmark.cpp:257
void draw(QPainter *p, const CADrawSettings s)
Definition: drawablefunctionmark.cpp:260
The drawable instance of the function mark. These music elements are ordinary music elements selectab...
Definition: drawablefunctionmark.h:17
bool isExtenderLineOnly()
Definition: drawablefunctionmark.h:30
bool _extenderLineOnly
Definition: drawablefunctionmark.h:36
CAFunctionMark * functionMark()
Definition: drawablefunctionmark.h:25
QString _text
Definition: drawablefunctionmark.h:35
void setExtenderLineOnly(bool line)
Definition: drawablefunctionmark.h:31
void setExtenderLineVisible(bool visible)
Definition: drawablefunctionmark.h:29
~CADrawableFunctionMark()
Definition: drawablefunctionmark.cpp:88
bool isExtenderLineVisible()
Definition: drawablefunctionmark.h:28
CADrawableFunctionMarkContext * drawableFunctionMarkContext()
Definition: drawablefunctionmark.h:26
CADrawableFunctionMark(CAFunctionMark *function, CADrawableFunctionMarkContext *context, double x, double y)
Definition: drawablefunctionmark.cpp:24
void draw(QPainter *p, const CADrawSettings s)
Definition: drawablefunctionmark.cpp:92
bool _extenderLineVisible
Definition: drawablefunctionmark.h:34
Definition: drawablemuselement.h:16
CADrawableContext * _drawableContext
Definition: drawablemuselement.h:47
CAMusElement * _musElement
Definition: drawablemuselement.h:48
double _height
Definition: drawable.h:89
virtual CADrawable * clone()
Definition: drawable.cpp:23
double _yPos
Definition: drawable.h:87
Represents a function mark in the score.
Definition: functionmark.h:18
Definition: drawable.h:16