annotate gui/mplayer/sw.c @ 23305:22d3d12c6dfb

Include string.h for memcpy, fastmemcpy.h alone is not enough.
author reimar
date Wed, 16 May 2007 21:45:46 +0000
parents e564b9cd7290
children 8b61dc798f48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
2 // sub window
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
3
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
4 #include <inttypes.h>
23305
22d3d12c6dfb Include string.h for memcpy, fastmemcpy.h alone is not enough.
reimar
parents: 23154
diff changeset
5 #include <string.h>
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
6
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
7 #include "../config.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
8 #include "../libvo/x11_common.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
9 #include "../libvo/fastmemcpy.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
10
23154
e564b9cd7290 Fix several implicit declarations of functions warnings.
diego
parents: 23077
diff changeset
11 #include "gmplayer.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
12 #include "app.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
13 #include "interface.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
14 #include "../help_mp.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
15 #include "widgets.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
16
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
17 int mplSubRender = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18 int SubVisible = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
19
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
20 extern int boxMoved;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21 extern int sx,sy;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22 extern int i,pot;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 void mplSubDraw( void )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26 if ( appMPlayer.subWindow.State == wsWindowClosed ) exit_player( MSGTR_Exit_quit );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
27
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
28 if ( appMPlayer.subWindow.State == wsWindowFocusIn ) SubVisible++;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
29 if ( appMPlayer.subWindow.State == wsWindowFocusOut && metacity_hack != 3 ) SubVisible--;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
30
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
31 if ( !appMPlayer.subWindow.Mapped ||
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
32 appMPlayer.subWindow.Visible == wsWindowNotVisible ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
33
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
34 if ( guiIntfStruct.Playing ) mplSubRender=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
36 if ( mplSubRender && appMPlayer.subWindow.State == wsWindowExpose )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
37 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
38 if ( appMPlayer.sub.Bitmap.Image ) wsPutImage( &appMPlayer.subWindow );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
39 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
40 appMPlayer.subWindow.State=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
42
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
43 void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
44 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
45 static int mplSubMoved = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
46 static int msButton = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
47
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
48 mplPBShow( X,Y );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
49
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50 switch( Button )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
51 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
52 case wsRRMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
53 gtkShow( evShowPopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
54 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
55 case wsPMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
56 gtkShow( evHidePopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
57 mplShowMenu( RX,RY );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
58 msButton=wsPMMouseButton;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
59 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
60 case wsRMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61 mplHideMenu( RX,RY,1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
62 msButton=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
63 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
64 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
65 case wsPLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
66 gtkShow( evHidePopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
67 sx=X; sy=Y;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
68 msButton=wsPLMouseButton;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
69 mplSubMoved=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
71 case wsMoveMouse:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
72 switch ( msButton )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
73 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
74 case wsPLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
75 mplSubMoved=1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
76 if ( !appMPlayer.subWindow.isFullScreen ) wsMoveWindow( &appMPlayer.subWindow,False,RX - sx,RY - sy );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
77 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
78 case wsPMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
79 mplMenuMouseHandle( X,Y,RX,RY );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
80 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
81 default: mplPBShow( X,Y ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
83 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
84 case wsRLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
85 if ( ( !mplSubMoved )&&( appMPlayer.subWindow.isFullScreen ) )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
86 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
87 if( SubVisible++%2 ) wsMoveTopWindow( wsDisplay,appMPlayer.mainWindow.WindowID );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
88 else wsMoveTopWindow( wsDisplay,appMPlayer.subWindow.WindowID );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
89 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
90 msButton=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
91 mplSubMoved=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
92 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
93 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
94 }