annotate gui/ui/video.c @ 35484:9dceffa5d9b2

Set filename for MPlayer in GUI_PREPARE. This allows to remove some ugly code from uiEventHandling() (evPlay) whose sole purpose was setting the global filename variable. For CD, VCD and DVD this is (indirectly) done in GUI_PREPARE, too, so do it here for FILE and STREAM as well.
author ib
date Mon, 03 Dec 2012 14:10:12 +0000
parents 31a5320909f7
children 411875efca3f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
1 /*
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
2 * This file is part of MPlayer.
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
3 *
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
7 * (at your option) any later version.
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
8 *
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
12 * GNU General Public License for more details.
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
13 *
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License along
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
17 */
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
18
34699
ed0e00db4306 Cosmetic: Move, change and add some comments on GUI windows.
ib
parents: 34697
diff changeset
19 /* video window */
ed0e00db4306 Cosmetic: Move, change and add some comments on GUI windows.
ib
parents: 34697
diff changeset
20
34697
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
21 #include <string.h>
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
22
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
23 #include "libvo/x11_common.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
24 #include "help_mp.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
25 #include "mp_core.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
26
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
27 #include "gmplayer.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
28 #include "gui/app.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
29 #include "gui/interface.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
30 #include "widgets.h"
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
31
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
32 int uiVideoRender = 0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
33 int videoVisible = 0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
34
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
35 void uiVideoDraw( void )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
36 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
37 if ( guiApp.videoWindow.State == wsWindowClosed ) mplayer( MPLAYER_EXIT_GUI, EXIT_QUIT, 0 );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
38
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
39 if ( guiApp.videoWindow.State == wsWindowFocusIn ) videoVisible++;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
40 if ( guiApp.videoWindow.State == wsWindowFocusOut && metacity_hack != 3 ) videoVisible--;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
41
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
42 if ( !guiApp.videoWindow.Mapped ||
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
43 guiApp.videoWindow.Visible == wsWindowNotVisible ) return;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
44
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
45 if ( guiInfo.Playing ) uiVideoRender=0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
46
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
47 if ( uiVideoRender && guiApp.videoWindow.State == wsWindowExpose )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
48 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
49 if ( guiApp.video.Bitmap.Image ) wsPutImage( &guiApp.videoWindow );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
50 }
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
51 guiApp.videoWindow.State=0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
52 }
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
53
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
54 void uiVideoMouseHandle( int Button,int X,int Y,int RX,int RY )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
55 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
56 static int mplVideoMoved = 0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
57 static int msButton = 0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
58
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
59 uiPlaybarShow( Y );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
60
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
61 switch( Button )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
62 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
63 case wsRRMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
64 gtkShow( ivShowPopUpMenu,NULL );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
65 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
66 case wsPMMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
67 gtkShow( ivHidePopUpMenu,NULL );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
68 uiShowMenu( RX,RY );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
69 msButton=wsPMMouseButton;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
70 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
71 case wsRMMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
72 uiHideMenu( RX,RY,1 );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
73 msButton=0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
74 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
75 /* --- */
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
76 case wsPLMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
77 gtkShow( ivHidePopUpMenu,NULL );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
78 sx=X; sy=Y;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
79 msButton=wsPLMouseButton;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
80 mplVideoMoved=0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
81 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
82 case wsMoveMouse:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
83 switch ( msButton )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
84 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
85 case wsPLMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
86 mplVideoMoved=1;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
87 if ( !guiApp.videoWindow.isFullScreen )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
88 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
89 wsMoveWindow( &guiApp.videoWindow,True,RX - sx,RY - sy );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
90 guiApp.video.x = guiApp.videoWindow.X;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
91 guiApp.video.y = guiApp.videoWindow.Y;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
92 // NOTE TO MYSELF: dragging the title bar goes unnoticed?
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
93 }
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
94 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
95 case wsPMMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
96 uiMenuMouseHandle( RX,RY );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
97 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
98 default: uiPlaybarShow( Y ); break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
99 }
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
100 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
101 case wsRLMouseButton:
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
102 if ( ( !mplVideoMoved )&&( guiApp.videoWindow.isFullScreen ) )
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
103 {
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
104 if( videoVisible++%2 ) wsRaiseWindowTop( wsDisplay,guiApp.mainWindow.WindowID );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
105 else wsRaiseWindowTop( wsDisplay,guiApp.videoWindow.WindowID );
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
106 }
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
107 msButton=0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
108 mplVideoMoved=0;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
109 break;
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
110 }
ac6b38cd0d45 Rename sub window video window.
ib
parents:
diff changeset
111 }