comparison gui/mplayer/gui_common.c @ 32920:8661ae44ef39

Redefine button states. This allows a button state initialized all-bits-zero to automatically be disabled. (It was intended to be a purely cosmetic patch, but it turned out that there was a direct dependency between the value of the #defines and the layout of the skin images. This dependency is now eliminated.)
author ib
date Thu, 03 Mar 2011 11:06:42 +0000
parents e06fbdd8eb46
children 1aeeba137de9
comparison
equal deleted inserted replaced
32919:933e784fb598 32920:8661ae44ef39
260 260
261 void Render( wsTWindow * window,wItem * Items,int nrItems,char * db,int size ) 261 void Render( wsTWindow * window,wItem * Items,int nrItems,char * db,int size )
262 { 262 {
263 wItem * item; 263 wItem * item;
264 txSample * image = NULL; 264 txSample * image = NULL;
265 int i; 265 int i, ofs;
266 266
267 image_buffer=db; 267 image_buffer=db;
268 image_width=window->Width; 268 image_width=window->Width;
269 269
270 for( i=0;i < nrItems + 1;i++ ) 270 for( i=0;i < nrItems + 1;i++ )
271 { 271 {
272 item=&Items[i]; 272 item=&Items[i];
273 ofs = (item->pressed == btnPressed ? 0 : (item->pressed == btnReleased ? 1 : 2));
273 switch( item->type ) 274 switch( item->type )
274 { 275 {
275 case itButton: 276 case itButton:
276 PutImage( &item->Bitmap,item->x,item->y,3,item->pressed ); 277 PutImage( &item->Bitmap,item->x,item->y,3,ofs );
277 break; 278 break;
278 case itPotmeter: 279 case itPotmeter:
279 if (item->numphases == 1)SimplePotmeterPutImage( &item->Bitmap,item->x,item->y, item->value / 100.0f ); 280 if (item->numphases == 1)SimplePotmeterPutImage( &item->Bitmap,item->x,item->y, item->value / 100.0f );
280 else PutImage( &item->Bitmap,item->x,item->y,item->numphases,( item->numphases - 1 ) * ( item->value / 100.0f ) ); 281 else PutImage( &item->Bitmap,item->x,item->y,item->numphases,( item->numphases - 1 ) * ( item->value / 100.0f ) );
281 break; 282 break;
282 case itHPotmeter: 283 case itHPotmeter:
283 if (item->numphases == 1)SimplePotmeterPutImage( &item->Bitmap,item->x,item->y, item->value / 100.0f ); 284 if (item->numphases == 1)SimplePotmeterPutImage( &item->Bitmap,item->x,item->y, item->value / 100.0f );
284 else PutImage( &item->Bitmap,item->x,item->y,item->numphases,( item->numphases - 1 ) * ( item->value / 100.0f ) ); 285 else PutImage( &item->Bitmap,item->x,item->y,item->numphases,( item->numphases - 1 ) * ( item->value / 100.0f ) );
285 PutImage( &item->Mask,item->x + (int)( ( item->width - item->pwidth ) * item->value / 100.0f ),item->y,3,item->pressed ); 286 PutImage( &item->Mask,item->x + (int)( ( item->width - item->pwidth ) * item->value / 100.0f ),item->y,3,ofs );
286 break; 287 break;
287 case itVPotmeter: 288 case itVPotmeter:
288 PutImage( &item->Bitmap, 289 PutImage( &item->Bitmap,
289 item->x,item->y, 290 item->x,item->y,
290 item->numphases, 291 item->numphases,
291 item->numphases * ( 1. - item->value / 100.0f ) ); 292 item->numphases * ( 1. - item->value / 100.0f ) );
292 PutImage( &item->Mask, 293 PutImage( &item->Mask,
293 item->x,item->y + (int)( ( item->height - item->pheight ) * ( 1. - item->value / 100.0f ) ), 294 item->x,item->y + (int)( ( item->height - item->pheight ) * ( 1. - item->value / 100.0f ) ),
294 3,item->pressed ); 295 3,ofs );
295 break; 296 break;
296 case itSLabel: 297 case itSLabel:
297 image=fntRender( item,0,item->label ); 298 image=fntRender( item,0,item->label );
298 if ( image ) PutImage( image,item->x,item->y,1,0 ); 299 if ( image ) PutImage( image,item->x,item->y,1,0 );
299 case itDLabel: 300 case itDLabel: