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
00047
00058 class XvImageSink
00059 : public Gst::VideoSink, public Gst::Interface, public Gst::Navigation, public Gst::XOverlay, public Gst::ColorBalance, public Gst::PropertyProbe
00060 {
00061
00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00063
00064 public:
00065 typedef XvImageSink CppObjectType;
00066 typedef XvImageSink_Class CppClassType;
00067 typedef GstXvImageSink BaseObjectType;
00068 typedef GstXvImageSinkClass BaseClassType;
00069
00070 private: friend class XvImageSink_Class;
00071 static CppClassType xvimagesink_class_;
00072
00073 private:
00074
00075 XvImageSink(const XvImageSink&);
00076 XvImageSink& operator=(const XvImageSink&);
00077
00078 protected:
00079 explicit XvImageSink(const Glib::ConstructParams& construct_params);
00080 explicit XvImageSink(GstXvImageSink* castitem);
00081
00082 #endif
00083
00084 public:
00085 virtual ~XvImageSink();
00086
00087 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00088 static GType get_type() G_GNUC_CONST;
00089 static GType get_base_type() G_GNUC_CONST;
00090 #endif
00091
00093 GstXvImageSink* gobj() { return reinterpret_cast<GstXvImageSink*>(gobject_); }
00094
00096 const GstXvImageSink* gobj() const { return reinterpret_cast<GstXvImageSink*>(gobject_); }
00097
00099 GstXvImageSink* gobj_copy();
00100
00101 private:
00102
00103
00104 protected:
00105 XvImageSink();
00106 XvImageSink(const Glib::ustring& name);
00107
00108 public:
00112 static Glib::RefPtr<XvImageSink> create();
00113
00114
00118 static Glib::RefPtr<XvImageSink> create(const Glib::ustring& name);
00119
00120
00121 #ifdef GLIBMM_PROPERTIES_ENABLED
00122
00128 Glib::PropertyProxy<int> property_contrast() ;
00129 #endif //#GLIBMM_PROPERTIES_ENABLED
00130
00131 #ifdef GLIBMM_PROPERTIES_ENABLED
00132
00138 Glib::PropertyProxy_ReadOnly<int> property_contrast() const;
00139 #endif //#GLIBMM_PROPERTIES_ENABLED
00140
00141 #ifdef GLIBMM_PROPERTIES_ENABLED
00142
00148 Glib::PropertyProxy<int> property_brightness() ;
00149 #endif //#GLIBMM_PROPERTIES_ENABLED
00150
00151 #ifdef GLIBMM_PROPERTIES_ENABLED
00152
00158 Glib::PropertyProxy_ReadOnly<int> property_brightness() const;
00159 #endif //#GLIBMM_PROPERTIES_ENABLED
00160
00161 #ifdef GLIBMM_PROPERTIES_ENABLED
00162
00168 Glib::PropertyProxy<int> property_hue() ;
00169 #endif //#GLIBMM_PROPERTIES_ENABLED
00170
00171 #ifdef GLIBMM_PROPERTIES_ENABLED
00172
00178 Glib::PropertyProxy_ReadOnly<int> property_hue() const;
00179 #endif //#GLIBMM_PROPERTIES_ENABLED
00180
00181 #ifdef GLIBMM_PROPERTIES_ENABLED
00182
00188 Glib::PropertyProxy<int> property_saturation() ;
00189 #endif //#GLIBMM_PROPERTIES_ENABLED
00190
00191 #ifdef GLIBMM_PROPERTIES_ENABLED
00192
00198 Glib::PropertyProxy_ReadOnly<int> property_saturation() const;
00199 #endif //#GLIBMM_PROPERTIES_ENABLED
00200
00201 #ifdef GLIBMM_PROPERTIES_ENABLED
00202
00208 Glib::PropertyProxy<Glib::ustring> property_display() ;
00209 #endif //#GLIBMM_PROPERTIES_ENABLED
00210
00211 #ifdef GLIBMM_PROPERTIES_ENABLED
00212
00218 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_display() const;
00219 #endif //#GLIBMM_PROPERTIES_ENABLED
00220
00221 #ifdef GLIBMM_PROPERTIES_ENABLED
00222
00228 Glib::PropertyProxy<bool> property_synchronous() ;
00229 #endif //#GLIBMM_PROPERTIES_ENABLED
00230
00231 #ifdef GLIBMM_PROPERTIES_ENABLED
00232
00238 Glib::PropertyProxy_ReadOnly<bool> property_synchronous() const;
00239 #endif //#GLIBMM_PROPERTIES_ENABLED
00240
00241 #ifdef GLIBMM_PROPERTIES_ENABLED
00242
00248 Glib::PropertyProxy<Glib::ustring> property_pixel_aspect_ratio() ;
00249 #endif //#GLIBMM_PROPERTIES_ENABLED
00250
00251 #ifdef GLIBMM_PROPERTIES_ENABLED
00252
00258 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_pixel_aspect_ratio() const;
00259 #endif //#GLIBMM_PROPERTIES_ENABLED
00260
00261 #ifdef GLIBMM_PROPERTIES_ENABLED
00262
00268 Glib::PropertyProxy<bool> property_force_aspect_ratio() ;
00269 #endif //#GLIBMM_PROPERTIES_ENABLED
00270
00271 #ifdef GLIBMM_PROPERTIES_ENABLED
00272
00278 Glib::PropertyProxy_ReadOnly<bool> property_force_aspect_ratio() const;
00279 #endif //#GLIBMM_PROPERTIES_ENABLED
00280
00281 #ifdef GLIBMM_PROPERTIES_ENABLED
00282
00288 Glib::PropertyProxy<bool> property_handle_events() ;
00289 #endif //#GLIBMM_PROPERTIES_ENABLED
00290
00291 #ifdef GLIBMM_PROPERTIES_ENABLED
00292
00298 Glib::PropertyProxy_ReadOnly<bool> property_handle_events() const;
00299 #endif //#GLIBMM_PROPERTIES_ENABLED
00300
00301 #ifdef GLIBMM_PROPERTIES_ENABLED
00302
00308 Glib::PropertyProxy<Glib::ustring> property_device() ;
00309 #endif //#GLIBMM_PROPERTIES_ENABLED
00310
00311 #ifdef GLIBMM_PROPERTIES_ENABLED
00312
00318 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_device() const;
00319 #endif //#GLIBMM_PROPERTIES_ENABLED
00320
00321 #ifdef GLIBMM_PROPERTIES_ENABLED
00322
00328 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_device_name() const;
00329 #endif //#GLIBMM_PROPERTIES_ENABLED
00330
00331
00332 #ifdef GLIBMM_PROPERTIES_ENABLED
00333
00339 Glib::PropertyProxy<bool> property_handle_expose() ;
00340 #endif //#GLIBMM_PROPERTIES_ENABLED
00341
00342 #ifdef GLIBMM_PROPERTIES_ENABLED
00343
00349 Glib::PropertyProxy_ReadOnly<bool> property_handle_expose() const;
00350 #endif //#GLIBMM_PROPERTIES_ENABLED
00351
00352 #ifdef GLIBMM_PROPERTIES_ENABLED
00353
00359 Glib::PropertyProxy<bool> property_double_buffer() ;
00360 #endif //#GLIBMM_PROPERTIES_ENABLED
00361
00362 #ifdef GLIBMM_PROPERTIES_ENABLED
00363
00369 Glib::PropertyProxy_ReadOnly<bool> property_double_buffer() const;
00370 #endif //#GLIBMM_PROPERTIES_ENABLED
00371
00372 #ifdef GLIBMM_PROPERTIES_ENABLED
00373
00379 Glib::PropertyProxy<bool> property_autopaint_colorkey() ;
00380 #endif //#GLIBMM_PROPERTIES_ENABLED
00381
00382 #ifdef GLIBMM_PROPERTIES_ENABLED
00383
00389 Glib::PropertyProxy_ReadOnly<bool> property_autopaint_colorkey() const;
00390 #endif //#GLIBMM_PROPERTIES_ENABLED
00391
00392 #ifdef GLIBMM_PROPERTIES_ENABLED
00393
00399 Glib::PropertyProxy<int> property_colorkey() ;
00400 #endif //#GLIBMM_PROPERTIES_ENABLED
00401
00402 #ifdef GLIBMM_PROPERTIES_ENABLED
00403
00409 Glib::PropertyProxy_ReadOnly<int> property_colorkey() const;
00410 #endif //#GLIBMM_PROPERTIES_ENABLED
00411
00412 #ifdef GLIBMM_PROPERTIES_ENABLED
00413
00419 Glib::PropertyProxy<bool> property_draw_borders() ;
00420 #endif //#GLIBMM_PROPERTIES_ENABLED
00421
00422 #ifdef GLIBMM_PROPERTIES_ENABLED
00423
00429 Glib::PropertyProxy_ReadOnly<bool> property_draw_borders() const;
00430 #endif //#GLIBMM_PROPERTIES_ENABLED
00431
00432
00433 public:
00434
00435 public:
00436
00437 #ifdef GLIBMM_VFUNCS_ENABLED
00438 #endif //GLIBMM_VFUNCS_ENABLED
00439
00440 protected:
00441
00442 #ifdef GLIBMM_VFUNCS_ENABLED
00443 #endif //GLIBMM_VFUNCS_ENABLED
00444
00445
00446 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00447 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00448
00449
00450 };
00451
00452 }
00453
00454
00455 namespace Glib
00456 {
00465 Glib::RefPtr<Gst::XvImageSink> wrap(GstXvImageSink* object, bool take_copy = false);
00466 }
00467
00468
00469 #endif
00470