// Generated by generate_plugin_gmmproc_file. Don't edit this file.


#include <gstreamermm/videosink.h>
#include <gstreamermm/navigation.h>
#include <gstreamermm/videooverlay.h>
_DEFS(gstreamermm,gst)

namespace Gst
{

/** A Wrapper for the ximagesink plugin.
 * Please note that not all plug-ins are available on all systems so care
 * must be taken that they exist before they are used otherwise there will
 * be errors and possibly a crash.
 *
 * @ingroup GstPlugins
 * @deprecated Plugins API is deprecated, and should not be used in a new code.
 */
class XImageSink
: public Gst::VideoSink, public Gst::Navigation, public Gst::VideoOverlay
{
  _CLASS_GOBJECT(XImageSink, GstXImageSink, GST_X_IMAGE_SINK_GSTREAMERMM, Gst::VideoSink, GstVideoSink)
  _IMPLEMENTS_INTERFACE(Gst::Navigation)
  _IMPLEMENTS_INTERFACE(Gst::VideoOverlay)

  _IS_GSTREAMERMM_PLUGIN
protected:
  XImageSink();
  explicit XImageSink(const Glib::ustring& name);

public:
  /** Creates a new ximagesink plugin with a unique name.
   */
  _WRAP_CREATE()

  /** Creates a new ximagesink plugin with the given name.
   */
  _WRAP_CREATE(const Glib::ustring& name)

  _WRAP_PROPERTY("display", Glib::ustring)
  _WRAP_PROPERTY("synchronous", bool)
  _WRAP_PROPERTY("pixel-aspect-ratio", Glib::ustring)
  _WRAP_PROPERTY("force-aspect-ratio", bool)
  _WRAP_PROPERTY("handle-events", bool)
  _WRAP_PROPERTY("handle-expose", bool)
  _WRAP_PROPERTY("window-width", guint64)
  _WRAP_PROPERTY("window-height", guint64)
};

} // namespace Gst
