Mercurial > mplayer.hg
diff Gui/mplayer/mplayer.c @ 1693:d237c5d4b216
GUI version n-1
author | arpi |
---|---|
date | Sat, 25 Aug 2001 21:04:29 +0000 |
parents | |
children | 0b881b5e9e7b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Gui/mplayer/mplayer.c Sat Aug 25 21:04:29 2001 +0000 @@ -0,0 +1,112 @@ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +#include "./mplayer.h" +#include "../events.h" +#include "../app.h" +#include "../skin/skin.h" +#include "../skin/font.h" +#include "../wm/ws.h" +#include "../wm/wskeys.h" +#include "../wm/widget.h" +#include "../bitmap/bitmap.h" +#include "../timer.h" +#include "../language.h" +#include "../error.h" + +#include "../../config.h" + +#define mplMouseTimerConst 100 +#define mplRedrawTimerConst 50 + +int mplMouseTimer = mplMouseTimerConst; +int mplRedrawTimer = mplRedrawTimerConst; +int mplGeneralTimer = -1; +int mplTimer = 0; + +int mplSkinChanged = 0; + +void mplMsgHandle( int msg,float param ); + +#include "widgets.h" +#include "play.h" +#include "menu.h" +#include "mw.h" +#include "sw.h" +#include "widget.h" + +void mplTimerHandler( int signum ) +{ + mplTimer++; + mplMouseTimer--; + mplRedrawTimer--; + mplGeneralTimer--; + if ( mplMouseTimer == 0 ) mplMsgHandle( evHideMouseCursor,0 ); + if ( mplRedrawTimer == 0 ) mplMsgHandle( evRedraw,0 ); + if ( mplGeneralTimer == 0 ) mplMsgHandle( evGeneralTimer,0 ); +} + +void mplInit( int argc,char* argv[], char *envp[] ) +{ +// parse_cfgfiles( argc,argv,envp ); + gtkInit( argc,argv,envp ); + mplMPlayerInit( argc,argv,envp ); + + message=mplErrorHandler; + + wsXInit(); + + if ( ( mplDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.main.Bitmap.ImageSize ) ) == NULL ) + { + fprintf( stderr,langNEMDB ); + exit( 0 ); + } + + wsCreateWindow( &appMPlayer.subWindow, + appMPlayer.sub.x,appMPlayer.sub.y,appMPlayer.sub.width,appMPlayer.sub.height, + wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsShowFrame|wsShowWindow,"ViDEO" ); + + wsCreateWindow( &appMPlayer.mainWindow, + appMPlayer.main.x,appMPlayer.main.y,appMPlayer.main.width,appMPlayer.main.height, + wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsHideFrame|wsMaxSize|wsMinSize|wsShowWindow,"MPlayer" ); + + wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image ); + + mplMenuInit(); + + #ifdef DEBUG + dbprintf( 1,"[main] Depth on screen: %d\n",wsDepthOnScreen ); + dbprintf( 1,"[main] parent: 0x%x\n",(int)appMPlayer.mainWindow.WindowID ); + dbprintf( 1,"[main] sub: 0x%x\n",(int)appMPlayer.subWindow.WindowID ); + #endif + + appMPlayer.mainWindow.ReDraw=mplMainDraw; + appMPlayer.mainWindow.MouseHandler=mplMainMouseHandle; + appMPlayer.mainWindow.KeyHandler=mplMainKeyHandle; + + appMPlayer.subWindow.ReDraw=mplSubDraw; + appMPlayer.subWindow.MouseHandler=mplSubMouseHandle; + appMPlayer.subWindow.KeyHandler=mplMainKeyHandle; + appMPlayer.subWindow.ReSize=mplResize; + + wsPostRedisplay( &appMPlayer.mainWindow ); + wsPostRedisplay( &appMPlayer.subWindow ); + + btnModify( evSetVolume,mplShMem->Volume ); + btnModify( evSetBalance,mplShMem->Balance ); + btnModify( evSetMoviePosition,mplShMem->Position ); + + timerSetHandler( mplTimerHandler ); + timerInit(); + + wsMainLoop(); + + dbprintf( 1,"[mplayer] exit.\n" ); + + mplStop(); + timerDone(); + gtkDone(); + wsXDone(); +}