00001 #ifndef STEMSMS_H 00002 #define STEMSMS_H 00003 #include "MusicSymbol.h" 00004 #include <qptrlist.h> 00009 class StemSupport{ 00010 00011 double y1; 00012 public: 00013 StemSupport(); 00014 StemSupport(double x,double y,QString type ,int d=1); 00015 int numberofbar; 00016 QString toString(); 00021 void setY1(double); 00022 double getY1(); 00027 double uppery,lowery; 00031 double x,y; 00032 void addY(double); 00033 int direction; 00034 QString type; 00035 00036 00037 }; 00042 class SimpleStemMS: public MusicSymbol{ 00047 static const double height=6; 00048 00049 StemSupport * stemSupport; 00050 public: 00051 SimpleStemMS(StemSupport *); 00052 void finalize(); 00053 void draw (Painter *) ; 00054 //QString name (); 00055 //QCoordsRect getBoundingBox (); 00056 Collider * getCollider(); 00057 }; 00058 00063 class GraceSimpleStemMS: public MusicSymbol{ 00068 static const double height=4; 00069 00070 StemSupport * stemSupport; 00071 public: 00072 GraceSimpleStemMS(StemSupport *); 00073 Collider * getCollider(); 00074 void draw (Painter *) ; 00075 void finalize(); 00076 }; 00094 class GroupedStemsMS: public MusicSymbol{ 00095 double getA(); 00096 double getMeanX(); 00097 double getMeanY(); 00098 double getB(); 00099 double getMinX(); 00100 double getMinY(); 00101 double getMaxY(); 00102 double getMaxX(); 00103 double getVarY(); 00104 bool finalized; 00108 double Acoef; 00109 double Bcoef; 00110 00111 bool isTuplet; 00112 QPtrList<StemSupport> stemSupports; 00113 public: 00114 void setTuplet(); 00115 void finalize(); 00116 Collider * getCollider(); 00117 GroupedStemsMS(); 00118 void addSupport(StemSupport *); 00119 void draw (Painter *) ; 00120 //QString name (); 00121 //QCoordsRect getBoundingBox (); 00122 QString toString(); 00123 00124 }; 00125 #endif
1.3.6