Mercurial > mplayer.hg
changeset 1800:f5ffb03ebdb5
move skin changing here.
author | pontscho |
---|---|
date | Fri, 31 Aug 2001 12:59:04 +0000 |
parents | b26a936b24e4 |
children | e16646a140fd |
files | Gui/mplayer/play.c |
diffstat | 1 files changed, 72 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Gui/mplayer/play.c Fri Aug 31 12:58:43 2001 +0000 +++ b/Gui/mplayer/play.c Fri Aug 31 12:59:04 2001 +0000 @@ -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 ); + } + } +}