summaryrefslogtreecommitdiffstats
path: root/gui/app.c
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-23 07:42:42 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-23 07:42:42 +0000
commit5c9abf7f9f02a3b675072b2725c2814d1c1ee239 (patch)
tree8e213b4087e2b185725c378bd01c495de587c759 /gui/app.c
parentc9e2a43f1ae48831b0110abc6d92e51b325cf863 (diff)
downloadmpv-5c9abf7f9f02a3b675072b2725c2814d1c1ee239.tar.bz2
mpv-5c9abf7f9f02a3b675072b2725c2814d1c1ee239.tar.xz
Gui --> gui
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23095 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'gui/app.c')
-rw-r--r--gui/app.c225
1 files changed, 225 insertions, 0 deletions
diff --git a/gui/app.c b/gui/app.c
new file mode 100644
index 0000000000..d375296dc4
--- /dev/null
+++ b/gui/app.c
@@ -0,0 +1,225 @@
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "config.h"
+#include "mp_msg.h"
+#include "help_mp.h"
+
+#include "app.h"
+#include "wm/wskeys.h"
+#include "skin/skin.h"
+#include "mplayer/gmplayer.h"
+#include "interface.h"
+
+evName evNames[] =
+ {
+ { evNone, "evNone" },
+ { evPlay, "evPlay" },
+ { evStop, "evStop" },
+ { evPause, "evPause" },
+ { evPrev, "evPrev" },
+ { evNext, "evNext" },
+ { evLoad, "evLoad" },
+ { evEqualizer, "evEqualizer" },
+ { evEqualizer, "evEqualeaser" },
+ { evPlayList, "evPlaylist" },
+ { evExit, "evExit" },
+ { evIconify, "evIconify" },
+ { evIncBalance, "evIncBalance" },
+ { evDecBalance, "evDecBalance" },
+ { evFullScreen, "evFullScreen" },
+ { evFName, "evFName" },
+ { evMovieTime, "evMovieTime" },
+ { evAbout, "evAbout" },
+ { evLoadPlay, "evLoadPlay" },
+ { evPreferences, "evPreferences" },
+ { evSkinBrowser, "evSkinBrowser" },
+ { evBackward10sec, "evBackward10sec" },
+ { evForward10sec, "evForward10sec" },
+ { evBackward1min, "evBackward1min" },
+ { evForward1min, "evForward1min" },
+ { evBackward10min, "evBackward10min" },
+ { evForward10min, "evForward10min" },
+ { evIncVolume, "evIncVolume" },
+ { evDecVolume, "evDecVolume" },
+ { evMute, "evMute" },
+ { evIncAudioBufDelay, "evIncAudioBufDelay" },
+ { evDecAudioBufDelay, "evDecAudioBufDelay" },
+ { evPlaySwitchToPause, "evPlaySwitchToPause" },
+ { evPauseSwitchToPlay, "evPauseSwitchToPlay" },
+ { evNormalSize, "evHalfSize" },
+ { evNormalSize, "evNormalSize" },
+ { evDoubleSize, "evDoubleSize" },
+ { evSetMoviePosition, "evSetMoviePosition" },
+ { evSetVolume, "evSetVolume" },
+ { evSetBalance, "evSetBalance" },
+ { evHelp, "evHelp" },
+ { evLoadSubtitle, "evLoadSubtitle" },
+ { evPlayDVD, "evPlayDVD" },
+ { evPlayVCD, "evPlayVCD" },
+ { evSetURL, "evSetURL" },
+ { evLoadAudioFile, "evLoadAudioFile" },
+ { evDropSubtitle, "evDropSubtitle" },
+ { evSetAspect, "evSetAspect" }
+ };
+
+int evBoxs = sizeof( evNames ) / sizeof( evName );
+
+// ---
+
+extern char *get_path(const char *);
+
+listItems appMPlayer;
+
+/* FIXME: Eventually remove the obsolete directory names. */
+char * skinDirInHome=NULL;
+char * skinDirInHome_obsolete=NULL;
+char * skinMPlayerDir=NULL;
+char * skinMPlayerDir_obsolete=NULL;
+char * skinName = NULL;
+
+void appClearItem( wItem * item )
+{
+ item->type=0;
+// ---
+ item->x=0; item->y=0; item->width=0; item->height=0;
+// ---
+ item->px=0; item->py=0; item->psx=0; item->psy=0;
+// ---
+ item->msg=0; item->msg2=0;
+ item->pressed=btnReleased;
+ item->tmp=0;
+ item->key=0; item->key2=0;
+ item->Bitmap.Width=0; item->Bitmap.Height=0; item->Bitmap.BPP=0; item->Bitmap.ImageSize=0;
+ if ( item->Bitmap.Image ) free( item->Bitmap.Image );
+ item->Bitmap.Image=NULL;
+// ---
+ item->fontid=0;
+ if ( item->label ) free( item->label ); item->label=NULL;
+ item->event=0;
+}
+
+void appCopy( listItems * dest,listItems * source )
+{
+ dest->NumberOfItems=source->NumberOfItems;
+ memcpy( &dest->Items,&source->Items,128 * sizeof( wItem ) );
+
+ dest->NumberOfMenuItems=source->NumberOfMenuItems;
+ memcpy( &dest->MenuItems,&source->MenuItems,32 * sizeof( wItem ) );
+
+ memcpy( &dest->main,&source->main,sizeof( wItem ) );
+ memcpy( &dest->sub,&source->sub,sizeof( wItem ) );
+ memcpy( &dest->menuBase,&source->menuBase,sizeof( wItem ) );
+ memcpy( &dest->menuSelected,&source->menuSelected,sizeof( wItem ) );
+}
+
+void appInitStruct( listItems * item )
+{
+ int i;
+ for ( i=0;i<item->NumberOfItems;i++ )
+ appClearItem( &item->Items[i] );
+ for ( i=0;i<item->NumberOfMenuItems;i++ )
+ appClearItem( &item->MenuItems[i] );
+ for ( i=0;i<item->NumberOfBarItems;i++ )
+ appClearItem( &item->barItems[i] );
+
+ item->NumberOfItems=-1;
+ memset( item->Items,0,256 * sizeof( wItem ) );
+ item->NumberOfMenuItems=-1;
+ memset( item->MenuItems,0,64 * sizeof( wItem ) );
+ item->NumberOfBarItems=-1;
+ memset( item->barItems,0,256 * sizeof( wItem ) );
+
+ appClearItem( &item->main );
+ item->mainDecoration=0;
+ appClearItem( &item->sub );
+ item->sub.width=0; item->sub.height=0;
+ item->sub.x=-1; item->sub.y=-1;
+ appClearItem( &item->menuBase );
+ appClearItem( &item->menuSelected );
+ item->sub.R=item->sub.G=item->sub.B=0;
+ item->bar.R=item->bar.G=item->bar.B=0;
+ item->main.R=item->main.G=item->main.B=0;
+ item->barIsPresent=0;
+ item->menuIsPresent=0;
+}
+
+int appFindKey( unsigned char * name )
+{
+ int i;
+ for ( i=0;i<wsKeyNumber;i++ )
+ if ( !strcmp( wsKeyNames[i].name,name ) ) return wsKeyNames[i].code;
+ return -1;
+}
+
+int appFindMessage( unsigned char * str )
+{
+ int i;
+ for ( i=0;i<evBoxs;i++ )
+ if ( !strcmp( evNames[i].name,str ) ) return evNames[i].msg;
+ return -1;
+}
+
+void btnModify( int event,float state )
+{
+ int j;
+ for ( j=0;j < appMPlayer.NumberOfItems + 1;j++ )
+ if ( appMPlayer.Items[j].msg == event )
+ {
+ switch ( appMPlayer.Items[j].type )
+ {
+ case itButton:
+ appMPlayer.Items[j].pressed=(int)state;
+ appMPlayer.Items[j].tmp=(int)state;
+ break;
+ case itPotmeter:
+ case itVPotmeter:
+ case itHPotmeter:
+ if ( state < 0.0f ) state=0.0f;
+ if ( state > 100.f ) state=100.0f;
+ appMPlayer.Items[j].value=state;
+ break;
+ }
+ }
+
+ for ( j=0;j < appMPlayer.NumberOfBarItems + 1;j++ )
+ if ( appMPlayer.barItems[j].msg == event )
+ {
+ switch ( appMPlayer.barItems[j].type )
+ {
+ case itButton:
+ appMPlayer.barItems[j].pressed=(int)state;
+ appMPlayer.barItems[j].tmp=(int)state;
+ break;
+ case itPotmeter:
+ case itVPotmeter:
+ case itHPotmeter:
+ if ( state < 0.0f ) state=0.0f;
+ if ( state > 100.f ) state=100.0f;
+ appMPlayer.barItems[j].value=state;
+ break;
+ }
+ }
+}
+
+float btnGetValue( int event )
+{
+ int j;
+ for ( j=0;j<appMPlayer.NumberOfItems + 1;j++ )
+ if ( appMPlayer.Items[j].msg == event ) return appMPlayer.Items[j].value;
+ return 0;
+}
+
+void btnSet( int event,int set )
+{
+ int j;
+ for ( j=0;j<appMPlayer.NumberOfItems + 1;j++ )
+ if ( appMPlayer.Items[j].msg == event )
+ { appMPlayer.Items[j].pressed=set; appMPlayer.barItems[j].tmp=0; }
+ for ( j=0;j<appMPlayer.NumberOfBarItems + 1;j++ )
+ if ( appMPlayer.barItems[j].msg == event )
+ { appMPlayer.barItems[j].pressed=set; appMPlayer.barItems[j].tmp=0; }
+}