xine_panel fullscreen support

Darren Hart <[email protected]> Tue, 07 Oct 2003 11:21:26 -0600
Newsgroups gmane.comp.embedded.stk.gui.devel
Message-ID <[email protected]>
--=-fyF19rIBWZCMbFki7ikM
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

OH yeah baby!!!!!

Very cool.  To switch to fullscreen mode, focus the xine_panel and press
backspace (we will of course change this in the future).  If you want to
test this out, you will need to patch your latest xine-lib cvs with the
attached unified cvs diff.  Otherwise you'll have to wait until the xine
guys get around to committing my changes.

I am beside myself with the giddiness!!!!

*gg*

Darren

--=-fyF19rIBWZCMbFki7ikM
Content-Disposition: attachment; filename=stk_update.diff
Content-Type: text/plain; name=stk_update.diff; charset=us-ascii
Content-Transfer-Encoding: 7bit

? stk_update.diff
Index: src/video_out/video_out_stk.c
===================================================================
RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_stk.c,v
retrieving revision 1.3
diff -u -r1.3 video_out_stk.c
--- src/video_out/video_out_stk.c	13 Sep 2003 17:20:50 -0000	1.3
+++ src/video_out/video_out_stk.c	7 Oct 2003 17:15:29 -0000
@@ -340,16 +340,32 @@
     //printf("video_out_stk: get_property_min_max()\n");
 }
 
-static int stk_gui_data_exchange (vo_driver_t *this_gen, int data_type, void *data) {
-    int ret = 0;
+static int stk_gui_data_exchange (vo_driver_t *this_gen, int data_type, void *data) { 
+    stk_driver_t *this = (stk_driver_t*)this_gen;
 
-    //printf("video_out_stk: gui_data_exchange()\n");
-    
-    /* FIXME: handle various XINE events, if in X11 ? */
-    
-    ret = -1;
+    switch (data_type)
+    {
+        case XINE_GUI_SEND_COMPLETION_EVENT:
+            break;
 
-    return ret;
+        case XINE_GUI_SEND_EXPOSE_EVENT: 
+            break;
+            
+        case XINE_GUI_SEND_DRAWABLE_CHANGED:
+            this->xine_panel = (xine_panel_t*)data;
+            this->surface = stk_xine_panel_surface(this->xine_panel);
+            this->sc.gui_x      = stk_xine_panel_x(this->xine_panel);
+            this->sc.gui_y      = stk_xine_panel_y(this->xine_panel);
+            this->sc.gui_width  = stk_xine_panel_width(this->xine_panel);
+            this->sc.gui_height = stk_xine_panel_height(this->xine_panel);
+            this->sc.force_redraw = 1;
+            break;
+
+        case XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO:
+            break;
+    }
+    
+    return 0;
 }
 
 static void stk_dispose (vo_driver_t * this_gen) {

--=-fyF19rIBWZCMbFki7ikM--