00001 #ifndef NOTEHMS_H
00002 #define NOTEHMS_H
00003
00004 #include "MusicSymbol.h"
00005 #include "../kernel/Util.h"
00006 #include "StemsMS.h"
00007
00012 class NoteHMS:public SimpleMusicSymbol{
00013 bool dot;
00014 int leftRightShift;
00015 protected:
00016 int rightStem;
00017 int extraLine;
00018 StemSupport * stemSupport;
00019 public:
00020 NoteHMS(int,QString,double, double,int);
00021 void setExtraLine(int);
00022 void draw (Painter *);
00023 virtual Collider * getCollider();
00024 void setDot();
00025 void setRightStemX();
00026 void setLeftStemX();
00027 virtual double getLeftX();
00028 void setX(double);
00029 double getX();
00030 virtual double getRightX();
00031 virtual double getStemX();
00032 void setShift(int);
00033 virtual QString toString();
00034 void setStemSupport(StemSupport * );
00035 StemSupport * getStemSupport();
00036 };
00040 class WholeNoteHMS:public NoteHMS
00041 {
00042 public:
00043 WholeNoteHMS (float, float);
00044 };
00049 class HalfNoteHMS:public NoteHMS
00050 {
00051 public:
00052 HalfNoteHMS (float, float);
00053
00054 };
00058 class QuarterNoteHMS:public NoteHMS
00059 {
00060 public:
00061 QuarterNoteHMS (float, float);
00062 };
00063
00064 class EightNoteHMS:public NoteHMS
00065 {
00066 public:
00067 EightNoteHMS (float, float);
00068 };
00069
00070 class Note16thHMS:public NoteHMS
00071 {
00072 public:
00073 Note16thHMS (float, float);
00074 };
00075
00076 class GraceNoteHMS:public NoteHMS
00077 {
00078 public:
00079 GraceNoteHMS (float, float);
00080 void draw (Painter *);
00081 double getLeftX();
00082 double getRightX();
00083 double getStemX();
00084
00085 };
00086
00087
00088 #endif