Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
/home/iurt/rpm/BUILD/canorus-0.7.R1002/src/drawable/drawablemuselement.h
Go to the documentation of this file.
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_ */