00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _KOWMFREAD_H_
00019 #define _KOWMFREAD_H_
00020
00021 #include <qpen.h>
00022 #include <qbrush.h>
00023 #include <qfont.h>
00024 #include <qcolor.h>
00025 #include <qrect.h>
00026 #include <qregion.h>
00027 #include <qimage.h>
00028 #include <qwmatrix.h>
00029 #include <qstring.h>
00030 #include <qptrlist.h>
00031 #include <qpointarray.h>
00032
00033 #include <../kofficecore/koffice_export.h>
00034 class KoWmfReadPrivate;
00035
00046 class KOWMF_EXPORT KoWmfRead
00047 {
00048 public:
00049 KoWmfRead();
00050 virtual ~KoWmfRead();
00051
00055 virtual bool load( const QString& fileName );
00056 virtual bool load( const QByteArray& array );
00057
00061 virtual bool play( );
00062
00066 bool isStandard( void ) const;
00067 bool isPlaceable( void ) const;
00068 bool isEnhanced( void ) const;
00069 bool isValid( void ) const;
00070
00077 virtual QRect boundingRect( void ) const;
00078
00083 int defaultDpi( void ) const;
00084
00090 void setDebug( int nbFunc );
00091
00092
00093
00094
00095 virtual bool begin() = 0;
00096 virtual bool end() = 0;
00097 virtual void save() = 0;
00098 virtual void restore() = 0;
00099
00100
00101 virtual void setFont( const QFont & ) = 0;
00102
00103 virtual void setPen( const QPen &p ) = 0;
00104 virtual const QPen &pen() const = 0;
00105 virtual void setBrush( const QBrush & ) = 0;
00106
00107
00108 virtual void setBackgroundColor( const QColor & ) = 0;
00109 virtual void setBackgroundMode( Qt::BGMode ) = 0;
00110 virtual void setRasterOp( Qt::RasterOp ) = 0;
00111
00112
00113
00114
00115 virtual void setWindowOrg( int left, int top ) = 0;
00116 virtual void setWindowExt( int width, int height ) = 0;
00117
00118
00119
00120
00121 virtual void setClipRegion( const QRegion & ) = 0;
00122 virtual QRegion clipRegion() = 0;
00123
00124
00125 virtual void moveTo( int x, int y ) = 0;
00126 virtual void lineTo( int x, int y ) = 0;
00127 virtual void drawRect( int x, int y, int w, int h ) = 0;
00128 virtual void drawRoundRect( int x, int y, int w, int h, int = 25, int = 25 ) = 0;
00129 virtual void drawEllipse( int x, int y, int w, int h ) = 0;
00130 virtual void drawArc( int x, int y, int w, int h, int a, int alen ) = 0;
00131 virtual void drawPie( int x, int y, int w, int h, int a, int alen ) = 0;
00132 virtual void drawChord( int x, int y, int w, int h, int a, int alen ) = 0;
00133 virtual void drawPolyline( const QPointArray &pa ) = 0;
00134 virtual void drawPolygon( const QPointArray &pa, bool winding=FALSE ) = 0;
00135
00136
00137 virtual void drawPolyPolygon( QPtrList<QPointArray>& listPa, bool winding=FALSE ) = 0;
00138 virtual void drawImage( int x, int y, const QImage &, int sx = 0, int sy = 0, int sw = -1, int sh = -1 ) = 0;
00139
00140
00141
00142
00143 virtual void drawText( int x, int y, int w, int h, int flags, const QString &s, double rotation ) = 0;
00144
00145
00146 virtual void setWorldMatrix( const QWMatrix &, bool combine=FALSE ) = 0;
00147
00148 private:
00149 KoWmfReadPrivate *mKwmf;
00150
00151 };
00152
00153 #endif
00154