00001
00002
00003 #ifndef _GSTREAMERMM_XVIMAGESINK_H
00004 #define _GSTREAMERMM_XVIMAGESINK_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 <gstreamermm/videosink.h>
00029 #include <gstreamermm/interface.h>
00030 #include <gstreamermm/navigation.h>
00031 #include <gstreamermm/xoverlay.h>
00032 #include <gstreamermm/colorbalance.h>
00033 #include <gstreamermm/propertyprobe.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GstXvImageSink GstXvImageSink;
00038 typedef struct _GstXvImageSinkClass GstXvImageSinkClass;
00039 #endif
00040
00041
00042 namespace Gst
00043 { class XvImageSink_Class; }
00044 namespace Gst
00045 {
00046
00057 class XvImageSink
00058 : public Gst::VideoSink, public Gst::Interface, public Gst::Navigation, public Gst::XOverlay, public Gst::ColorBalance, public Gst::PropertyProbe
00059 {
00060
00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00062
00063 public:
00064 typedef XvImageSink CppObjectType;
00065 typedef XvImageSink_Class CppClassType;
00066 typedef GstXvImageSink BaseObjectType;
00067 typedef GstXvImageSinkClass BaseClassType;
00068
00069 private: friend class XvImageSink_Class;
00070 static CppClassType xvimagesink_class_;
00071
00072 private:
00073
00074 XvImageSink(const XvImageSink&);
00075 XvImageSink& operator=(const XvImageSink&);
00076
00077 protected:
00078 explicit XvImageSink(const Glib::ConstructParams& construct_params);
00079 explicit XvImageSink(GstXvImageSink* castitem);
00080
00081 #endif
00082
00083 public:
00084 virtual ~XvImageSink();
00085
00086 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00087 static GType get_type() G_GNUC_CONST;
00088 static GType get_base_type() G_GNUC_CONST;
00089 #endif
00090
00092 GstXvImageSink* gobj() { return reinterpret_cast<GstXvImageSink*>(gobject_); }
00093
00095 const GstXvImageSink* gobj() const { return reinterpret_cast<GstXvImageSink*>(gobject_); }
00096
00098 GstXvImageSink* gobj_copy();
00099
00100 private:
00101
00102
00103 protected:
00104 XvImageSink();
00105 XvImageSink(const Glib::ustring& name);
00106
00107 public:
00111 static Glib::RefPtr<XvImageSink> create();
00112
00113
00117 static Glib::RefPtr<XvImageSink> create(const Glib::ustring& name);
00118
00119
00120 #ifdef GLIBMM_PROPERTIES_ENABLED
00121
00127 Glib::PropertyProxy<int> property_contrast() ;
00128 #endif //#GLIBMM_PROPERTIES_ENABLED
00129
00130 #ifdef GLIBMM_PROPERTIES_ENABLED
00131
00137 Glib::PropertyProxy_ReadOnly<int> property_contrast() const;
00138 #endif //#GLIBMM_PROPERTIES_ENABLED
00139
00140 #ifdef GLIBMM_PROPERTIES_ENABLED
00141
00147 Glib::PropertyProxy<int> property_brightness() ;
00148 #endif //#GLIBMM_PROPERTIES_ENABLED
00149
00150 #ifdef GLIBMM_PROPERTIES_ENABLED
00151
00157 Glib::PropertyProxy_ReadOnly<int> property_brightness() const;
00158 #endif //#GLIBMM_PROPERTIES_ENABLED
00159
00160 #ifdef GLIBMM_PROPERTIES_ENABLED
00161
00167 Glib::PropertyProxy<int> property_hue() ;
00168 #endif //#GLIBMM_PROPERTIES_ENABLED
00169
00170 #ifdef GLIBMM_PROPERTIES_ENABLED
00171
00177 Glib::PropertyProxy_ReadOnly<int> property_hue() const;
00178 #endif //#GLIBMM_PROPERTIES_ENABLED
00179
00180 #ifdef GLIBMM_PROPERTIES_ENABLED
00181
00187 Glib::PropertyProxy<int> property_saturation() ;
00188 #endif //#GLIBMM_PROPERTIES_ENABLED
00189
00190 #ifdef GLIBMM_PROPERTIES_ENABLED
00191
00197 Glib::PropertyProxy_ReadOnly<int> property_saturation() const;
00198 #endif //#GLIBMM_PROPERTIES_ENABLED
00199
00200 #ifdef GLIBMM_PROPERTIES_ENABLED
00201
00207 Glib::PropertyProxy<Glib::ustring> property_display() ;
00208 #endif //#GLIBMM_PROPERTIES_ENABLED
00209
00210 #ifdef GLIBMM_PROPERTIES_ENABLED
00211
00217 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_display() const;
00218 #endif //#GLIBMM_PROPERTIES_ENABLED
00219
00220 #ifdef GLIBMM_PROPERTIES_ENABLED
00221
00227 Glib::PropertyProxy<bool> property_synchronous() ;
00228 #endif //#GLIBMM_PROPERTIES_ENABLED
00229
00230 #ifdef GLIBMM_PROPERTIES_ENABLED
00231
00237 Glib::PropertyProxy_ReadOnly<bool> property_synchronous() const;
00238 #endif //#GLIBMM_PROPERTIES_ENABLED
00239
00240 #ifdef GLIBMM_PROPERTIES_ENABLED
00241
00247 Glib::PropertyProxy<Glib::ustring> property_pixel_aspect_ratio() ;
00248 #endif //#GLIBMM_PROPERTIES_ENABLED
00249
00250 #ifdef GLIBMM_PROPERTIES_ENABLED
00251
00257 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_pixel_aspect_ratio() const;
00258 #endif //#GLIBMM_PROPERTIES_ENABLED
00259
00260 #ifdef GLIBMM_PROPERTIES_ENABLED
00261
00267 Glib::PropertyProxy<bool> property_force_aspect_ratio() ;
00268 #endif //#GLIBMM_PROPERTIES_ENABLED
00269
00270 #ifdef GLIBMM_PROPERTIES_ENABLED
00271
00277 Glib::PropertyProxy_ReadOnly<bool> property_force_aspect_ratio() const;
00278 #endif //#GLIBMM_PROPERTIES_ENABLED
00279
00280 #ifdef GLIBMM_PROPERTIES_ENABLED
00281
00287 Glib::PropertyProxy<bool> property_handle_events() ;
00288 #endif //#GLIBMM_PROPERTIES_ENABLED
00289
00290 #ifdef GLIBMM_PROPERTIES_ENABLED
00291
00297 Glib::PropertyProxy_ReadOnly<bool> property_handle_events() const;
00298 #endif //#GLIBMM_PROPERTIES_ENABLED
00299
00300 #ifdef GLIBMM_PROPERTIES_ENABLED
00301
00307 Glib::PropertyProxy<Glib::ustring> property_device() ;
00308 #endif //#GLIBMM_PROPERTIES_ENABLED
00309
00310 #ifdef GLIBMM_PROPERTIES_ENABLED
00311
00317 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_device() const;
00318 #endif //#GLIBMM_PROPERTIES_ENABLED
00319
00320 #ifdef GLIBMM_PROPERTIES_ENABLED
00321
00327 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_device_name() const;
00328 #endif //#GLIBMM_PROPERTIES_ENABLED
00329
00330
00331 #ifdef GLIBMM_PROPERTIES_ENABLED
00332
00338 Glib::PropertyProxy<bool> property_handle_expose() ;
00339 #endif //#GLIBMM_PROPERTIES_ENABLED
00340
00341 #ifdef GLIBMM_PROPERTIES_ENABLED
00342
00348 Glib::PropertyProxy_ReadOnly<bool> property_handle_expose() const;
00349 #endif //#GLIBMM_PROPERTIES_ENABLED
00350
00351 #ifdef GLIBMM_PROPERTIES_ENABLED
00352
00358 Glib::PropertyProxy<bool> property_double_buffer() ;
00359 #endif //#GLIBMM_PROPERTIES_ENABLED
00360
00361 #ifdef GLIBMM_PROPERTIES_ENABLED
00362
00368 Glib::PropertyProxy_ReadOnly<bool> property_double_buffer() const;
00369 #endif //#GLIBMM_PROPERTIES_ENABLED
00370
00371 #ifdef GLIBMM_PROPERTIES_ENABLED
00372
00378 Glib::PropertyProxy<bool> property_autopaint_colorkey() ;
00379 #endif //#GLIBMM_PROPERTIES_ENABLED
00380
00381 #ifdef GLIBMM_PROPERTIES_ENABLED
00382
00388 Glib::PropertyProxy_ReadOnly<bool> property_autopaint_colorkey() const;
00389 #endif //#GLIBMM_PROPERTIES_ENABLED
00390
00391 #ifdef GLIBMM_PROPERTIES_ENABLED
00392
00398 Glib::PropertyProxy<int> property_colorkey() ;
00399 #endif //#GLIBMM_PROPERTIES_ENABLED
00400
00401 #ifdef GLIBMM_PROPERTIES_ENABLED
00402
00408 Glib::PropertyProxy_ReadOnly<int> property_colorkey() const;
00409 #endif //#GLIBMM_PROPERTIES_ENABLED
00410
00411 #ifdef GLIBMM_PROPERTIES_ENABLED
00412
00418 Glib::PropertyProxy<bool> property_draw_borders() ;
00419 #endif //#GLIBMM_PROPERTIES_ENABLED
00420
00421 #ifdef GLIBMM_PROPERTIES_ENABLED
00422
00428 Glib::PropertyProxy_ReadOnly<bool> property_draw_borders() const;
00429 #endif //#GLIBMM_PROPERTIES_ENABLED
00430
00431
00432 public:
00433
00434 public:
00435
00436 #ifdef GLIBMM_VFUNCS_ENABLED
00437 #endif //GLIBMM_VFUNCS_ENABLED
00438
00439 protected:
00440
00441 #ifdef GLIBMM_VFUNCS_ENABLED
00442 #endif //GLIBMM_VFUNCS_ENABLED
00443
00444
00445 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00446 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00447
00448
00449 };
00450
00451 }
00452
00453
00454 namespace Glib
00455 {
00464 Glib::RefPtr<Gst::XvImageSink> wrap(GstXvImageSink* object, bool take_copy = false);
00465 }
00466
00467
00468 #endif
00469