00001
00002
00003 #ifndef _GSTREAMERBASEMM_XOVERLAY_H
00004 #define _GSTREAMERBASEMM_XOVERLAY_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/xoverlay.h>
00031 #include <glibmm/interface.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstXOverlay GstXOverlay;
00036 typedef struct _GstXOverlayClass GstXOverlayClass;
00037 #endif
00038
00039
00040 namespace GstBase
00041 { class XOverlay_Class; }
00042 namespace GstBase
00043 {
00044
00116 class XOverlay : public Glib::Interface
00117 {
00118
00119 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00120
00121 public:
00122 typedef XOverlay CppObjectType;
00123 typedef XOverlay_Class CppClassType;
00124 typedef GstXOverlay BaseObjectType;
00125 typedef GstXOverlayClass BaseClassType;
00126
00127 private:
00128 friend class XOverlay_Class;
00129 static CppClassType xoverlay_class_;
00130
00131
00132 XOverlay(const XOverlay&);
00133 XOverlay& operator=(const XOverlay&);
00134
00135 protected:
00136 XOverlay();
00137
00144 explicit XOverlay(const Glib::Interface_Class& interface_class);
00145
00146 public:
00147
00148
00149
00150 explicit XOverlay(GstXOverlay* castitem);
00151
00152 protected:
00153 #endif
00154
00155 public:
00156 virtual ~XOverlay();
00157
00158 static void add_interface(GType gtype_implementer);
00159
00160 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00161 static GType get_type() G_GNUC_CONST;
00162 static GType get_base_type() G_GNUC_CONST;
00163 #endif
00164
00166 GstXOverlay* gobj() { return reinterpret_cast<GstXOverlay*>(gobject_); }
00167
00169 const GstXOverlay* gobj() const { return reinterpret_cast<GstXOverlay*>(gobject_); }
00170
00171 private:
00172
00173
00174 public:
00175
00182 void set_xwindow_id(gulong xwindow_id);
00183
00189 void got_xwindow_id(gulong xwindow_id);
00190
00198 void prepare_xwindow_id();
00199
00203 void expose();
00204
00212 void handle_events(bool handle_events);
00213
00214
00215 public:
00216
00217 public:
00218
00219 #ifdef GLIBMM_VFUNCS_ENABLED
00220 #endif //GLIBMM_VFUNCS_ENABLED
00221
00222 protected:
00223
00224 #ifdef GLIBMM_VFUNCS_ENABLED
00225 #endif //GLIBMM_VFUNCS_ENABLED
00226
00227
00228 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00229 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00230
00231
00232 };
00233
00234 }
00235
00236
00237 namespace Glib
00238 {
00247 Glib::RefPtr<GstBase::XOverlay> wrap(GstXOverlay* object, bool take_copy = false);
00248
00249 }
00250
00251
00252 #endif
00253