20#ifndef __VKOPAINTER_H__
21#define __VKOPAINTER_H__
28#include <koffice_export.h>
33struct _ArtGradientStop;
38class KARBONBASE_EXPORT VKoPainter : public VPainter
41 VKoPainter( TQPaintDevice *target, unsigned int w = 0, unsigned int h = 0, bool = true );
42 VKoPainter( unsigned char *buffer, unsigned int w = 0, unsigned int h = 0, bool = true );
43 virtual ~VKoPainter();
45 virtual void resize( unsigned int w, unsigned int h );
48 virtual void blit( const KoRect & );
50 virtual void clear( const TQColor & );
51 virtual void clear( const KoRect &, const TQColor & );
54 virtual void setWorldMatrix( const TQWMatrix & );
55 virtual const TQWMatrix worldMatrix() { return m_matrix; }
56 virtual void setZoomFactor( double );
57 virtual double zoomFactor() { return m_zoomFactor; }
60 virtual void moveTo( const KoPoint & );
61 virtual void lineTo( const KoPoint & );
62 virtual void curveTo( const KoPoint &, const KoPoint &, const KoPoint & );
63 virtual void newPath();
64 virtual void fillPath();
65 virtual void setFillRule( VFillRule );
66 virtual void strokePath();
67 virtual void setClipPath();
68 virtual void resetClipPath();
71 virtual void drawNode( const KoPoint& p, int width );
72 virtual void drawRect( const KoRect & );
73 virtual void drawRect( double, double, double, double );
76 virtual void setPen( const VStroke & );
77 virtual void setPen( const TQColor & );
78 virtual void setPen( TQt::PenStyle style );
79 virtual void setBrush( const VFill & );
80 virtual void setBrush( const TQColor & );
81 virtual void setBrush( TQt::BrushStyle style );
83 virtual void drawImage( const TQImage &, const TQWMatrix & );
87 virtual void restore();
90 virtual void setRasterOp( TQt::RasterOp );
92 virtual TQPaintDevice *device() { return m_target; }
93 unsigned char *buffer() { return m_buffer; }
96 void drawVPath( struct _ArtVpath * );
97 void applyGradient( _ArtSVP *, bool );
98 void applyPattern( _ArtSVP *, bool );
99 _ArtGradientStop *buildStopArray( VGradient &gradient, int & );
100 void clampToViewport( const _ArtSVP &, int &, int &, int &, int & );
101 void clampToViewport( int &, int &, int &, int & );
102 void ensureSpace( unsigned int );
105 struct _ArtBpath *m_path;
106 unsigned int m_index;
107 unsigned int m_alloccount;
108 unsigned char *m_buffer;
109 TQPaintDevice *m_target;
110 unsigned int m_width;
111 unsigned int m_height;
115 VFillRule m_fillRule;
117 TQPtrList<_ArtSVP> m_clipPaths;
|