Mercurial > mplayer.hg
annotate Gui/mplayer/sw.c @ 14306:11a33796997c
Decode WV1F version of MPEG4 with libavcodec
author | rtognimp |
---|---|
date | Sun, 02 Jan 2005 21:20:24 +0000 |
parents | bc24dd70c6e2 |
children | 4a56f15dee5f |
rev | line source |
---|---|
1693 | 1 |
2 // sub window | |
3 | |
8864 | 4 #include <inttypes.h> |
5 | |
6 #include "../../config.h" | |
7 #include "../../libvo/x11_common.h" | |
9625 | 8 #include "../../libvo/fastmemcpy.h" |
8864 | 9 |
8055 | 10 #include "../app.h" |
11 #include "../interface.h" | |
12 #include "../../help_mp.h" | |
13 #include "widgets.h" | |
14 | |
6794 | 15 int mplSubRender = 0; |
1852 | 16 int SubVisible = 0; |
1812 | 17 |
8055 | 18 extern int boxMoved; |
19 extern int sx,sy; | |
20 extern int i,pot; | |
21 | |
8058 | 22 void mplSubDraw( void ) |
1693 | 23 { |
5919 | 24 if ( appMPlayer.subWindow.State == wsWindowClosed ) exit_player( MSGTR_Exit_quit ); |
25 | |
2045 | 26 if ( appMPlayer.subWindow.State == wsWindowFocusIn ) SubVisible++; |
8864 | 27 if ( appMPlayer.subWindow.State == wsWindowFocusOut && metacity_hack != 3 ) SubVisible--; |
2851
b64fa5d25142
add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents:
2045
diff
changeset
|
28 |
1852 | 29 if ( !appMPlayer.subWindow.Mapped || |
30 appMPlayer.subWindow.Visible == wsWindowNotVisible ) return; | |
1823 | 31 |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4797
diff
changeset
|
32 if ( guiIntfStruct.Playing ) mplSubRender=0; |
1693 | 33 |
6794 | 34 if ( mplSubRender && appMPlayer.subWindow.State == wsWindowExpose ) |
1693 | 35 { |
2029 | 36 if ( appMPlayer.sub.Bitmap.Image ) wsPutImage( &appMPlayer.subWindow ); |
1693 | 37 } |
2851
b64fa5d25142
add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents:
2045
diff
changeset
|
38 appMPlayer.subWindow.State=0; |
1693 | 39 } |
40 | |
41 void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY ) | |
42 { | |
1812 | 43 static int mplSubMoved = 0; |
2851
b64fa5d25142
add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents:
2045
diff
changeset
|
44 static int msButton = 0; |
1812 | 45 |
8973 | 46 mplPBShow( X,Y ); |
47 | |
1693 | 48 switch( Button ) |
49 { | |
6651 | 50 case wsPRMouseButton: |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4797
diff
changeset
|
51 gtkShow( evShowPopUpMenu,NULL ); |
2980 | 52 break; |
6651 | 53 case wsPMMouseButton: |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4797
diff
changeset
|
54 gtkShow( evHidePopUpMenu,NULL ); |
1693 | 55 mplShowMenu( RX,RY ); |
6651 | 56 msButton=wsPMMouseButton; |
1693 | 57 break; |
6651 | 58 case wsRMMouseButton: |
5919 | 59 mplHideMenu( RX,RY,1 ); |
1693 | 60 msButton=0; |
61 break; | |
2851
b64fa5d25142
add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents:
2045
diff
changeset
|
62 // --- |
1693 | 63 case wsPLMouseButton: |
4818
3473ca9ef158
new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents:
4797
diff
changeset
|
64 gtkShow( evHidePopUpMenu,NULL ); |
1693 | 65 sx=X; sy=Y; |
66 msButton=wsPLMouseButton; | |
67 mplSubMoved=0; | |
68 break; | |
69 case wsMoveMouse: | |
70 switch ( msButton ) | |
71 { | |
72 case wsPLMouseButton: | |
73 mplSubMoved=1; | |
2854 | 74 if ( !appMPlayer.subWindow.isFullScreen ) wsMoveWindow( &appMPlayer.subWindow,False,RX - sx,RY - sy ); |
1693 | 75 break; |
6651 | 76 case wsPMMouseButton: |
1693 | 77 mplMenuMouseHandle( X,Y,RX,RY ); |
78 break; | |
8973 | 79 default: mplPBShow( X,Y ); break; |
1693 | 80 } |
81 break; | |
82 case wsRLMouseButton: | |
5997
b5fb9a927bf3
add WM detection, and wm specific fullscreen code. (???)
pontscho
parents:
5919
diff
changeset
|
83 if ( ( !mplSubMoved )&&( appMPlayer.subWindow.isFullScreen ) ) |
2851
b64fa5d25142
add roleld mouse support and some small bugfix. neked jol a testedbe.
pontscho
parents:
2045
diff
changeset
|
84 { |
6146 | 85 if( SubVisible++%2 ) wsMoveTopWindow( wsDisplay,appMPlayer.mainWindow.WindowID ); |
8864 | 86 else wsMoveTopWindow( wsDisplay,appMPlayer.subWindow.WindowID ); |
6623 | 87 } |
1693 | 88 msButton=0; |
89 mplSubMoved=0; | |
90 break; | |
91 } | |
92 } |