summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-28 14:12:33 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-28 14:12:33 +0000
commitc10381ca79ad3738fe4f46c45c96e0d63053f4be (patch)
treefcc8b8173d514bde0572296b44df87ca1d8308fd /Gui
parent555ec7acbeef82132169ed1ad1f8e28ae7ae77af (diff)
downloadmpv-c10381ca79ad3738fe4f46c45c96e0d63053f4be.tar.bz2
mpv-c10381ca79ad3738fe4f46c45c96e0d63053f4be.tar.xz
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.h3
-rw-r--r--Gui/mplayer/play.c1
-rw-r--r--Gui/skin/skin.c29
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;