00001 #ifndef PAINTER_H
00002 #define PAINTER_H
00003 #include "QCoordsRect.h"
00004 #include <qpainter.h>
00005 #include <qfont.h>
00006 #include <qstring.h>
00016 #define FONTTIMES 0
00017 #define FONTARIAL 1
00018
00019 #include "../MS/MetricsMS.h"
00028 class Painter
00029 {
00030 public:
00035 virtual void setFTSize(int)=0;
00036 virtual void setFTFont(int)=0;
00041 virtual void setTextAlign(int)=0;
00042 virtual void drawFTSymbol (int nglyph, float xpos, float ypos)=0;
00043 virtual void drawFTSymbolEnc (unsigned long code, float xpos, float ypos,int)=0;
00044
00048 virtual void setFontFamily (int)=0;
00052 virtual void setFontSize (double)=0;
00056 virtual void setFont (QFont)=0;
00063 virtual void drawText (double x, double y, QString text)=0;
00064
00068 virtual void drawNoteLine (float xpos, float ypos, int height)=0;
00072 virtual void drawLine(double x1, double y1, double x2, double y2)=0;
00076 virtual void drawStemBar (double x1, double y1, double x2, double y2)=0;
00080 virtual void drawBrace (double x, double y, double h)=0;
00084 virtual void drawSlur(double x1, double y1, double x2, double y2,int d)=0;
00088 virtual void drawRect (double x1, double y1, double x2, double y2)=0;
00092 virtual void drawEllipse (float x1, float y1, float x2, float y2)=0;
00096 virtual void end()=0;
00100 virtual void begin()=0;
00104 virtual QCoordsRect
00105 getBoundingBox (int nglyph)=0;
00109 virtual void setBrush(Qt::BrushStyle )=0;
00113 virtual void newPage();
00117 virtual bool isPrinter();
00122 virtual void setPenColor(const QColor&)=0;
00126 virtual void setBrush(const QColor&)=0;
00130 virtual void setPen(Qt::PenStyle)=0;
00134 virtual void setPen(const QColor&)=0;
00135 };
00136 #endif