diff options
author | Julien Moutte <julien@moutte.net> | 2004-02-03 23:05:46 +0000 |
---|---|---|
committer | Julien Moutte <julien@moutte.net> | 2004-02-03 23:05:46 +0000 |
commit | b5341b201641a1a5fb92162ca91c29d6b8be5553 (patch) | |
tree | 8a36db37c9242290fd4e2227556f1cadea78d8e2 /gst-libs | |
parent | 00a2dfbe9b9df88883bbc677fab900a051dc8ce6 (diff) | |
download | gstreamer-plugins-bad-b5341b201641a1a5fb92162ca91c29d6b8be5553.tar.gz |
gst-libs/gst/xoverlay/xoverlay.*: Adding the _expose method to tell an overlay to redraw the image because it has bee...
Original commit message from CVS:
2004-02-04 Julien MOUTTE <julien@moutte.net>
* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_expose):
* gst-libs/gst/xoverlay/xoverlay.h: Adding the _expose method to tell
an overlay to redraw the image because it has been exposed.
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy),
(gst_ximagesink_ximage_put), (gst_ximagesink_expose),
(gst_ximagesink_xoverlay_init), (gst_ximagesink_init):
* sys/ximage/ximagesink.h: Implement expose method from XOverlay
interface
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_destroy),
(gst_xvimagesink_xvimage_put), (gst_xvimagesink_expose),
(gst_xvimagesink_xoverlay_init), (gst_xvimagesink_init):
* sys/xvimage/xvimagesink.h: Implement expose method from XOverlay
interface
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/xoverlay/xoverlay.c | 17 | ||||
-rw-r--r-- | gst-libs/gst/xoverlay/xoverlay.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gst-libs/gst/xoverlay/xoverlay.c b/gst-libs/gst/xoverlay/xoverlay.c index 2efe29666..73004f68a 100644 --- a/gst-libs/gst/xoverlay/xoverlay.c +++ b/gst-libs/gst/xoverlay/xoverlay.c @@ -183,3 +183,20 @@ gst_x_overlay_got_desired_size (GstXOverlay *overlay, guint width, guint height) g_signal_emit (G_OBJECT (overlay), gst_x_overlay_signals[DESIRED_SIZE], 0, width, height); } + +/** + * gst_x_overlay_expose: + * @overlay: a #GstXOverlay to expose. + * + * Tell an overlay that it has been exposed. This will redraw the current frame + * in the drawable even if the pipeline is PAUSED. + */ +void +gst_x_overlay_expose (GstXOverlay *overlay) +{ + GstXOverlayClass *klass = GST_X_OVERLAY_GET_CLASS (overlay); + + if (klass->expose) { + klass->expose (overlay); + } +} diff --git a/gst-libs/gst/xoverlay/xoverlay.h b/gst-libs/gst/xoverlay/xoverlay.h index 4c6848705..d92dc5ff0 100644 --- a/gst-libs/gst/xoverlay/xoverlay.h +++ b/gst-libs/gst/xoverlay/xoverlay.h @@ -54,6 +54,7 @@ typedef struct _GstXOverlayClass { void (* get_desired_size) (GstXOverlay *overlay, guint *width, guint *height); + void (* expose) (GstXOverlay *overlay); /* signals */ void (*have_xwindow_id) (GstXOverlay *overlay, @@ -70,6 +71,7 @@ GType gst_x_overlay_get_type (void); /* virtual class function wrappers */ void gst_x_overlay_set_xwindow_id (GstXOverlay *overlay, XID xwindow_id); void gst_x_overlay_get_desired_size (GstXOverlay *overlay, guint *width, guint *height); +void gst_x_overlay_expose (GstXOverlay *overlay); /* public methods to fire signals */ void gst_x_overlay_got_xwindow_id (GstXOverlay *overlay, XID xwindow_id); |