karbon

vellipse.h
1/* This file is part of the KDE project
2 Copyright (C) 2001, 2002, 2003 The Karbon Developers
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef __VELLIPSE_H__
21#define __VELLIPSE_H__
22
23#include "vcomposite.h"
24#include <koffice_export.h>
25
26class KARBONBASE_EXPORT VEllipse : public VPath
27{
28public:
29 enum VEllipseType
30 {
31 full,
32 section,
33 cut,
34 arc
35 };
36 VEllipse( VObject* parent, VState state = edit );
37 VEllipse( VObject* parent,
38 const KoPoint& topLeft, double width, double height,
39 VEllipseType type = full, double startAngle = 0, double endAngle = 0 );
40
41 virtual TQString name() const;
42
43 virtual void save( TQDomElement& element ) const;
44 virtual void saveOasis( KoStore *store, KoXmlWriter *docWriter, KoGenStyles &mainStyles, int &index ) const;
45 virtual void load( const TQDomElement& element );
46 virtual bool loadOasis( const TQDomElement &element, KoOasisLoadingContext &context );
47
48 virtual VPath* clone() const;
49
50protected:
51 void init();
52
53private:
54 VEllipseType m_type;
55 KoPoint m_center;
56 double m_rx;
57 double m_ry;
58 double m_startAngle;
59 double m_endAngle;
60};
61
62#endif
63
virtual TQString name() const
Returns the name of the object.
Definition vobject.cpp:225
A composite path consists of one or many subpaths.
Definition vcomposite.h:48
virtual bool loadOasis(const TQDomElement &element, KoOasisLoadingContext &context)
Load this object's state from OpenDocument and initialize this object accordingly.
virtual void saveOasis(KoStore *store, KoXmlWriter *docWriter, KoGenStyles &mainStyles, int &index) const
Save this object's state to OpenDocument.
virtual void load(const TQDomElement &element)
Load this object's state from xml and initialize this object accordingly.
virtual void save(TQDomElement &element) const
Save this object's state to xml.
virtual VPath * clone() const
Create an exact copy of this object.