karbon
vshadowdecorator.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __VSHADOWDECORATOR_H__
00021 #define __VSHADOWDECORATOR_H__
00022
00023
00024 #include "vobject.h"
00025 #include <koffice_export.h>
00026
00029 class KARBONBASE_EXPORT VShadowDecorator : public VObject
00030 {
00031 public:
00032 VShadowDecorator( VObject* object, VObject* parent, int distance = 2, int angle = 0, float opacity = 1.0 );
00033 VShadowDecorator( const VShadowDecorator& obj );
00034
00035 virtual ~VShadowDecorator();
00036
00037 virtual void draw( VPainter* , const KoRect* = 0L ) const;
00038
00039 virtual const KoRect& boundingBox() const { return m_object->boundingBox(); }
00040 VStroke* stroke() const { return m_object->stroke(); }
00041 virtual void setStroke( const VStroke& stroke );
00042 VFill* fill() const { return m_object->fill(); }
00043 virtual void setFill( const VFill& fill );
00044
00045 virtual void accept( VVisitor& );
00046
00047 virtual void save( QDomElement& ) const;
00048 virtual void load( const QDomElement& ) {}
00049
00050 virtual VObject* clone() const;
00051
00052 VState state() const { return m_state; }
00053 virtual void setState( const VState state );
00054
00055 void setShadow( int distance = 2, int angle = 0, float opacity = 1.0 );
00056 protected:
00057 VObject *m_object;
00058 int m_distance;
00059 int m_angle;
00060 float m_opacity;
00061 };
00062
00063 #endif
00064
|