smoothcontract / mediate

Automatically exported from code.google.com/p/mediate
0 stars 0 forks source link

directx fullscreen minimize/restore behaviour #30

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Temporarily commented code for handling application activate and deactivate
events in screen form as this was causing problems with the app starting up
when run outside of Delphi IDE.

Investigate effect of minimising application when we lose focus in
fullscreen - something is not happening here that does when the app is
running windowed. must be some windows messages somewhere. Adding a call to
    Application.Minimize seems to get rid of the icon under some
circumstances, but then a corresponding call to Application.Restore then
just fights with other windows. Can't be far off...

Need to test this in light of recent changes to task bar window tweaks to
Application hidden form.

Original issue reported on code.google.com by aretman...@gmail.com on 9 Jun 2008 at 2:42

GoogleCodeExporter commented 9 years ago
mediate now yields to windows (and suspends rendering) when it loses focus in
fullscreen exclusive mode. This is still not perfect, since the display mode is 
not
set back, but we should now be able to recover from most crash scenarios.

It doesn’t look very pretty either since the minimised mediate window icon 
looks odd,
but there doesn’t seem to be much we can do about that – tested with a 
smaller icon
but it looks worse!

Ideally we should release the DirectX display device when we lose focus, and 
recover
it when focus is returned. This is correct behaviour for a DirectX application, 
but
it would cause severe issues with the DivX codec toolbar stealing focus from 
mediate
when we render a video file.

At present, the only reliable way we can release Directshow resources to allow a
display reset is to stop the video completely – that obviously wouldn’t 
work with
DivX files as we couldn’t watch them if we release/recover the display device.

We may be able to review this later if we determine how to seamlessly reset the
display whilst DirectShow is running – more research is required, however 
there would
still be considerable flickering when a DivX video is started.

Original comment by aretman...@gmail.com on 26 Jan 2009 at 2:44