gs_displays = new wxDisplayInfoArray();
- if ( gs_useDirectX && !DoInitDirectX() )
+ if ( !gs_useDirectX || !DoInitDirectX() )
{
// either we were told not to try to use DirectX or fall back to std
// functions if DirectX method failed
{
case DISP_CHANGE_SUCCESSFUL:
// ok
+ {
+ // If we have a top-level, full-screen frame, emulate
+ // the DirectX behavior and resize it. This makes this
+ // API quite a bit easier to use.
+ wxWindow *winTop = wxTheApp->GetTopWindow();
+ wxFrame *frameTop = wxDynamicCast(winTop, wxFrame);
+ if (frameTop && frameTop->IsFullScreen())
+ {
+ wxVideoMode current = GetCurrentMode();
+ frameTop->SetClientSize(current.w, current.h);
+ }
+ }
return true;
case DISP_CHANGE_BADMODE: