annotate gui/mplayer/pb.c @ 32931:03b1051bed5c

Rename the 'NumberOf' members of the listItems structure. Since the NumberOfMainItems, NumberOfBarItems and NumberOfMenuItems members actually hold the last index used rather than the number of items, rename them 'IndexOf' to avoid further confusion. Besides, change their loop conditions to meet the new name.
author ib
date Thu, 03 Mar 2011 14:37:47 +0000
parents 933e784fb598
children 21e0de9c355f
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 );
32931
03b1051bed5c Rename the 'NumberOf' members of the listItems structure.
ib
parents: 32919
diff changeset
109 Render( &appMPlayer.barWindow,appMPlayer.barItems,appMPlayer.IndexOfBarItems,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
30535
016e5fc1dead GUI: Mark functions that are not used outside their files as static.
diego
parents: 29263
diff changeset
115 static void mplPBMouseHandle( int Button, int X, int Y, int RX, int RY )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
116 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
117 static int itemtype = 0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
118 int i;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
119 wItem * item = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
120 float value = 0.0f;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
121
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
122 static int SelectedItem = -1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
123 int currentselected = -1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
124
32931
03b1051bed5c Rename the 'NumberOf' members of the listItems structure.
ib
parents: 32919
diff changeset
125 for ( i=0;i <= appMPlayer.IndexOfBarItems;i++ )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
126 if ( ( appMPlayer.barItems[i].pressed != btnDisabled )&&
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
127 ( 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
128 { currentselected=i; break; }
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
129
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
130 switch ( Button )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
131 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
132 case wsPMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
133 gtkShow( evHidePopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
134 mplShowMenu( RX,RY );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
135 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
136 case wsRMMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
137 mplHideMenu( RX,RY,0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
138 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
139 case wsRRMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
140 gtkShow( evShowPopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
141 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
142 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
143 case wsPLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
144 gtkShow( evHidePopUpMenu,NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
145 SelectedItem=currentselected;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
146 if ( SelectedItem == -1 ) break; // yeees, i'm move the fucking window
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
147 item=&appMPlayer.barItems[SelectedItem];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
148 itemtype=item->type;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
149 item->pressed=btnPressed;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
150
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
151 switch( item->type )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
152 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
153 case itButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
154 if ( ( SelectedItem > -1 ) &&
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
155 ( ( ( item->message == evPlaySwitchToPause && item->message == evPauseSwitchToPlay ) ) ||
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
156 ( ( item->message == evPauseSwitchToPlay && item->message == evPlaySwitchToPause ) ) ) )
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
157 { item->pressed=btnDisabled; }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
158 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
159 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
160
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
161 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
162 case wsRLMouseButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
163 item=&appMPlayer.barItems[SelectedItem];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
164 item->pressed=btnReleased;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
165 SelectedItem=-1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
166 if ( currentselected == - 1 ) { itemtype=0; break; }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
167 value=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
168
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
169 switch( itemtype )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
170 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
171 case itPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
172 case itHPotmeter:
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
173 btnModify( item->message,(float)( X - item->x ) / item->width * 100.0f );
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
174 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
175 value=item->value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
176 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
177 case itVPotmeter:
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
178 btnModify( item->message, ( 1. - (float)( Y - item->y ) / item->height) * 100.0f );
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
179 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
180 value=item->value;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
181 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
182 }
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
183 mplEventHandling( item->message,value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
184
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
185 itemtype=0;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
186 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
187 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
188 case wsP5MouseButton: value=-2.5f; goto rollerhandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
189 case wsP4MouseButton: value= 2.5f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
190 rollerhandled:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
191 item=&appMPlayer.barItems[currentselected];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
192 if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
193 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
194 item->value+=value;
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
195 btnModify( item->message,item->value );
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
196 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
197 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
198 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
199 // ---
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
200 case wsMoveMouse:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
201 item=&appMPlayer.barItems[SelectedItem];
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
202 switch ( itemtype )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
203 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
204 case itPRMButton:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
205 mplMenuMouseHandle( X,Y,RX,RY );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
206 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
207 case itPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
208 item->value=(float)( X - item->x ) / item->width * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
209 goto potihandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
210 case itVPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
211 item->value=(1. - (float)( Y - item->y ) / item->height) * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
212 goto potihandled;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
213 case itHPotmeter:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
214 item->value=(float)( X - item->x ) / item->width * 100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
215 potihandled:
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
216 if ( item->value > 100.0f ) item->value=100.0f;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
217 if ( item->value < 0.0f ) item->value=0.0f;
32911
e06fbdd8eb46 Clean up the wItem structure.
ib
parents: 32467
diff changeset
218 mplEventHandling( item->message,item->value );
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
219 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
220 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
221 break;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
222 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
223 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
224
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
225 void mplPBShow( int x, int y )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
226 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
227 if ( !appMPlayer.barIsPresent || !gtkEnablePlayBar ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
228 if ( !appMPlayer.subWindow.isFullScreen ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
229
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
230 if ( y > appMPlayer.subWindow.Height - appMPlayer.bar.height )
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
231 {
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
232 if ( !mplPBFade ) wsVisibleWindow( &appMPlayer.barWindow,wsShowWindow );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
233 mplPBFade=1; mplPBVisible=1; wsPostRedisplay( &appMPlayer.barWindow );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
234 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
235 else if ( !mplPBFade ) mplPBFade=2;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
236 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
237
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
238 void mplPBInit( void )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
239 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
240 if ( !appMPlayer.barIsPresent ) return;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
241
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
242 gfree( (void**)&mplPBDrawBuffer );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
243
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
244 if ( ( mplPBDrawBuffer = malloc( appMPlayer.bar.Bitmap.ImageSize ) ) == NULL )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
245 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
246 mp_msg( MSGT_GPLAYER,MSGL_FATAL,MSGTR_NEMDB );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
247 exit( 0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
248 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
249
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
250 appMPlayer.barWindow.Parent=appMPlayer.subWindow.WindowID;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
251 wsCreateWindow( &appMPlayer.barWindow,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
252 appMPlayer.bar.x,appMPlayer.bar.y,appMPlayer.bar.width,appMPlayer.bar.height,
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
253 wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsHideFrame|wsHideWindow,"PlayBar" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
254
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
255 wsSetShape( &appMPlayer.barWindow,appMPlayer.bar.Mask.Image );
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
256
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
257 appMPlayer.barWindow.ReDraw=(void *)mplPBDraw;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
258 appMPlayer.barWindow.MouseHandler=mplPBMouseHandle;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
259 appMPlayer.barWindow.KeyHandler=mplMainKeyHandle;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28051
diff changeset
260
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
261 mplPBLength=appMPlayer.subWindow.Height;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
262 }