Code

A simple layout document as to what, why and how is cppification.
[inkscape.git] / src / sp-line.h
1 #ifndef __SP_LINE_H__
2 #define __SP_LINE_H__
4 /*
5  * SVG <line> implementation
6  *
7  * Authors:
8  *   Lauris Kaplinski <lauris@kaplinski.com>
9  *
10  * Copyright (C) 1999-2002 Lauris Kaplinski
11  *
12  * Released under GNU GPL, read the file 'COPYING' for more information
13  */
15 #include "svg/svg-length.h"
16 #include "sp-shape.h"
20 #define SP_TYPE_LINE            (SPLine::sp_line_get_type ())
21 #define SP_LINE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_LINE, SPLine))
22 #define SP_LINE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_LINE, SPLineClass))
23 #define SP_IS_LINE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_LINE))
24 #define SP_IS_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_LINE))
26 class SPLine;
27 class SPLineClass;
29 //static void sp_line_class_init (SPLineClass *klass);
31 class SPLine : public SPShape {
32         public:
33                 SVGLength x1;
34                 SVGLength y1;
35                 SVGLength x2;
36                 SVGLength y2;
37                 static GType sp_line_get_type (void);
38         private:
39                 static void sp_line_init (SPLine *line);
41                 static void sp_line_build (SPObject * object, SPDocument * document, Inkscape::XML::Node * repr);
42                 static void sp_line_set (SPObject *object, unsigned int key, const gchar *value);
43                 static Inkscape::XML::Node *sp_line_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
45                 static gchar *sp_line_description (SPItem * item);
46                 static Geom::Matrix sp_line_set_transform(SPItem *item, Geom::Matrix const &xform);
48                 static void sp_line_update (SPObject *object, SPCtx *ctx, guint flags);
49                 static void sp_line_set_shape (SPShape *shape);
50                 static void sp_line_convert_to_guides(SPItem *item);
52                 friend class SPLineClass;
53 };
55 class SPLineClass {
56         public:
57                 SPShapeClass parent_class;
58         private:
59                 static SPShapeClass *static_parent_class;
60                 static void sp_line_class_init (SPLineClass *klass);
61         
62         friend class SPLine;
63 };
65 //GType sp_line_get_type (void);
69 #endif