annotate gui/mplayer/pb.c @ 32911:e06fbdd8eb46

Clean up the wItem structure. Rearrange and group members, remove unused members and rename some members to be more informative and precise.
author ib
date Wed, 02 Mar 2011 15:37:50 +0000
parents fbe5c829c69b
children 933e784fb598
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
2 * main window
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
4 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
5 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
6 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
7 * it under the terms of the GNU General Public License as published by
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
9 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
10 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
11 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
14 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
15 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
16 * You should have received a copy of the GNU General Public License along
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
17 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26382
diff changeset
19 */
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
20
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21 #include <stdlib.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22 #include <stdio.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23 #include <inttypes.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 #include <sys/stat.h>
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25 #include <unistd.h>
23305
22d3d12c6dfb Include string.h for memcpy, fastmemcpy.h alone is not enough.
reimar
parents: 23077
diff changeset
26 #include <string.h>
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
27
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
28 #include "config.h"
26365
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
29 #include "gui/app.h"
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
30 #include "gui/skin/font.h"
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
31 #include "gui/skin/skin.h"
10dfbc523184 Add gui/ prefix to some #include paths so that compilation from the
diego
parents: 26203
diff changeset
32 #include "gui/wm/ws.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
33
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
34 #include "help_mp.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
35 #include "libvo/x11_common.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
36 #include "libvo/fastmemcpy.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
37
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
38 #include "stream/stream.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
39 #include "mixer.h"
32467
fbe5c829c69b Move libvo/sub.[ch] from libvo to sub.
cigaes
parents: 30535
diff changeset
40 #include "sub/sub.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41
26382
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
42 #include "libmpdemux/demuxer.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
43 #include "libmpdemux/stheader.h"
b2f4abcf20ed Make include paths consistent; do not use ../ in them.
diego
parents: 26365
diff changeset
44 #include "codec-cfg.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
45
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
46 #include "gmplayer.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
47 #include "play.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
48 #include "widgets.h"
25603
01754b23193e Rename common.[ch], there are too many files by that name.
diego
parents: 23457
diff changeset
49 #include "gui_common.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
51 unsigned int GetTimerMS( void );
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26458
diff changeset
52 unsigned int GetTimer( void );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
53
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
54 unsigned char * mplPBDrawBuffer = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
55 int mplPBVisible = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
56 int mplPBLength = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
57 int mplPBFade = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
58
30535
016e5fc1dead GUI: Mark functions that are not used outside their files as static.
diego
parents: 29263
diff changeset
59 static void mplPBDraw( void )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
60 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61 int x;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
62
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
63 if ( !appMPlayer.subWindow.isFullScreen ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
64 if ( !mplPBVisible || !appMPlayer.barIsPresent ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
65
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
66 // appMPlayer.bar.x=( appMPlayer.subWindow.Width - appMPlayer.bar.width ) / 2;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
67 switch( appMPlayer.bar.x )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
68 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
69 case -1: x=( appMPlayer.subWindow.Width - appMPlayer.bar.width ) / 2; break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70 case -2: x=( appMPlayer.subWindow.Width - appMPlayer.bar.width ); break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
71 default: x=appMPlayer.bar.x;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
72 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
73
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
74 switch ( mplPBFade )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
75 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
76 case 1: // fade in
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
77 mplPBLength--;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
78 if ( appMPlayer.subWindow.Height - appMPlayer.bar.height >= mplPBLength )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
79 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
80 mplPBLength=appMPlayer.subWindow.Height - appMPlayer.bar.height;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
81 mplPBFade=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82 vo_mouse_autohide=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
83 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
84 wsMoveWindow( &appMPlayer.barWindow,0,x,mplPBLength );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
85 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
86 case 2: // fade out
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
87 mplPBLength+=10;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
88 if ( mplPBLength > appMPlayer.subWindow.Height )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
89 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
90 mplPBLength=appMPlayer.subWindow.Height;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
91 mplPBFade=mplPBVisible=0;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
92 vo_mouse_autohide=1;
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
93 wsVisibleWindow( &appMPlayer.barWindow,wsHideWindow );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
94 return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
95 }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
96 wsMoveWindow( &appMPlayer.barWindow,0,x,mplPBLength );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
97 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
98 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
99
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
100 // --- render
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
101 if ( appMPlayer.barWindow.State == wsWindowExpose )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
102 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
103 btnModify( evSetMoviePosition,guiIntfStruct.Position );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
104 btnModify( evSetVolume,guiIntfStruct.Volume );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
105
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
106 vo_mouse_autohide=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
107
23457
a124f3abc1ec Replace implicit use of fast_memcpy via macro by explicit use to allow
reimar
parents: 23305
diff changeset
108 fast_memcpy( mplPBDrawBuffer,appMPlayer.bar.Bitmap.Image,appMPlayer.bar.Bitmap.ImageSize );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
109 Render( &appMPlayer.barWindow,appMPlayer.barItems,appMPlayer.NumberOfBarItems,mplPBDrawBuffer,appMPlayer.bar.Bitmap.ImageSize );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
110 wsConvert( &appMPlayer.barWindow,mplPBDrawBuffer,appMPlayer.bar.Bitmap.ImageSize );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
111 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
112 wsPutImage( &appMPlayer.barWindow );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
113 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
114
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
115 #define itPLMButton (itNULL - 1)
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
116 #define itPRMButton (itNULL - 2)
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
117
30535
016e5fc1dead GUI: Mark functions that are not used outside their files as static.
diego
parents: 29263
diff changeset
118 static void mplPBMouseHandle( int Button, int X, int Y, int RX, int RY )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
119 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
120 static int itemtype = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
121 int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
122 wItem * item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
123 float value = 0.0f;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
124
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
125 static int SelectedItem = -1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
126 int currentselected = -1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
127
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
128 for ( i=0;i < appMPlayer.NumberOfBarItems + 1;i++ )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
129 if ( ( appMPlayer.barItems[i].pressed != btnDisabled )&&
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
130 ( wgIsRect( X,Y,appMPlayer.barItems[i].x,appMPlayer.barItems[i].y,appMPlayer.barItems[i].x+appMPlayer.barItems[i].width,appMPlayer.barItems[i].y+appMPlayer.barItems[i].height ) ) )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
131 { currentselected=i; break; }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
132
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
133 switch ( Button )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
134 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
135 case wsPMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
136 gtkShow( evHidePopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
137 mplShowMenu( RX,RY );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
138 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
139 case wsRMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
140 mplHideMenu( RX,RY,0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
141 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
142 case wsRRMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
143 gtkShow( evShowPopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
144 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
145 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
146 case wsPLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
147 gtkShow( evHidePopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
148 SelectedItem=currentselected;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
149 if ( SelectedItem == -1 ) break; // yeees, i'm move the fucking window
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
150 item=&appMPlayer.barItems[SelectedItem];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
151 itemtype=item->type;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
152 item->pressed=btnPressed;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
153
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
154 switch( item->type )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
155 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
156 case itButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
157 if ( ( SelectedItem > -1 ) &&
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
158 ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) ||
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
159 ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
160 { item->pressed=btnDisabled; }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
161 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
162 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
163
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
164 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
165 case wsRLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
166 item=&appMPlayer.barItems[SelectedItem];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
167 item->pressed=btnReleased;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
168 SelectedItem=-1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
169 if ( currentselected == - 1 ) { itemtype=0; break; }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
170 value=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
171
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
172 switch( itemtype )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
173 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
174 case itPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
175 case itHPotmeter:
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
176 btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f );
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
177 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
178 value=item->value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
179 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
180 case itVPotmeter:
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
181 btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f );
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
182 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
183 value=item->value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
184 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
185 }
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
186 mplEventHandling( item->message,value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
187
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
188 itemtype=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
189 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
190 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
191 case wsP5MouseButton: value=-2.5f; goto rollerhandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
192 case wsP4MouseButton: value= 2.5f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
193 rollerhandled:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
194 item=&appMPlayer.barItems[currentselected];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
195 if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
196 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
197 item->value+=value;
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
198 btnModify( item->message,item->value );
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
199 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
200 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
201 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
202 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
203 case wsMoveMouse:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
204 item=&appMPlayer.barItems[SelectedItem];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
205 switch ( itemtype )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
206 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
207 case itPRMButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
208 mplMenuMouseHandle( X,Y,RX,RY );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
209 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
210 case itPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
211 item->value=(float)( X - item->x ) / item->width * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
212 goto potihandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
213 case itVPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
214 item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
215 goto potihandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
216 case itHPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
217 item->value=(float)( X - item->x ) / item->width * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
218 potihandled:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
219 if ( item->value > 100.0f ) item->value=100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
220 if ( item->value < 0.0f ) item->value=0.0f;
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
221 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
222 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
223 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
224 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
225 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
226 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
227
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
228 void mplPBShow( int x, int y )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
229 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
230 if ( !appMPlayer.barIsPresent || !gtkEnablePlayBar ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
231 if ( !appMPlayer.subWindow.isFullScreen ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
232
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
233 if ( y > appMPlayer.subWindow.Height - appMPlayer.bar.height )
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
234 {
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
235 if ( !mplPBFade ) wsVisibleWindow( &appMPlayer.barWindow,wsShowWindow );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
236 mplPBFade=1; mplPBVisible=1; wsPostRedisplay( &appMPlayer.barWindow );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
237 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
238 else if ( !mplPBFade ) mplPBFade=2;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
239 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
240
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
241 void mplPBInit( void )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
242 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
243 if ( !appMPlayer.barIsPresent ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
244
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
245 gfree( (void**)&mplPBDrawBuffer );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
246
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
247 if ( ( mplPBDrawBuffer = malloc( appMPlayer.bar.Bitmap.ImageSize ) ) == NULL )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
248 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
249 mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_NEMDB );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
250 exit( 0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
251 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
252
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
253 appMPlayer.barWindow.Parent=appMPlayer.subWindow.WindowID;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
254 wsCreateWindow( &appMPlayer.barWindow,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
255 appMPlayer.bar.x,appMPlayer.bar.y,appMPlayer.bar.width,appMPlayer.bar.height,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
256 wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsHideFrame|wsHideWindow,"PlayBar" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
257
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
258 wsSetShape( &appMPlayer.barWindow,appMPlayer.bar.Mask.Image );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
259
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
260 appMPlayer.barWindow.ReDraw=(void *)mplPBDraw;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
261 appMPlayer.barWindow.MouseHandler=mplPBMouseHandle;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
262 appMPlayer.barWindow.KeyHandler=mplMainKeyHandle;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
263
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
264 mplPBLength=appMPlayer.subWindow.Height;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
265 }