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
This commit is contained in:
Julien Moutte 2004-02-03 23:05:46 +00:00
parent 00a2dfbe9b
commit b5341b2016
3 changed files with 35 additions and 0 deletions

View file

@ -1,3 +1,19 @@
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
2004-02-03 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_type_find):

View file

@ -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);
}
}

View file

@ -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);