private static void P2_SetScreenSize(int w, int h) { LiteStatusDlg.StartDisplay("ゲーム画面の位置とサイズを調整しています..."); bool mdm = DDUtils.GetMouseDispMode(); //DDDerivationUtils.UnloadAll(); // moved -> DDPictureUtils.UnloadAll DDPictureUtils.UnloadAll(); DDSubScreenUtils.UnloadAll(); DDFontUtils.UnloadAll(); //DDSoundUtils.UnloadAll(); // 不要 if (DX.SetGraphMode(w, h, 32) != DX.DX_CHANGESCREEN_OK) { throw new DDError(); } DX.SetDrawScreen(DX.DX_SCREEN_BACK); // DDSubScreenUtils.CurrDrawScreenHandle にするべきだが、このフレームだけの問題なので、無難なところで DX_SCREEN_BACK にしておく。 DX.SetDrawMode(DDConsts.DEFAULT_DX_DRAWMODE); DDUtils.SetMouseDispMode(mdm); DDTouch.Touch(); DDSubScreenUtils.DrawDummyScreenAll(); LiteStatusDlg.EndDisplayDelay(); }
private static void P2_SetScreenSize(int w, int h) { LiteStatusDlg.StartDisplay("ゲーム画面の位置とサイズを調整しています..."); foreach (DDSubScreen subScreen in DDSubScreenUtils.SubScreens) { subScreen.WasLoaded = subScreen.IsLoaded(); } bool mdm = DDUtils.GetMouseDispMode(); //DDDerivationUtils.UnloadAll(); // moved -> DDPictureUtils.UnloadAll DDPictureUtils.UnloadAll(); DDSubScreenUtils.UnloadAll(); DDFontUtils.UnloadAll(); //DDSoundUtils.UnloadAll(); // 不要 if (DX.SetGraphMode(w, h, 32) != DX.DX_CHANGESCREEN_OK) { throw new DDError(); } DX.SetDrawScreen(DX.DX_SCREEN_BACK); // DDSubScreenUtils.CurrDrawScreenHandle にするべきだが、このフレームだけの問題なので、無難なところで DX_SCREEN_BACK にしておく。 DX.SetDrawMode(DDConsts.DEFAULT_DX_DRAWMODE); DDUtils.SetMouseDispMode(mdm); DDGround.SystemTasks.Delay(1, DDPictureUtils.TouchGlobally); // ウィンドウ位置調整・初回描画を優先するため、遅延する。 //DDPictureUtils.TouchGlobally(); // old //DDTouch.Touch(); // old DDSubScreenUtils.DrawDummyScreenAll(); LiteStatusDlg.EndDisplayDelay(); }
public static void Touch() { UnloadLocally(); DDCCResource.ClearAll(); DDSubScreenUtils.UnloadAll(subScreen => subScreen != DDGround.MainScreen); DDFontUtils.UnloadAll(); TouchGlobally(); }