2 // Generated by gtkmmproc -- DO NOT MODIFY!
13 * Copyright (C) 1998-2002 The gtkmm Development Team
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.
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.
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.
30 #include <glibmm/arrayhandle.h>
31 #include <gtkmm/box.h>
32 #include <gtkmm/drawingarea.h>
35 #ifndef DOXYGEN_SHOULD_SKIP_THIS
36 typedef struct _GtkCurve GtkCurve;
37 typedef struct _GtkCurveClass GtkCurveClass;
38 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
42 { class Curve_Class; } // namespace Gtk
43 #ifndef DOXYGEN_SHOULD_SKIP_THIS
44 typedef struct _GtkGammaCurve GtkGammaCurve;
45 typedef struct _GtkGammaCurveClass GtkGammaCurveClass;
46 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
50 { class GammaCurve_Class; } // namespace Gtk
54 /** Allows direct editing of a curve.
59 class Curve : public DrawingArea
62 #ifndef DOXYGEN_SHOULD_SKIP_THIS
63 typedef Curve CppObjectType;
64 typedef Curve_Class CppClassType;
65 typedef GtkCurve BaseObjectType;
66 typedef GtkCurveClass BaseClassType;
67 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
71 #ifndef DOXYGEN_SHOULD_SKIP_THIS
74 friend class Curve_Class;
75 static CppClassType curve_class_;
79 Curve& operator=(const Curve&);
82 explicit Curve(const Glib::ConstructParams& construct_params);
83 explicit Curve(GtkCurve* castitem);
85 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
88 #ifndef DOXYGEN_SHOULD_SKIP_THIS
89 static GType get_type() G_GNUC_CONST;
90 static GType get_base_type() G_GNUC_CONST;
93 ///Provides access to the underlying C GtkObject.
94 GtkCurve* gobj() { return reinterpret_cast<GtkCurve*>(gobject_); }
96 ///Provides access to the underlying C GtkObject.
97 const GtkCurve* gobj() const { return reinterpret_cast<GtkCurve*>(gobject_); }
101 //C++ methods used to invoke GTK+ virtual functions:
102 #ifdef GLIBMM_VFUNCS_ENABLED
103 #endif //GLIBMM_VFUNCS_ENABLED
106 //GTK+ Virtual Functions (override these to change behaviour):
107 #ifdef GLIBMM_VFUNCS_ENABLED
108 #endif //GLIBMM_VFUNCS_ENABLED
110 //Default Signal Handlers::
111 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
112 virtual void on_curve_type_changed();
113 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
126 void set_gamma(float gamma);
128 void set_range(float min_x, float max_x, float min_y, float max_y);
130 void get_vector(int veclen, float* data) const;
132 Glib::ArrayHandle<float> get_vector(int veclen) const;
133 void set_vector(const Glib::ArrayHandle<float>& array);
136 void set_curve_type(CurveType type);
141 * <tt>void on_my_%curve_type_changed()</tt>
144 Glib::SignalProxy0< void > signal_curve_type_changed();
147 #ifdef GLIBMM_PROPERTIES_ENABLED
148 /** Is this curve linear
150 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
151 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
152 * the value of the property changes.
154 Glib::PropertyProxy<CurveType> property_curve_type() ;
155 #endif //#GLIBMM_PROPERTIES_ENABLED
157 #ifdef GLIBMM_PROPERTIES_ENABLED
158 /** Is this curve linear
160 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
161 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
162 * the value of the property changes.
164 Glib::PropertyProxy_ReadOnly<CurveType> property_curve_type() const;
165 #endif //#GLIBMM_PROPERTIES_ENABLED
167 #ifdef GLIBMM_PROPERTIES_ENABLED
168 /** Minimum possible value for X.
170 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
171 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
172 * the value of the property changes.
174 Glib::PropertyProxy<float> property_min_x() ;
175 #endif //#GLIBMM_PROPERTIES_ENABLED
177 #ifdef GLIBMM_PROPERTIES_ENABLED
178 /** Minimum possible value for X.
180 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
181 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
182 * the value of the property changes.
184 Glib::PropertyProxy_ReadOnly<float> property_min_x() const;
185 #endif //#GLIBMM_PROPERTIES_ENABLED
187 #ifdef GLIBMM_PROPERTIES_ENABLED
188 /** Maximum possible X value.
190 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
191 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
192 * the value of the property changes.
194 Glib::PropertyProxy<float> property_max_x() ;
195 #endif //#GLIBMM_PROPERTIES_ENABLED
197 #ifdef GLIBMM_PROPERTIES_ENABLED
198 /** Maximum possible X value.
200 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
201 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
202 * the value of the property changes.
204 Glib::PropertyProxy_ReadOnly<float> property_max_x() const;
205 #endif //#GLIBMM_PROPERTIES_ENABLED
207 #ifdef GLIBMM_PROPERTIES_ENABLED
208 /** Minimum possible value for Y.
210 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
211 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
212 * the value of the property changes.
214 Glib::PropertyProxy<float> property_min_y() ;
215 #endif //#GLIBMM_PROPERTIES_ENABLED
217 #ifdef GLIBMM_PROPERTIES_ENABLED
218 /** Minimum possible value for Y.
220 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
221 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
222 * the value of the property changes.
224 Glib::PropertyProxy_ReadOnly<float> property_min_y() const;
225 #endif //#GLIBMM_PROPERTIES_ENABLED
227 #ifdef GLIBMM_PROPERTIES_ENABLED
228 /** Maximum possible value for Y.
230 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
231 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
232 * the value of the property changes.
234 Glib::PropertyProxy<float> property_max_y() ;
235 #endif //#GLIBMM_PROPERTIES_ENABLED
237 #ifdef GLIBMM_PROPERTIES_ENABLED
238 /** Maximum possible value for Y.
240 * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
241 * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
242 * the value of the property changes.
244 Glib::PropertyProxy_ReadOnly<float> property_max_y() const;
245 #endif //#GLIBMM_PROPERTIES_ENABLED
250 /** A subclass of Gtk::Curve for editing gamma curves.
255 class GammaCurve : public VBox
258 #ifndef DOXYGEN_SHOULD_SKIP_THIS
259 typedef GammaCurve CppObjectType;
260 typedef GammaCurve_Class CppClassType;
261 typedef GtkGammaCurve BaseObjectType;
262 typedef GtkGammaCurveClass BaseClassType;
263 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
265 virtual ~GammaCurve();
267 #ifndef DOXYGEN_SHOULD_SKIP_THIS
270 friend class GammaCurve_Class;
271 static CppClassType gammacurve_class_;
274 GammaCurve(const GammaCurve&);
275 GammaCurve& operator=(const GammaCurve&);
278 explicit GammaCurve(const Glib::ConstructParams& construct_params);
279 explicit GammaCurve(GtkGammaCurve* castitem);
281 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
284 #ifndef DOXYGEN_SHOULD_SKIP_THIS
285 static GType get_type() G_GNUC_CONST;
286 static GType get_base_type() G_GNUC_CONST;
289 ///Provides access to the underlying C GtkObject.
290 GtkGammaCurve* gobj() { return reinterpret_cast<GtkGammaCurve*>(gobject_); }
292 ///Provides access to the underlying C GtkObject.
293 const GtkGammaCurve* gobj() const { return reinterpret_cast<GtkGammaCurve*>(gobject_); }
297 //C++ methods used to invoke GTK+ virtual functions:
298 #ifdef GLIBMM_VFUNCS_ENABLED
299 #endif //GLIBMM_VFUNCS_ENABLED
302 //GTK+ Virtual Functions (override these to change behaviour):
303 #ifdef GLIBMM_VFUNCS_ENABLED
304 #endif //GLIBMM_VFUNCS_ENABLED
306 //Default Signal Handlers::
307 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
308 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
319 } /* namespace Gtk */
324 /** A Glib::wrap() method for this object.
326 * @param object The C instance.
327 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
328 * @result A C++ instance that wraps this C instance.
330 * @relates Gtk::Curve
332 Gtk::Curve* wrap(GtkCurve* object, bool take_copy = false);
338 /** A Glib::wrap() method for this object.
340 * @param object The C instance.
341 * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
342 * @result A C++ instance that wraps this C instance.
344 * @relates Gtk::GammaCurve
346 Gtk::GammaCurve* wrap(GtkGammaCurve* object, bool take_copy = false);
350 #endif /* _GTKMM_CURVE_H */