summaryrefslogtreecommitdiffstats
path: root/Gui/mplayer
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-09-04 15:21:00 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-09-04 15:21:00 +0000
commitd62c80d3bd462257c6ebdef6d0eefc9dc6d677b4 (patch)
tree50c548107999d8a45ce6cf46fdf3cb226686fec9 /Gui/mplayer
parent8ecd9ea9064d81eb2147f2aa22df863619fcefb5 (diff)
downloadmpv-d62c80d3bd462257c6ebdef6d0eefc9dc6d677b4.tar.bz2
mpv-d62c80d3bd462257c6ebdef6d0eefc9dc6d677b4.tar.xz
fix xshape, mixer, fullscreen, etc
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1853 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui/mplayer')
-rw-r--r--Gui/mplayer/play.c4
-rw-r--r--Gui/mplayer/sw.h22
2 files changed, 16 insertions, 10 deletions
diff --git a/Gui/mplayer/play.c b/Gui/mplayer/play.c
index 8649d4e53b..b1c10a18ac 100644
--- a/Gui/mplayer/play.c
+++ b/Gui/mplayer/play.c
@@ -66,8 +66,8 @@ void mplPlay( void )
( mplShMem->Playing == 1 ) ) return;
if ( mplShMem->Playing == 2 ) { mplPause(); return; }
mplShMem->Playing=1;
- wsClearWindow( appMPlayer.subWindow );
mplSubRender=0;
+ wsPostRedisplay( &appMPlayer.subWindow );
}
void mplPause( void )
@@ -90,7 +90,7 @@ void mplPause( void )
void mplResize( unsigned int X,unsigned int Y,unsigned int width,unsigned int height )
{
- printf( "----resize---> %dx%d --- \n",width,height );
+// printf( "----resize---> %dx%d --- \n",width,height );
vo_setwindowsize( width,height );
vo_resize=1;
}
diff --git a/Gui/mplayer/sw.h b/Gui/mplayer/sw.h
index 8529324313..040cb0d971 100644
--- a/Gui/mplayer/sw.h
+++ b/Gui/mplayer/sw.h
@@ -2,25 +2,30 @@
// sub window
int mplSubRender = 1;
+int SubVisible = 0;
void mplSubDraw( wsParamDisplay )
{
+ if ( appMPlayer.subWindow.State == wsFocused ||
+ appMPlayer.subWindow.State ==
+
+ ) SubVisible=0;
+
+ if ( !appMPlayer.subWindow.Mapped ||
+ appMPlayer.subWindow.Visible == wsWindowNotVisible ) return;
-// if ( ( appMPlayer.subWindow.Visible == wsWindowNotVisible )||
-// ( appMPlayer.subWindow.State != wsWindowExpose ) ) return;
-
- if ( ( mplShMem->Playing ) )//&&( appMPlayer.subWindow.State == wsWindowExpose ) )
+ if ( mplShMem->Playing )
{
+ wsSetBackgroundRGB( &appMPlayer.subWindow,0,0,0 );
+ wsClearWindow( appMPlayer.subWindow );
vo_expose=1;
mplSubRender=0;
}
if ( mplSubRender )
{
- wsSetForegroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
- XFillRectangle( wsDisplay,appMPlayer.subWindow.WindowID,appMPlayer.subWindow.wGC,0,0,
- appMPlayer.subWindow.Width,appMPlayer.subWindow.Height );
- if ( appMPlayer.sub.Bitmap.Image )
+ wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
+ if ( appMPlayer.sub.Bitmap.Image )
{
wsConvert( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Image,appMPlayer.sub.Bitmap.ImageSize );
wsPutImage( &appMPlayer.subWindow );
@@ -67,6 +72,7 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
}
break;
case wsRLMouseButton:
+ if ( ( !mplSubMoved )&&( !( SubVisible++%2 ) ) ) wsMoveTopWindow( &appMPlayer.mainWindow );
msButton=0;
mplSubMoved=0;
break;