kpresenter
KPrBezierCurveObject.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef kpcubicbeziercurveobject_h
00023 #define kpcubicbeziercurveobject_h
00024
00025 #include "KPrPointObject.h"
00026
00027 class QPainter;
00028 class DCOPObject;
00029
00030 class KPrBezierCurveObject : public KPrPointObject
00031 {
00032 public:
00033 KPrBezierCurveObject();
00034 KPrBezierCurveObject( const KoPointArray &_controlPoints, const KoPointArray &_allPoints, const KoSize & _size,
00035 const KoPen &_pen, LineEnd _lineBegin, LineEnd _lineEnd );
00036 virtual ~KPrBezierCurveObject() {}
00037
00038 virtual QDomDocumentFragment save( QDomDocument& doc,double offset );
00039
00040 virtual double load( const QDomElement &element );
00041 virtual void loadOasis( const QDomElement &element, KoOasisContext & context, KPrLoadingInfo* info );
00042
00043 virtual void flip(bool horizontal );
00044
00045 static KoPointArray bezier2polyline( const KoPointArray &bezierPoints );
00046
00047 protected:
00048 virtual const char * getOasisElementName() const;
00049 virtual bool saveOasisObjectAttributes( KPOasisSaveContext &sc ) const;
00050
00051 virtual void updatePoints( double _fx, double _fy );
00052 virtual KoPointArray getDrawingPoints() const;
00053
00054 KoPointArray allPoints;
00055
00056 private:
00057
00058 KPrBezierCurveObject &operator=( const KPrBezierCurveObject & );
00059 };
00060
00061
00062 class KPrCubicBezierCurveObject : public KPrBezierCurveObject
00063 {
00064 public:
00065 KPrCubicBezierCurveObject();
00066 KPrCubicBezierCurveObject( const KoPointArray &_controlPoints, const KoPointArray &_allPoints, const KoSize & _size,
00067 const KoPen &_pen, LineEnd _lineBegin, LineEnd _lineEnd );
00068 virtual ~KPrCubicBezierCurveObject() {}
00069
00070 virtual DCOPObject* dcopObject();
00071
00072 virtual ObjType getType() const { return OT_CUBICBEZIERCURVE; }
00073 virtual QString getTypeString() const { return i18n( "Cubic Bezier Curve" ); }
00074 };
00075
00076 class KPrQuadricBezierCurveObject : public KPrBezierCurveObject
00077 {
00078 public:
00079 KPrQuadricBezierCurveObject();
00080 KPrQuadricBezierCurveObject( const KoPointArray &_controlPoints, const KoPointArray &_allPoints, const KoSize & _size,
00081 const KoPen &_pen, LineEnd _lineBegin, LineEnd _lineEnd );
00082 virtual ~KPrQuadricBezierCurveObject() {}
00083
00084 virtual DCOPObject* dcopObject();
00085
00086 virtual ObjType getType() const { return OT_CUBICBEZIERCURVE; }
00087 virtual QString getTypeString() const { return i18n( "Quadric Bezier Curve" ); }
00088 };
00089
00090 #endif
|