Code

Fix change in revision 9947 to be consistent with rest of the codebase.
[inkscape.git] / src / sp-ellipse.h
1 #ifndef __SP_ELLIPSE_H__
2 #define __SP_ELLIPSE_H__
4 /*
5  * SVG <ellipse> and related implementations
6  *
7  * Authors:
8  *   Lauris Kaplinski <lauris@kaplinski.com>
9  *   Mitsuru Oka
10  *
11  * Copyright (C) 1999-2002 Lauris Kaplinski
12  * Copyright (C) 2000-2001 Ximian, Inc.
13  *
14  * Released under GNU GPL, read the file 'COPYING' for more information
15  */
17 #include "svg/svg-length.h"
18 #include "sp-shape.h"
20 /* Common parent class */
22 #define SP_TYPE_GENERICELLIPSE (sp_genericellipse_get_type ())
23 #define SP_GENERICELLIPSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_GENERICELLIPSE, SPGenericEllipse))
24 #define SP_GENERICELLIPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_GENERICELLIPSE, SPGenericEllipseClass))
25 #define SP_IS_GENERICELLIPSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_GENERICELLIPSE))
26 #define SP_IS_GENERICELLIPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_GENERICELLIPSE))
28 class SPGenericEllipse;
29 class SPGenericEllipseClass;
31 struct SPGenericEllipse : public SPShape {
32         SVGLength cx;
33         SVGLength cy;
34         SVGLength rx;
35         SVGLength ry;
37         unsigned int closed : 1;
38         double start, end;
39 };
41 struct SPGenericEllipseClass {
42         SPShapeClass parent_class;
43 };
45 GType sp_genericellipse_get_type (void);
47 /* This is technically priate by we need this in object edit (Lauris) */
48 void sp_genericellipse_normalize (SPGenericEllipse *ellipse);
50 /* SVG <ellipse> element */
52 #define SP_TYPE_ELLIPSE (sp_ellipse_get_type ())
53 #define SP_ELLIPSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ELLIPSE, SPEllipse))
54 #define SP_ELLIPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_ELLIPSE, SPEllipseClass))
55 #define SP_IS_ELLIPSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ELLIPSE))
56 #define SP_IS_ELLIPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_ELLIPSE))
58 struct SPEllipse : public SPGenericEllipse {
59 };
61 struct SPEllipseClass {
62         SPGenericEllipseClass parent_class;
63 };
65 GType sp_ellipse_get_type (void);
67 void sp_ellipse_position_set (SPEllipse * ellipse, gdouble x, gdouble y, gdouble rx, gdouble ry);
69 /* SVG <circle> element */
71 #define SP_TYPE_CIRCLE (sp_circle_get_type ())
72 #define SP_CIRCLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CIRCLE, SPCircle))
73 #define SP_CIRCLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_CIRCLE, SPCircleClass))
74 #define SP_IS_CIRCLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CIRCLE))
75 #define SP_IS_CIRCLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_CIRCLE))
77 struct SPCircle : public SPGenericEllipse {
78 };
80 struct SPCircleClass {
81         SPGenericEllipseClass parent_class;
82 };
84 GType sp_circle_get_type (void);
86 /* <path sodipodi:type="arc"> element */
88 #define SP_TYPE_ARC (sp_arc_get_type ())
89 #define SP_ARC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ARC, SPArc))
90 #define SP_ARC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_ARC, SPArcClass))
91 #define SP_IS_ARC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ARC))
92 #define SP_IS_ARC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_ARC))
94 struct SPArc : public SPGenericEllipse {
95 };
97 struct SPArcClass {
98         SPGenericEllipseClass parent_class;
99 };
101 GType sp_arc_get_type (void);
102 void sp_arc_position_set (SPArc * arc, gdouble x, gdouble y, gdouble rx, gdouble ry);
103 Geom::Point sp_arc_get_xy (SPArc *ge, gdouble arg);
105 #endif