add new sigc++2 directory
[ardour.git] / libs / libgnomecanvasmm / libgnomecanvasmm / shape.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _LIBGNOMECANVASMM_SHAPE_H
4 #define _LIBGNOMECANVASMM_SHAPE_H
5
6 #include <glibmm.h>
7
8 // -*- C++ -*-
9 /* $Id$ */
10
11 /* shape.h
12  *
13  *
14  * Copyright (C) 2002 The libgnomecanvasmm Development Team
15  *
16  * This library is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU Library General Public
18  * License as published by the Free Software Foundation; either
19  * version 2 of the License, or (at your option) any later version.
20  *
21  * This library is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24  * Library General Public License for more details.
25  *
26  * You should have received a copy of the GNU Library General Public
27  * License along with this library; if not, write to the Free
28  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29  */
30
31 #include <libgnomecanvasmm/item.h>
32 #include <libgnomecanvas/gnome-canvas-shape.h>
33 #include <libart_lgpl/art_vpath_dash.h> //For ArtVpathDash
34
35
36 #ifndef DOXYGEN_SHOULD_SKIP_THIS
37 typedef struct _GnomeCanvasShape GnomeCanvasShape;
38 typedef struct _GnomeCanvasShapeClass GnomeCanvasShapeClass;
39 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
40
41
42 namespace Gnome
43 {
44
45 namespace Canvas
46 { class Shape_Class; } // namespace Canvas
47
48 } // namespace Gnome
49 namespace Gnome
50 {
51
52 namespace Canvas
53 {
54
55
56 class Shape : public Item
57 {
58   public:
59 #ifndef DOXYGEN_SHOULD_SKIP_THIS
60   typedef Shape CppObjectType;
61   typedef Shape_Class CppClassType;
62   typedef GnomeCanvasShape BaseObjectType;
63   typedef GnomeCanvasShapeClass BaseClassType;
64 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
65
66   virtual ~Shape();
67
68 #ifndef DOXYGEN_SHOULD_SKIP_THIS
69
70 private:
71   friend class Shape_Class;
72   static CppClassType shape_class_;
73
74   // noncopyable
75   Shape(const Shape&);
76   Shape& operator=(const Shape&);
77
78 protected:
79   explicit Shape(const Glib::ConstructParams& construct_params);
80   explicit Shape(GnomeCanvasShape* castitem);
81
82 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
83
84 public:
85 #ifndef DOXYGEN_SHOULD_SKIP_THIS
86   static GType get_type()      G_GNUC_CONST;
87   static GType get_base_type() G_GNUC_CONST;
88 #endif
89
90   ///Provides access to the underlying C GtkObject.
91   GnomeCanvasShape*       gobj()       { return reinterpret_cast<GnomeCanvasShape*>(gobject_); }
92
93   ///Provides access to the underlying C GtkObject.
94   const GnomeCanvasShape* gobj() const { return reinterpret_cast<GnomeCanvasShape*>(gobject_); }
95
96
97 public:
98   //C++ methods used to invoke GTK+ virtual functions:
99
100 protected:
101   //GTK+ Virtual Functions (override these to change behaviour):
102
103   //Default Signal Handlers::
104
105
106 private:
107
108   
109 public:
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_WriteOnly<Glib::ustring> property_fill_color() ;
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<Glib::ustring> property_fill_color() const;
126
127   /** 
128    *
129    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
130    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
131    * the value of the property changes.
132    */
133   Glib::PropertyProxy<Gdk::Color> property_fill_color_gdk() ;
134
135 /** 
136    *
137    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
138    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
139    * the value of the property changes.
140    */
141   Glib::PropertyProxy_ReadOnly<Gdk::Color> property_fill_color_gdk() const;
142
143   /** 
144    *
145    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
146    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
147    * the value of the property changes.
148    */
149   Glib::PropertyProxy<guint> property_fill_color_rgba() ;
150
151 /** 
152    *
153    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
154    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
155    * the value of the property changes.
156    */
157   Glib::PropertyProxy_ReadOnly<guint> property_fill_color_rgba() const;
158
159   /** 
160    *
161    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
162    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
163    * the value of the property changes.
164    */
165   Glib::PropertyProxy_WriteOnly<Glib::ustring> property_outline_color() ;
166
167 /** 
168    *
169    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
170    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
171    * the value of the property changes.
172    */
173   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_outline_color() const;
174
175   /** 
176    *
177    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
178    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
179    * the value of the property changes.
180    */
181   Glib::PropertyProxy<Gdk::Color> property_outline_color_gdk() ;
182
183 /** 
184    *
185    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
186    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
187    * the value of the property changes.
188    */
189   Glib::PropertyProxy_ReadOnly<Gdk::Color> property_outline_color_gdk() const;
190
191   /** 
192    *
193    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
194    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
195    * the value of the property changes.
196    */
197   Glib::PropertyProxy<guint> property_outline_color_rgba() ;
198
199 /** 
200    *
201    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
202    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
203    * the value of the property changes.
204    */
205   Glib::PropertyProxy_ReadOnly<guint> property_outline_color_rgba() const;
206
207   /** 
208    *
209    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
210    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
211    * the value of the property changes.
212    */
213   Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() ;
214
215 /** 
216    *
217    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
218    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
219    * the value of the property changes.
220    */
221   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() const;
222
223   /** 
224    *
225    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
226    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
227    * the value of the property changes.
228    */
229   Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > property_outline_stipple() ;
230
231 /** 
232    *
233    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
234    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
235    * the value of the property changes.
236    */
237   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> > property_outline_stipple() const;
238
239   /** 
240    *
241    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
242    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
243    * the value of the property changes.
244    */
245   Glib::PropertyProxy<guint> property_width_pixels() ;
246
247 /** 
248    *
249    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
250    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
251    * the value of the property changes.
252    */
253   Glib::PropertyProxy_ReadOnly<guint> property_width_pixels() const;
254
255   /** 
256    *
257    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
258    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
259    * the value of the property changes.
260    */
261   Glib::PropertyProxy_WriteOnly<double> property_width_units() ;
262
263 /** 
264    *
265    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
266    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
267    * the value of the property changes.
268    */
269   Glib::PropertyProxy_ReadOnly<double> property_width_units() const;
270
271   /** 
272    *
273    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
274    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
275    * the value of the property changes.
276    */
277   Glib::PropertyProxy<Gdk::CapStyle> property_cap_style() ;
278
279 /** 
280    *
281    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
282    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
283    * the value of the property changes.
284    */
285   Glib::PropertyProxy_ReadOnly<Gdk::CapStyle> property_cap_style() const;
286
287   /** 
288    *
289    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
290    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
291    * the value of the property changes.
292    */
293   Glib::PropertyProxy<Gdk::JoinStyle> property_join_style() ;
294
295 /** 
296    *
297    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
298    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
299    * the value of the property changes.
300    */
301   Glib::PropertyProxy_ReadOnly<Gdk::JoinStyle> property_join_style() const;
302
303   /** 
304    *
305    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
306    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
307    * the value of the property changes.
308    */
309   Glib::PropertyProxy<guint> property_wind() ;
310
311 /** 
312    *
313    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
314    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
315    * the value of the property changes.
316    */
317   Glib::PropertyProxy_ReadOnly<guint> property_wind() const;
318
319   /** 
320    *
321    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
322    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
323    * the value of the property changes.
324    */
325   Glib::PropertyProxy<double> property_miterlimit() ;
326
327 /** 
328    *
329    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
330    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
331    * the value of the property changes.
332    */
333   Glib::PropertyProxy_ReadOnly<double> property_miterlimit() const;
334
335   /** 
336    *
337    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
338    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
339    * the value of the property changes.
340    */
341   Glib::PropertyProxy<ArtVpathDash*> property_dash() ;
342
343 /** 
344    *
345    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
346    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
347    * the value of the property changes.
348    */
349   Glib::PropertyProxy_ReadOnly<ArtVpathDash*> property_dash() const;
350  //TODO: Look at ArtVpathDash to see if it should be wrapped.
351
352
353 };
354
355 } /* namespace Canvas */
356 } /* namespace Gnome */
357
358 namespace Glib
359 {
360   /** @relates Gnome::Canvas::Shape
361    * @param object The C instance
362    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
363    * @result A C++ instance that wraps this C instance.
364    */
365   Gnome::Canvas::Shape* wrap(GnomeCanvasShape* object, bool take_copy = false);
366 }
367 #endif /* _LIBGNOMECANVASMM_SHAPE_H */
368