summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorvayne <vayne@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-02 00:33:32 +0000
committervayne <vayne@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-02 00:33:32 +0000
commit3e97fa2450f012d3843af6b771fb7f907ccb5d9a (patch)
tree0da9426efa7d7dc0b7baf0f135f53b320dfe7bb1 /Gui
parent6ed7b7d849cbf69eb5d342d4bdc12f99b46ea5a6 (diff)
downloadmpv-3e97fa2450f012d3843af6b771fb7f907ccb5d9a.tar.bz2
mpv-3e97fa2450f012d3843af6b771fb7f907ccb5d9a.tar.xz
simplify and modify fullscreen switching to avoid improper aspects
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22407 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r--Gui/win32/interface.c49
1 files changed, 25 insertions, 24 deletions
diff --git a/Gui/win32/interface.c b/Gui/win32/interface.c
index 8a8a7affee..e3e193c59a 100644
--- a/Gui/win32/interface.c
+++ b/Gui/win32/interface.c
@@ -431,6 +431,30 @@ void mplSetFileName(char *dir, char *name, int type)
free((void **) &guiIntfStruct.Subtitlename);
}
+void mplFullScreen( void )
+{
+ if(!guiIntfStruct.sh_video) return;
+
+ if(sub_window)
+ {
+ if(!fullscreen && IsWindowVisible(mygui->subwindow) && !IsIconic(mygui->subwindow))
+ GetWindowRect(mygui->subwindow, &old_rect);
+
+ if(fullscreen)
+ {
+ fullscreen = 0;
+ style = WS_OVERLAPPEDWINDOW | WS_SIZEBOX;
+ } else {
+ fullscreen = 1;
+ style = WS_VISIBLE | WS_POPUP;
+ }
+ SetWindowLong(mygui->subwindow, GWL_STYLE, style);
+ update_subwindow();
+ }
+ video_out->control(VOCTRL_FULLSCREEN, 0);
+ if(sub_window) ShowWindow(mygui->subwindow, SW_SHOW);
+}
+
static DWORD WINAPI GuiThread(void)
{
MSG msg;
@@ -643,31 +667,8 @@ int guiGetEvent(int type, char *arg)
switch((int) arg)
{
case MP_CMD_GUI_FULLSCREEN:
- {
- if(!guiIntfStruct.sh_video) break;
-
- if(!sub_window)
- {
- video_out->control(VOCTRL_FULLSCREEN, 0);
- break;
- }
-
- if(!fullscreen && IsWindowVisible(mygui->subwindow) && !IsIconic(mygui->subwindow))
- GetWindowRect(mygui->subwindow, &old_rect);
-
- if(fullscreen)
- {
- fullscreen = 0;
- style = WS_OVERLAPPEDWINDOW | WS_SIZEBOX;
- } else {
- fullscreen = 1;
- style = WS_VISIBLE | WS_POPUP;
- }
- SetWindowLong(mygui->subwindow, GWL_STYLE, style);
- mpcodecs_config_vo(guiIntfStruct.sh_video, guiIntfStruct.MovieWidth,
- guiIntfStruct.MovieHeight, 0);
+ mplFullScreen();
break;
- }
case MP_CMD_QUIT:
{
mygui->uninit(mygui);