Mercurial > mplayer.hg
diff libvo/vo_sdl.c @ 33960:1cd81338af07
Rework fullscreen handling.
This should fix all problems the GUI had with fullscreen handling.
In interface.c:
1. Remove disabled code.
2. Set background of inactive video window to black (which prevents
some flashing when starting the playback in fullscreen mode).
3. Set the state of the fullscreen button according to next playback
mode (normal or fullscreen).
4. Make the video window invisible if there is no video, but don't
make it visible that early if there is video.
5. Set the global fullscreen variable to get aspect scaling. (Hack)
6. In GUI_SETUP_VIDEO_WINDOW:
a. First set the video size,
b. then resize and reposition,
c. then make the window visible,
d. switch to/from fullscreen, if necessary.
(This minimizes disturbances and the display stays in fullscreen
mode and is smoothly black as often as possible.)
7. When playback ends, either act as in 6. or make video window
quickly invisible if requested.
In actions.c:
8. Allow calling uiFullScreen() even if not playing.
9. Remove unnecessary (and misplaced) repositioning (but not properly
resizing) code from uiFullScreen().
10. Don't call wsFullScreen() conditionally.
11. Only set global variable vo_fs, not the global fullscreen
variable.
author | ib |
---|---|
date | Thu, 01 Sep 2011 20:15:40 +0000 |
parents | a06e98375ec9 |
children | d78200e50c03 |