]> git.sesse.net Git - vlc/commitdiff
* put the beautiful "no picture" black screen.
authorSimon Latapie <garf@videolan.org>
Mon, 25 Aug 2003 14:51:49 +0000 (14:51 +0000)
committerSimon Latapie <garf@videolan.org>
Mon, 25 Aug 2003 14:51:49 +0000 (14:51 +0000)
modules/gui/macosx/vout.m
mozilla/vlcshell.cpp

index 58431a7bab3cf5f8ecbe18ac48b9d02b56104cfa..10167fd59be495cf7881f438d8b905a619600d96 100644 (file)
@@ -3,7 +3,7 @@
  * vout.m: MacOS X video output plugin
  *****************************************************************************
  * Copyright (C) 2001-2003 VideoLAN
- * $Id: vout.m,v 1.54 2003/08/20 16:22:27 garf Exp $
+ * $Id: vout.m,v 1.55 2003/08/25 14:51:47 garf Exp $
  *
  * Authors: Colin Delacroix <colin@zoy.org>
  *          Florian G. Pflug <fgp@phlo.org>
@@ -486,10 +486,13 @@ static void vout_Display( vout_thread_t *p_vout, picture_t *p_pic )
        GetPortBounds( p_vout->p_sys->p_qdportold, &oldrect );
         GetClip( oldClip );
 
+       LockPortBits( p_vout->p_sys->p_qdport );
+
         SetPort( p_vout->p_sys->p_qdport );
         SetOrigin( p_vout->p_sys->portx , p_vout->p_sys->porty );
         ClipRect( &p_vout->p_sys->rect );
-       
+   
+       
         if( ( err = DecompressSequenceFrameS( 
                         p_vout->p_sys->i_seq,
                         p_pic->p_sys->p_info,
@@ -503,9 +506,13 @@ static void vout_Display( vout_thread_t *p_vout, picture_t *p_pic )
             QDFlushPortBuffer( p_vout->p_sys->p_qdport, p_vout->p_sys->mask );
         }
 
+
        SetOrigin( oldrect.left , oldrect.top );
         SetClip( oldClip );
         SetPort( p_vout->p_sys->p_qdportold );
+
+       UnlockPortBits( p_vout->p_sys->p_qdport );
+
     }
     else
     { 
index 1be001fe8f263796cfbafa56b84b20c711ec1937..87d06d1cc5d09e95c368dfc7e3b2d1bfcefcee9c 100644 (file)
@@ -2,7 +2,7 @@
  * vlcshell.cpp: a VLC plugin for Mozilla
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: vlcshell.cpp,v 1.18 2003/08/19 14:07:51 garf Exp $
+ * $Id: vlcshell.cpp,v 1.19 2003/08/25 14:51:49 garf Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -47,7 +47,7 @@
 
 #ifdef XP_MACOSX
     /* Mac OS X stuff */
-#   include <QuickDraw.h>
+#   include <Quickdraw.h>
 #endif
 
 #include "vlcpeer.h"
@@ -208,7 +208,6 @@ int16 NPP_HandleEvent( NPP instance, void * event )
     {
         value.i_int = 1;
         VLC_Set( p_plugin->i_vlc, "drawableredraw", value );
-
         return true;
     }
 
@@ -413,6 +412,8 @@ NPError NPP_SetWindow( NPP instance, NPWindow* window )
     vlc_value_t valuer;
     vlc_value_t valueportx;
     vlc_value_t valueporty;
+    Rect black_rect;
+    char * text;
 #endif
 
     if( instance == NULL )
@@ -454,6 +455,24 @@ NPError NPP_SetWindow( NPP instance, NPWindow* window )
 
     p_plugin->window = window;
 
+    /* draw the beautiful "No Picture" */
+
+    black_rect.top = valuet.i_int - valuey.i_int;
+    black_rect.left = valuel.i_int - valuex.i_int;
+    black_rect.bottom = valueb.i_int - valuey.i_int;
+    black_rect.right = valuer.i_int - valuex.i_int;
+
+    SetPort( value.i_int );
+    SetOrigin( valueportx.i_int , valueporty.i_int );
+    ForeColor(blackColor);
+    PenMode( patCopy );
+    PaintRect( &black_rect );
+
+    ForeColor(whiteColor);
+    text = strdup( WINDOW_TEXT );
+    MoveTo( valuew.i_int / 2 - 40 , valueh.i_int / 2 );
+    DrawText( text , 0 , strlen(text) );
+
 #else
     /* FIXME: this cast sucks */
     value.i_int = (int) (ptrdiff_t) (void *) window->window;