add new sigc++2 directory
[ardour.git] / libs / libgnomecanvasmm / libgnomecanvasmm / polygon.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _LIBGNOMECANVASMM_POLYGON_H
4 #define _LIBGNOMECANVASMM_POLYGON_H
5
6 #include <glibmm.h>
7
8 /* $Id$ */
9
10
11 /* polygon.hg
12  * 
13  * Copyright (C) 1999 The Gtk-- Development Team
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Library General Public
17  * License as published by the Free Software Foundation; either
18  * version 2 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23  * Library General Public License for more details.
24  *
25  * You should have received a copy of the GNU Library General Public
26  * License along with this library; if not, write to the Free
27  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28  */
29
30 #include <libgnomecanvasmm/shape.h>
31 #include <libgnomecanvasmm/line.h>
32 #include <libgnomecanvas/gnome-canvas-polygon.h>
33
34
35 #ifndef DOXYGEN_SHOULD_SKIP_THIS
36 typedef struct _GnomeCanvasPolygon GnomeCanvasPolygon;
37 typedef struct _GnomeCanvasPolygonClass GnomeCanvasPolygonClass;
38 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
39
40
41 namespace Gnome
42 {
43
44 namespace Canvas
45 { class Polygon_Class; } // namespace Canvas
46
47 } // namespace Gnome
48 namespace Gnome
49 {
50
51 namespace Canvas
52 {
53
54
55 class Polygon : public Shape
56 {
57   public:
58 #ifndef DOXYGEN_SHOULD_SKIP_THIS
59   typedef Polygon CppObjectType;
60   typedef Polygon_Class CppClassType;
61   typedef GnomeCanvasPolygon BaseObjectType;
62   typedef GnomeCanvasPolygonClass BaseClassType;
63 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
64
65   virtual ~Polygon();
66
67 #ifndef DOXYGEN_SHOULD_SKIP_THIS
68
69 private:
70   friend class Polygon_Class;
71   static CppClassType polygon_class_;
72
73   // noncopyable
74   Polygon(const Polygon&);
75   Polygon& operator=(const Polygon&);
76
77 protected:
78   explicit Polygon(const Glib::ConstructParams& construct_params);
79   explicit Polygon(GnomeCanvasPolygon* castitem);
80
81 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
82
83 public:
84 #ifndef DOXYGEN_SHOULD_SKIP_THIS
85   static GType get_type()      G_GNUC_CONST;
86   static GType get_base_type() G_GNUC_CONST;
87 #endif
88
89   ///Provides access to the underlying C GtkObject.
90   GnomeCanvasPolygon*       gobj()       { return reinterpret_cast<GnomeCanvasPolygon*>(gobject_); }
91
92   ///Provides access to the underlying C GtkObject.
93   const GnomeCanvasPolygon* gobj() const { return reinterpret_cast<GnomeCanvasPolygon*>(gobject_); }
94
95
96 public:
97   //C++ methods used to invoke GTK+ virtual functions:
98
99 protected:
100   //GTK+ Virtual Functions (override these to change behaviour):
101
102   //Default Signal Handlers::
103
104
105 private:
106
107 public:
108   Polygon(Group& parent, const Points& points);
109   explicit Polygon(Group& parent);
110
111   /** 
112    *
113    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
114    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
115    * the value of the property changes.
116    */
117   Glib::PropertyProxy<Points> property_points() ;
118
119 /** 
120    *
121    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
122    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
123    * the value of the property changes.
124    */
125   Glib::PropertyProxy_ReadOnly<Points> property_points() const;
126
127
128 };
129
130 } /* namespace Canvas */
131 } /* namespace Gnome */
132
133
134 namespace Glib
135 {
136   /** @relates Gnome::Canvas::Polygon
137    * @param object The C instance
138    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
139    * @result A C++ instance that wraps this C instance.
140    */
141   Gnome::Canvas::Polygon* wrap(GnomeCanvasPolygon* object, bool take_copy = false);
142 }
143 #endif /* _LIBGNOMECANVASMM_POLYGON_H */
144