00001
00002
00003 #ifndef _GSTREAMERMM_COLORBALANCE_H
00004 #define _GSTREAMERMM_COLORBALANCE_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <gst/interfaces/colorbalance.h>
00029 #include <glibmm/interface.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstColorBalance GstColorBalance;
00034 typedef struct _GstColorBalanceClass GstColorBalanceClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class ColorBalance_Class; }
00040 namespace Gst
00041 {
00042
00048 enum ColorBalanceType
00049 {
00050 COLOR_BALANCE_HARDWARE,
00051 COLOR_BALANCE_SOFTWARE
00052 };
00053
00054 }
00055
00056
00057 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00058 namespace Glib
00059 {
00060
00061 template <>
00062 class Value<Gst::ColorBalanceType> : public Glib::Value_Enum<Gst::ColorBalanceType>
00063 {
00064 public:
00065 static GType value_type() G_GNUC_CONST;
00066 };
00067
00068 }
00069 #endif
00070
00071
00072 namespace Gst
00073 {
00074
00075
00076 class ColorBalanceChannel;
00077
00082 class ColorBalance : public Glib::Interface
00083 {
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086
00087 public:
00088 typedef ColorBalance CppObjectType;
00089 typedef ColorBalance_Class CppClassType;
00090 typedef GstColorBalance BaseObjectType;
00091 typedef GstColorBalanceClass BaseClassType;
00092
00093 private:
00094 friend class ColorBalance_Class;
00095 static CppClassType colorbalance_class_;
00096
00097
00098 ColorBalance(const ColorBalance&);
00099 ColorBalance& operator=(const ColorBalance&);
00100
00101 protected:
00102 ColorBalance();
00103
00110 explicit ColorBalance(const Glib::Interface_Class& interface_class);
00111
00112 public:
00113
00114
00115
00116 explicit ColorBalance(GstColorBalance* castitem);
00117
00118 protected:
00119 #endif
00120
00121 public:
00122 virtual ~ColorBalance();
00123
00124 static void add_interface(GType gtype_implementer);
00125
00126 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00127 static GType get_type() G_GNUC_CONST;
00128 static GType get_base_type() G_GNUC_CONST;
00129 #endif
00130
00132 GstColorBalance* gobj() { return reinterpret_cast<GstColorBalance*>(gobject_); }
00133
00135 const GstColorBalance* gobj() const { return reinterpret_cast<GstColorBalance*>(gobject_); }
00136
00137 private:
00138
00139
00140 public:
00141
00142
00148 Glib::ListHandle< Glib::RefPtr<ColorBalanceChannel> > list_channels();
00149
00150
00156 Glib::ListHandle< Glib::RefPtr<const ColorBalanceChannel> > list_channels() const;
00157
00158
00168 int get_value(const Glib::RefPtr<const ColorBalanceChannel>& channel) const;
00169
00179 void set_value(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00180
00188 void value_changed(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00189
00195 Gst::ColorBalanceType get_balance_type() const;
00196
00197
00204 Glib::SignalProxy2< void,const Glib::RefPtr<ColorBalanceChannel>&,int > signal_value_changed();
00205
00206
00207 #ifdef GLIBMM_VFUNCS_ENABLED
00208
00210 virtual Glib::ListHandle< Glib::RefPtr<ColorBalanceChannel> > list_channels_vfunc() const;
00211 #endif //GLIBMM_VFUNCS_ENABLED
00212
00215 #ifdef GLIBMM_VFUNCS_ENABLED
00216 virtual void set_value_vfunc(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00217 #endif //GLIBMM_VFUNCS_ENABLED
00218
00219
00222 #ifdef GLIBMM_VFUNCS_ENABLED
00223 virtual int get_value_vfunc(const Glib::RefPtr<const ColorBalanceChannel>& channel) const;
00224 #endif //GLIBMM_VFUNCS_ENABLED
00225
00226
00227 protected:
00228
00229
00230 public:
00231
00232 public:
00233
00234 #ifdef GLIBMM_VFUNCS_ENABLED
00235 #endif //GLIBMM_VFUNCS_ENABLED
00236
00237 protected:
00238
00239 #ifdef GLIBMM_VFUNCS_ENABLED
00240 #endif //GLIBMM_VFUNCS_ENABLED
00241
00242
00243 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00244 virtual void on_value_changed(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00245 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00246
00247
00248 };
00249
00250 }
00251
00252
00253 namespace Glib
00254 {
00263 Glib::RefPtr<Gst::ColorBalance> wrap(GstColorBalance* object, bool take_copy = false);
00264
00265 }
00266
00267
00268 #endif
00269