diff options
author | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-05-28 14:12:33 +0000 |
---|---|---|
committer | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-05-28 14:12:33 +0000 |
commit | c10381ca79ad3738fe4f46c45c96e0d63053f4be (patch) | |
tree | fcc8b8173d514bde0572296b44df87ca1d8308fd /Gui | |
parent | 555ec7acbeef82132169ed1ad1f8e28ae7ae77af (diff) |
add XShape support for gui's submenu
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6222 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r-- | Gui/mplayer/menu.h | 3 | ||||
-rw-r--r-- | Gui/mplayer/play.c | 1 | ||||
-rw-r--r-- | Gui/skin/skin.c | 29 |
3 files changed, 20 insertions, 13 deletions
diff --git a/Gui/mplayer/menu.h b/Gui/mplayer/menu.h index 3e67e9c32f..c83d247468 100644 --- a/Gui/mplayer/menu.h +++ b/Gui/mplayer/menu.h @@ -80,6 +80,7 @@ void mplShowMenu( int mx,int my ) wsMoveWindow( &appMPlayer.menuWindow,False,x,y ); wsMoveTopWindow( wsDisplay,appMPlayer.menuWindow.WindowID ); + wsSetLayer( wsDisplay,appMPlayer.menuWindow.WindowID,1 ); mplMenuRender=1; wsVisibleWindow( &appMPlayer.menuWindow,wsShowWindow ); wsPostRedisplay( &appMPlayer.menuWindow ); @@ -132,6 +133,8 @@ void mplMenuInit( void ) appMPlayer.menuBase.x,appMPlayer.menuBase.y,appMPlayer.menuBase.width,appMPlayer.menuBase.height, wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsOverredirect|wsHideFrame|wsMaxSize|wsMinSize|wsHideWindow,"MPlayer menu" ); + wsSetShape( &appMPlayer.menuWindow,appMPlayer.menuBase.Mask.Image ); + #ifdef DEBUG mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[menu.h] menu: 0x%x\n",(int)appMPlayer.menuWindow.WindowID ); #endif diff --git a/Gui/mplayer/play.c b/Gui/mplayer/play.c index 0feb3d0a4d..436b102b7a 100644 --- a/Gui/mplayer/play.c +++ b/Gui/mplayer/play.c @@ -182,6 +182,7 @@ void ChangeSkin( char * name ) { mp_msg( MSGT_GPLAYER,MSGL_STATUS,MSGTR_NEMDB ); return; } wsResizeWindow( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height ); wsResizeImage( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height ); + wsSetShape( &appMPlayer.menuWindow,appMPlayer.menuBase.Mask.Image ); wsVisibleWindow( &appMPlayer.menuWindow,wsHideWindow ); } diff --git a/Gui/skin/skin.c b/Gui/skin/skin.c index fc27cb3878..26cd8919cb 100644 --- a/Gui/skin/skin.c +++ b/Gui/skin/skin.c @@ -160,19 +160,6 @@ int __base( char * in ) } mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[skin] %d,%d %dx%d\n",defList->sub.x,defList->sub.y,defList->sub.width,defList->sub.height ); } -/* - if ( !strcmp( winList,"eq" ) ) - { - defList->eq.x=x; - defList->eq.y=y; - defList->eq.type=itBase; - strcpy( tmp,path ); strcat( tmp,fname ); - if ( skinBPRead( tmp,&defList->eq.Bitmap ) ) return 1; - defList->eq.width=defList->eq.Bitmap.Width; - defList->eq.height=defList->eq.Bitmap.Height; - mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[skin] width: %d height: %d\n",defList->eq.width,defList->eq.height ); - } -*/ if ( !strcmp( winList,"menu" ) ) { defList->menuBase.type=itBase; @@ -180,6 +167,22 @@ int __base( char * in ) if ( skinBPRead( tmp,&defList->menuBase.Bitmap ) ) return 1; defList->menuBase.width=defList->menuBase.Bitmap.Width; defList->menuBase.height=defList->menuBase.Bitmap.Height; + #ifdef HAVE_XSHAPE + Convert32to1( &defList->menuBase.Bitmap,&defList->menuBase.Mask,0x00ff00ff ); +#if 0 + { + if ( defList->menuBase.Mask.Image != NULL ) + { + txSample d; + Convert1to32( &defList->menuBase.Mask,&d ); + tgaWriteTexture( "debug.tga",&d ); + } + } +#endif + mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[skin] mask: %dx%d\n",defList->menuBase.Mask.Width,defList->menuBase.Mask.Height ); + #else + defList->menuBase.Mask.Image=NULL; + #endif mp_dbg( MSGT_GPLAYER,MSGL_DBG2,"[skin] width: %d height: %d\n",defList->menuBase.width,defList->menuBase.height ); } return 0; |