Fix Windows Fullscreen Toggle

Reporter: RobertBColton  |  Status: open  |  Last Modified: July 14, 2019, 02:12:23 PM

WIP
codecov[bot]  
>Codecov Report

Merging #1576 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #1576   +/-   ##
=======================================
  Coverage   17.62%   17.62%           
=======================================
  Files         166      166           
  Lines       17143    17143           
=======================================
  Hits         3022     3022           
  Misses      14121    14121
Impacted Files Coverage Δ
...stem/SHELL/Bridges/xlib-OpenGL/graphics_bridge.cpp 45.65% <0%> (ø) ⬆️
ENIGMAsystem/SHELL/Platforms/General/PFwindow.cpp 34.06% <0%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 17347e4...4cfc998. Read the comment docs.

faissaloo  

Just tested this, doesn't seem to do anything for #1549
RobertBColton  

Alright, so I think what the issue may be then is that xlib just does fullscreen different from Windows. I don't know if xlib requires that, in addition to adding or removing the atom, we resize the window to cover the screen like faux fullscreen on Windows does. This is going to be difficult to reconcile the differences between xlib and Windows here for this reason.

You could try commenting out the enigma::compute_window_size in xlib's window_set_fullscreen and just see what adding and removing the atom alone does.

enigma::compute_window_size();

faissaloo  

Yeah I've already tried playing around with the atom & compute_window_size(), only made the problem worse.
RobertBColton  

Ok, thanks. I think we should start with still pushing this through for Windows, because I am sick of it not working here too. Then I'll try to get Josh to actually poke around xlib or else try to boot a VM myself. One more thing I have to say is that, for me, this work around still seems to have the scaling issues you speak of in SDL but not in Win32. You could still also try this fix with SDL for me, because if I can also get SDL working perfectly you can temporarily build your game with that platform, if you like of course.

PS: This still needs tweaked, I don't want to submit this as-is the way I have it.

Please sign in to post comments, or you can view this issue on GitHub.