|
Canorus
0.7
|
00001 00008 #ifndef DRAWABLEMUSELEMENT_H_ 00009 #define DRAWABLEMUSELEMENT_H_ 00010 00011 #include "drawable/drawable.h" 00012 00013 class CAMusElement; 00014 class CADrawableContext; 00015 00016 class CADrawableMusElement : public CADrawable { 00017 public: 00018 enum CADrawableMusElementType { 00019 DrawableNote, 00020 DrawableRest, 00021 DrawableClef, 00022 DrawableKeySignature, 00023 DrawableTimeSignature, 00024 DrawableBarline, 00025 DrawableAccidental, 00026 DrawableSlur, 00027 DrawableTuplet, 00028 DrawableSyllable, 00029 DrawableFunctionMark, DrawableFunctionMarkSupport, 00030 DrawableMark 00031 }; 00032 00033 CADrawableMusElement(CAMusElement *musElement, CADrawableContext *drawableContext, double x, double y); 00034 00035 CADrawableMusElementType drawableMusElementType() { return _drawableMusElementType; } 00036 inline CAMusElement *musElement() { return _musElement; } 00037 CADrawableContext *drawableContext() { return _drawableContext; } 00038 void setDrawableContext(CADrawableContext *context) { _drawableContext = context; } 00039 virtual CADrawableMusElement* clone(CADrawableContext* newContext = 0) = 0; 00040 00041 protected: 00042 void setDrawableMusElementType( CADrawableMusElementType t ) { _drawableMusElementType = t; } 00043 00044 CADrawableMusElementType _drawableMusElementType; // CADrawableMusElement type 00045 CADrawableContext *_drawableContext; 00046 CAMusElement *_musElement; 00047 bool _selectable; 00048 }; 00049 00050 #endif /* DRAWABLEMUSELEMENT_H_ */
1.8.0