[Mplayer-cvslog] CVS: main/Gui/mplayer play.c,1.15,1.16

Zoltan Ponekker pontscho at mplayer.dev.hu
Fri Aug 31 14:59:07 CEST 2001


Update of /cvsroot/mplayer/main/Gui/mplayer
In directory mplayer:/var/tmp.root/cvs-serv10879

Modified Files:
	play.c 
Log Message:
move skin changing here.

Index: play.c
===================================================================
RCS file: /cvsroot/mplayer/main/Gui/mplayer/play.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- play.c	31 Aug 2001 11:26:14 -0000	1.15
+++ play.c	31 Aug 2001 12:59:04 -0000	1.16
@@ -23,6 +23,11 @@
 #include "psignal.h"
 #include "play.h"
 
+#include "../skin/skin.h"
+#include "../config.h"
+#include "../error.h"
+#include "../language.h"
+
 mplCommStruct * mplShMem;
 char          * Filename = NULL;
 
@@ -134,3 +139,70 @@
 // ---
 }
 
+listItems tmpList;
+
+void ChangeSkin( void )
+{
+ if ( strcmp( cfgSkin,gtkShMem->sb.name ) )
+  {
+   int ret;
+#ifdef DEBUG
+   dbprintf( 1,"[psignal] skin: %s\n",gtkShMem->sb.name );
+#endif
+
+   mainVisible=0;
+
+   appInitStruct( &tmpList );
+   skinAppMPlayer=&tmpList;
+   ret=skinRead( gtkShMem->sb.name );
+
+   appInitStruct( &tmpList );
+   skinAppMPlayer=&appMPlayer;
+   appInitStruct( &appMPlayer );
+   if ( !ret ) strcpy( cfgSkin,gtkShMem->sb.name );
+   skinRead( cfgSkin );
+
+   if ( ret )
+    {
+     mainVisible=1;
+     return;
+    }
+
+//          appCopy( &appMPlayer,&tmpList );
+//          appInitStruct( &tmpList );
+//          skinAppMPlayer=&appMPlayer;
+//          strcpy( cfgSkin,gtkShMem->sb.name );
+
+   if ( mplDrawBuffer ) free( mplDrawBuffer );
+   if ( ( mplDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.main.Bitmap.ImageSize ) ) == NULL )
+    { message( False,langNEMDB ); return; }
+   wsResizeWindow( &appMPlayer.mainWindow,appMPlayer.main.width,appMPlayer.main.height );
+   wsMoveWindow( &appMPlayer.mainWindow,appMPlayer.main.x,appMPlayer.main.y );
+   wsResizeImage( &appMPlayer.mainWindow );
+   wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image );
+   mainVisible=1; mplMainRender=1; wsPostRedisplay( &appMPlayer.mainWindow );
+   btnModify( evSetVolume,mplShMem->Volume );
+   btnModify( evSetBalance,mplShMem->Balance );
+   btnModify( evSetMoviePosition,mplShMem->Position );
+
+   if ( appMPlayer.menuBase.Bitmap.Image )
+    {
+     if ( mplMenuDrawBuffer ) free( mplMenuDrawBuffer );
+     if ( ( mplMenuDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.menuBase.Bitmap.ImageSize ) ) == NULL )
+      { message( False,langNEMDB ); return; }
+     wsResizeWindow( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height );
+     wsResizeImage( &appMPlayer.menuWindow );
+    }
+
+   mplSkinChanged=1;
+   if ( !mplShMem->Playing )
+    {
+     mplSkinChanged=0;
+     if ( appMPlayer.subWindow.isFullScreen ) wsFullScreen( &appMPlayer.subWindow );
+     wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
+     wsMoveWindow( &appMPlayer.subWindow,appMPlayer.sub.x,appMPlayer.sub.y );
+     if ( appMPlayer.sub.Bitmap.Image ) wsResizeImage( &appMPlayer.subWindow );
+     mplSubRender=1; wsPostRedisplay( &appMPlayer.subWindow );
+    }
+  }
+}




More information about the MPlayer-cvslog mailing list