diff options
Diffstat (limited to 'Gui/mplayer/sw.h')
-rw-r--r-- | Gui/mplayer/sw.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Gui/mplayer/sw.h b/Gui/mplayer/sw.h new file mode 100644 index 0000000000..8d77c4625f --- /dev/null +++ b/Gui/mplayer/sw.h @@ -0,0 +1,69 @@ + +// sub window + +int mplSubRender = 1; +int mplSubMoved = 0; + +void mplSubDraw( wsParamDisplay ) +{ + if ( !appMPlayer.subWindow.Visible || mplShMem->Playing ) + { + mplSendMessage( mplExposeEvent ); + return; + } + + if ( mplSubRender ) + { + wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB ); + wsClearWindow( appMPlayer.subWindow ); + if ( appMPlayer.sub.Bitmap.Image ) wsConvert( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Image,appMPlayer.sub.Bitmap.ImageSize ); + mplSubRender=0; + } + if ( appMPlayer.sub.Bitmap.Image ) wsPutImage( &appMPlayer.subWindow ); + XFlush( wsDisplay ); + XSync( wsDisplay,False ); +} + +void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY ) +{ + mplMouseTimer=mplMouseTimerConst; + wsVisibleMouse( &appMPlayer.subWindow,wsShowMouseCursor ); + + switch( Button ) + { + case wsPRMouseButton: + mplShowMenu( RX,RY ); + msButton=wsPRMouseButton; + break; + case wsRRMouseButton: + mplHideMenu( RX,RY ); + msButton=0; + break; + case wsPLMouseButton: + sx=X; sy=Y; + msButton=wsPLMouseButton; + mplSubMoved=0; + break; + case wsMoveMouse: + switch ( msButton ) + { + case wsPLMouseButton: + mplSubMoved=1; + wsMoveWindow( &appMPlayer.subWindow,RX - sx,RY - sy ); + break; + case wsPRMouseButton: + mplMenuMouseHandle( X,Y,RX,RY ); + mplMouseTimer=mplMouseTimerConst; + break; + } + break; + case wsRLMouseButton: + if ( !mplSubMoved ) wsMoveTopWindow( &appMPlayer.mainWindow ); + msButton=0; + mplSubMoved=0; + break; + } +} + +//void mplSubResizeHandle( unsigned int X,unsigned int Y,unsigned int width,unsigned int height ) +//{ mplResize( X,Y,width,height ); }
\ No newline at end of file |