summaryrefslogtreecommitdiffstats
path: root/Gui/mplayer/sw.h
diff options
context:
space:
mode:
Diffstat (limited to 'Gui/mplayer/sw.h')
-rw-r--r--Gui/mplayer/sw.h69
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