00001
00002
00003 #ifndef _GSTREAMERMM_XIMAGESINK_H
00004 #define _GSTREAMERMM_XIMAGESINK_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 <gstreamermm/videosink.h>
00031 #include <gstreamermm/interface.h>
00032 #include <gstreamermm/navigation.h>
00033 #include <gstreamermm/xoverlay.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GstXImageSink GstXImageSink;
00038 typedef struct _GstXImageSinkClass GstXImageSinkClass;
00039 #endif
00040
00041
00042 namespace Gst
00043 { class XImageSink_Class; }
00044 namespace Gst
00045 {
00046
00057 class XImageSink
00058 : public Gst::VideoSink, public Gst::Interface, public Gst::Navigation, public Gst::XOverlay
00059 {
00060
00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00062
00063 public:
00064 typedef XImageSink CppObjectType;
00065 typedef XImageSink_Class CppClassType;
00066 typedef GstXImageSink BaseObjectType;
00067 typedef GstXImageSinkClass BaseClassType;
00068
00069 private: friend class XImageSink_Class;
00070 static CppClassType ximagesink_class_;
00071
00072 private:
00073
00074 XImageSink(const XImageSink&);
00075 XImageSink& operator=(const XImageSink&);
00076
00077 protected:
00078 explicit XImageSink(const Glib::ConstructParams& construct_params);
00079 explicit XImageSink(GstXImageSink* castitem);
00080
00081 #endif
00082
00083 public:
00084 virtual ~XImageSink();
00085
00086 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00087 static GType get_type() G_GNUC_CONST;
00088
00089
00090 static GType get_base_type() G_GNUC_CONST;
00091 #endif
00092
00094 GstXImageSink* gobj() { return reinterpret_cast<GstXImageSink*>(gobject_); }
00095
00097 const GstXImageSink* gobj() const { return reinterpret_cast<GstXImageSink*>(gobject_); }
00098
00100 GstXImageSink* gobj_copy();
00101
00102 private:
00103
00104
00105 protected:
00106 XImageSink();
00107 XImageSink(const Glib::ustring& name);
00108
00109 public:
00113 static Glib::RefPtr<XImageSink> create();
00114
00115
00119 static Glib::RefPtr<XImageSink> create(const Glib::ustring& name);
00120
00121
00122 #ifdef GLIBMM_PROPERTIES_ENABLED
00123
00129 Glib::PropertyProxy<Glib::ustring> property_display() ;
00130 #endif //#GLIBMM_PROPERTIES_ENABLED
00131
00132 #ifdef GLIBMM_PROPERTIES_ENABLED
00133
00139 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_display() const;
00140 #endif //#GLIBMM_PROPERTIES_ENABLED
00141
00142 #ifdef GLIBMM_PROPERTIES_ENABLED
00143
00149 Glib::PropertyProxy<bool> property_synchronous() ;
00150 #endif //#GLIBMM_PROPERTIES_ENABLED
00151
00152 #ifdef GLIBMM_PROPERTIES_ENABLED
00153
00159 Glib::PropertyProxy_ReadOnly<bool> property_synchronous() const;
00160 #endif //#GLIBMM_PROPERTIES_ENABLED
00161
00162 #ifdef GLIBMM_PROPERTIES_ENABLED
00163
00169 Glib::PropertyProxy<Glib::ustring> property_pixel_aspect_ratio() ;
00170 #endif //#GLIBMM_PROPERTIES_ENABLED
00171
00172 #ifdef GLIBMM_PROPERTIES_ENABLED
00173
00179 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_pixel_aspect_ratio() const;
00180 #endif //#GLIBMM_PROPERTIES_ENABLED
00181
00182 #ifdef GLIBMM_PROPERTIES_ENABLED
00183
00189 Glib::PropertyProxy<bool> property_force_aspect_ratio() ;
00190 #endif //#GLIBMM_PROPERTIES_ENABLED
00191
00192 #ifdef GLIBMM_PROPERTIES_ENABLED
00193
00199 Glib::PropertyProxy_ReadOnly<bool> property_force_aspect_ratio() const;
00200 #endif //#GLIBMM_PROPERTIES_ENABLED
00201
00202 #ifdef GLIBMM_PROPERTIES_ENABLED
00203
00209 Glib::PropertyProxy<bool> property_handle_events() ;
00210 #endif //#GLIBMM_PROPERTIES_ENABLED
00211
00212 #ifdef GLIBMM_PROPERTIES_ENABLED
00213
00219 Glib::PropertyProxy_ReadOnly<bool> property_handle_events() const;
00220 #endif //#GLIBMM_PROPERTIES_ENABLED
00221
00222 #ifdef GLIBMM_PROPERTIES_ENABLED
00223
00229 Glib::PropertyProxy<bool> property_handle_expose() ;
00230 #endif //#GLIBMM_PROPERTIES_ENABLED
00231
00232 #ifdef GLIBMM_PROPERTIES_ENABLED
00233
00239 Glib::PropertyProxy_ReadOnly<bool> property_handle_expose() const;
00240 #endif //#GLIBMM_PROPERTIES_ENABLED
00241
00242
00243 public:
00244
00245 public:
00246
00247 #ifdef GLIBMM_VFUNCS_ENABLED
00248 #endif //GLIBMM_VFUNCS_ENABLED
00249
00250 protected:
00251
00252 #ifdef GLIBMM_VFUNCS_ENABLED
00253 #endif //GLIBMM_VFUNCS_ENABLED
00254
00255
00256 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00257 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00258
00259
00260 };
00261
00262 }
00263
00264
00265 namespace Glib
00266 {
00275 Glib::RefPtr<Gst::XImageSink> wrap(GstXImageSink* object, bool take_copy = false);
00276 }
00277
00278
00279 #endif
00280