00001 #ifndef MUSICSYMBOLFACTORY_H
00002 #define MUSICSYMBOLFACTORY_H
00003 #include "MusicSymbol.h"
00004 #include "MusicSymbol2.h"
00005 #include "MeasureMS.h"
00006 #include "RestMS.h"
00007 #include "ClefMS.h"
00008 #include "NoteHMS.h"
00009 #include "../graphical/Constraint.h"
00010 #include "../kernel/Util.h"
00011 #include "../kernel/MeasureInserter.h"
00012 #include "../kernel/TimeMC.h"
00013 #include "../kernel/NoteMC.h"
00014 #include "../kernel/DirectionMC.h"
00015
00016 #define LINEHEIGHT 1
00017
00037 class MusicSymbolFactory
00038 {
00039 Constraint * constraint;
00040 int measureSectionIndex;
00041 public:
00042 double getNoteY(int noteHalfLine);
00043 void setMeasureSectionIndex(int);
00044
00045
00046 MusicSymbol * buildConstraint (MeasureInserter *, double x = 0, double y = 0,double width=-1,double height=0);
00047 MusicSymbolFactory (Constraint *);
00048 MusicSymbol * buildConstraintWithOtherAttributes (MeasureInserter *, double x = 0, double y = 0,double width=-1,double height=0);
00049 MusicSymbol * buildAttribute (MeasureInserter *, double x = 0, double y = 0,bool small=0);
00050 MusicSymbol * buildTimedClef (MeasureInserter *, double x,double y);
00051 MusicSymbol * buildAlteration (PitchedNoteMusic *, double x , double y,int fifth);
00052 MusicSymbol * buildLyric (LyricNoteMusic *, double y);
00053 MusicSymbol * buildNote (NoteMusic *, double y = 0);
00054 MusicSymbol * buildDirection (DirectionMC *, double x, double y);
00055 MusicSymbol * buildNoteWithOtherAttributes (NoteMusic *, double x = 0, double y = 0);
00056
00057
00058 };
00059 #endif