Scribus
Open source desktop publishing at your fingertips
pageitem_spiral.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 /***************************************************************************
8  pageitem.h - description
9  -------------------
10  copyright : Scribus Team
11  ***************************************************************************/
12 
13 /***************************************************************************
14  * *
15  * This program is free software; you can redistribute it and/or modify *
16  * it under the terms of the GNU General Public License as published by *
17  * the Free Software Foundation; either version 2 of the License, or *
18  * (at your option) any later version. *
19  * *
20  ***************************************************************************/
21 
22 #ifndef PAGEITEM_SPIRAL_H
23 #define PAGEITEM_SPIRAL_H
24 
25 #include <QString>
26 #include <QRectF>
27 
28 #include "scribusapi.h"
29 #include "pageitem.h"
30 class ScPainter;
31 class ScribusDoc;
32 
33 
34 class SCRIBUS_API PageItem_Spiral : public PageItem
35 {
36  Q_OBJECT
37 
38 public:
39  PageItem_Spiral(ScribusDoc *pa, double x, double y, double w, double h, double w2, QString fill, QString outline);
40  PageItem_Spiral(const PageItem & p) : PageItem(p) {}
41  ~PageItem_Spiral() {};
42 
43  virtual PageItem_Spiral * asSpiral() { return this; }
44  virtual bool isSpiral() const { return true; }
45  virtual ItemType realItemType() const { return PageItem::Spiral; }
46  virtual void applicableActions(QStringList& actionList);
47  virtual QString infoDescription();
48  void recalcPath();
49  double spiralStartAngle;
50  double spiralEndAngle;
51  double spiralFactor;
52 
53  virtual void getBoundingRect(double *x1, double *y1, double *x2, double *y2) const;
54  virtual void getVisualBoundingRect(double *x1, double *y1, double *x2, double *y2) const;
55 
56 protected:
57  virtual void DrawObj_Item(ScPainter *p, QRectF e);
58 
59 };
60 
61 #endif
Definition: pageitem_spiral.h:34
double spiralFactor
angle the spiral spans
Definition: pageitem_spiral.h:51
double spiralEndAngle
angle where the spiral starts
Definition: pageitem_spiral.h:50
the Document Class
Definition: scribusdoc.h:90
Definition: scpainter.h:33
virtual ItemType realItemType() const
Get the subclass item type.
Definition: pageitem_spiral.h:45
virtual PageItem_Spiral * asSpiral()
Return self if Spiral item, otherwise null.
Definition: pageitem_spiral.h:43
virtual bool isSpiral() const
Return true if Spiral item, otherwise false.
Definition: pageitem_spiral.h:44
ItemType
Item Type.
Definition: pageitem.h:174
Definition: pageitem.h:92