00001
00002
00003 #ifndef _GSTREAMERBASEMM_COLORBALANCE_H
00004 #define _GSTREAMERBASEMM_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
00029
00030 #include <gst/interfaces/colorbalance.h>
00031 #include <glibmm/interface.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstColorBalance GstColorBalance;
00036 typedef struct _GstColorBalanceClass GstColorBalanceClass;
00037 #endif
00038
00039
00040 namespace GstBase
00041 { class ColorBalance_Class; }
00042 namespace GstBase
00043 {
00044
00050 enum ColorBalanceType
00051 {
00052 COLOR_BALANCE_HARDWARE,
00053 COLOR_BALANCE_SOFTWARE
00054 };
00055
00056 }
00057
00058
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060 namespace Glib
00061 {
00062
00063 template <>
00064 class Value<GstBase::ColorBalanceType> : public Glib::Value_Enum<GstBase::ColorBalanceType>
00065 {
00066 public:
00067 static GType value_type() G_GNUC_CONST;
00068 };
00069
00070 }
00071 #endif
00072
00073
00074 namespace GstBase
00075 {
00076
00077
00078 class ColorBalanceChannel;
00079
00083 class ColorBalance : public Glib::Interface
00084 {
00085
00086 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00087
00088 public:
00089 typedef ColorBalance CppObjectType;
00090 typedef ColorBalance_Class CppClassType;
00091 typedef GstColorBalance BaseObjectType;
00092 typedef GstColorBalanceClass BaseClassType;
00093
00094 private:
00095 friend class ColorBalance_Class;
00096 static CppClassType colorbalance_class_;
00097
00098
00099 ColorBalance(const ColorBalance&);
00100 ColorBalance& operator=(const ColorBalance&);
00101
00102 protected:
00103 ColorBalance();
00104
00111 explicit ColorBalance(const Glib::Interface_Class& interface_class);
00112
00113 public:
00114
00115
00116
00117 explicit ColorBalance(GstColorBalance* castitem);
00118
00119 protected:
00120 #endif
00121
00122 public:
00123 virtual ~ColorBalance();
00124
00125 static void add_interface(GType gtype_implementer);
00126
00127 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00128 static GType get_type() G_GNUC_CONST;
00129 static GType get_base_type() G_GNUC_CONST;
00130 #endif
00131
00133 GstColorBalance* gobj() { return reinterpret_cast<GstColorBalance*>(gobject_); }
00134
00136 const GstColorBalance* gobj() const { return reinterpret_cast<GstColorBalance*>(gobject_); }
00137
00138 private:
00139
00140
00141 public:
00142
00143
00149 Glib::ListHandle< Glib::RefPtr<ColorBalanceChannel> > list_channels();
00150
00151
00161 int get_value(const Glib::RefPtr<ColorBalanceChannel>& channel);
00162
00172 void set_value(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00173
00181 void value_changed(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00182
00183
00190 Glib::SignalProxy2< void,const Glib::RefPtr<ColorBalanceChannel>&,int > signal_value_changed();
00191
00192
00193 public:
00194
00195 public:
00196
00197 #ifdef GLIBMM_VFUNCS_ENABLED
00198 #endif //GLIBMM_VFUNCS_ENABLED
00199
00200 protected:
00201
00202 #ifdef GLIBMM_VFUNCS_ENABLED
00203 #endif //GLIBMM_VFUNCS_ENABLED
00204
00205
00206 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00207 virtual void on_value_changed(const Glib::RefPtr<ColorBalanceChannel>& channel, int value);
00208 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00209
00210
00211 };
00212
00213 }
00214
00215
00216 namespace Glib
00217 {
00226 Glib::RefPtr<GstBase::ColorBalance> wrap(GstColorBalance* object, bool take_copy = false);
00227
00228 }
00229
00230
00231 #endif
00232