From 9142df5dc4bd090d324c2b62059f52f4e83b737f Mon Sep 17 00:00:00 2001 From: Daniel Caujolle-Bert Date: Thu, 3 May 2001 18:22:37 +0000 Subject: Implement xine_*_window*() functions. CVS patchset: 58 CVS date: 2001/05/03 18:22:37 --- include/xine.h.tmpl.in | 55 ++++++++++++++++++++++++++++++++++++++++++++- src/xine-engine/video_out.c | 7 +++++- src/xine-engine/xine.c | 42 +++++++++++++++++++++++++++++++++- 3 files changed, 101 insertions(+), 3 deletions(-) diff --git a/include/xine.h.tmpl.in b/include/xine.h.tmpl.in index 94824b9bb..2096ce8f7 100644 --- a/include/xine.h.tmpl.in +++ b/include/xine.h.tmpl.in @@ -29,7 +29,7 @@ \endverbatim */ /* - * $Id: xine.h.tmpl.in,v 1.11 2001/05/03 00:02:42 f1rmb Exp $ + * $Id: xine.h.tmpl.in,v 1.12 2001/05/03 18:22:37 f1rmb Exp $ * */ @@ -286,6 +286,59 @@ int xine_get_spu_channel (xine_t *this); */ void xine_select_spu_channel (xine_t *this, int channel); +/** + * \fn void *xine_get_output_window(xine_t *this); + * \brief Get the output window. + * \param this Current xine engine configuration ( #see xine_init() ) + * \return Return output window as void pointer. + * + * Get whatever is usefull to contact the window/video output + * (mostly usefull for the gui if it wants to access + * the video output window). The calling application should + * cast the void pointer to desired type. + */ +void *xine_get_window_output(xine_t *this); + +/** + * \fn int xine_get_window_property(xine_t *this, int property); + * \brief + * \param + * \return + * + * + */ +int xine_get_window_property(xine_t *this, int property); + +/** + * \fn int xine_set_window_property(xine_t *this, int property, int value); + * \brief + * \param + * \return + * + * + */ +int xine_set_window_property(xine_t *this, int property, int value); + +/** + * \fn void xine_get_window_property_min_max(xine_t *this, int property, int *min, int *max); + * \brief + * \param + * \return + * + * + */ +void xine_get_window_property_min_max(xine_t *this, int property, int *min, int *max); + +/** + * \fn void xine_window_handle_event(xine_t *this, void *event); + * \brief + * \param + * \return + * + * + */ +void xine_window_handle_event(xine_t *this, void *event); + /** @} end of xine_management_api */ /** diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index 6fcf6abf6..78c37d839 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out.c,v 1.1 2001/04/24 20:57:11 f1rmb Exp $ + * $Id: video_out.c,v 1.2 2001/05/03 18:22:37 f1rmb Exp $ * */ @@ -319,6 +319,10 @@ static void vo_exit (vo_instance_t *this) { } +static void *vo_get_window(vo_instance_t *this) { + return this->driver->get_window (this->driver); +} + static uint32_t vo_get_capabilities (vo_instance_t *this) { return this->driver->get_capabilities (this->driver); } @@ -447,6 +451,7 @@ vo_instance_t *vo_new_instance (vo_driver_t *driver, metronom_t *metronom) { this->get_frame = vo_get_frame; this->close = vo_close; this->exit = vo_exit; + this->get_window = vo_get_window; this->get_property = vo_get_property; this->set_property = vo_set_property; this->get_property_min_max = vo_get_property_min_max; diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 98ec4e05a..5d39330cc 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.11 2001/04/30 21:55:27 guenter Exp $ + * $Id: xine.c,v 1.12 2001/05/03 18:22:37 f1rmb Exp $ * * top-level xine functions * @@ -526,3 +526,43 @@ int xine_get_status(xine_t *this) { return this->status; } +/* + * + */ +void *xine_get_window_output(xine_t *this) { + + return (this->video_out->get_window(this->video_out)); +} + +/* + * + */ +int xine_get_window_property(xine_t *this, int property) { + + return (this->video_out->get_property(this->video_out, property)); +} + +/* + * + */ +int xine_set_window_property(xine_t *this, int property, int value) { + + return (this->video_out->set_property(this->video_out, property, value)); +} + +/* + * + */ +void xine_get_window_property_min_max(xine_t *this, + int property, int *min, int *max) { + + this->video_out->get_property_min_max(this->video_out, property, min, max); +} + +/* + * + */ +void xine_window_handle_event(xine_t *this, void *event) { + + this->video_out->handle_event(this->video_out, event); +} -- cgit v1.2.3