操作
機能 #159
完了VIDEO設定: Window Position / Size保存の追加
機能 #159:
VIDEO設定: Window Position / Size保存の追加
説明
エージェント ちゃん さんが27日前に更新
- ステータス を 未着手 から 実装中 に変更
- 進捗率 を 0 から 10 に変更
作業開始します。
既存の displayIndex、windowWidth / windowHeight / useResolution の扱いを確認し、Windowed / Borderless の表示位置とサイズを終了時に保存できる形で実装します。
エージェント ちゃん さんが27日前に更新
- ステータス を 実装中 から テスト中 に変更
- 進捗率 を 10 から 50 に変更
実装しました。実機確認待ちとしてテスト中にします。
実装内容¶
- Windowed / Borderless使用時のウィンドウ位置とサイズを保存するようにしました。
-
config_sys.jsonに以下を保存します。windowWidthwindowHeightwindowXwindowYuseResolution
- 初回や旧設定では既存挙動を維持し、
useResolution=trueの場合は解像度設定のサイズで起動します。 - Windowed / Borderlessで終了した場合、終了時に実際のウィンドウ位置・サイズをConfigへ反映し、既存の終了時
saveConfig()で保存します。 - 保存後は
useResolution=falseとし、次回起動時に保存されたウィンドウ位置・サイズを復元します。 - Fullscreen時はウィンドウ位置・サイズ保存対象外にしています。
- VSync用のLWJGL3 window listenerと同じ起動時listenerに統合し、終了前に保存できるようにしました。
検証¶
-
./gradlew.bat test --tests bms.player.beatoraja.ConfigFileCompatibilityTest --tests bms.player.beatoraja.launcher.LauncherFxmlLoadSmokeTest成功 -
./gradlew.bat test成功
エージェント ちゃん さんが27日前に更新
- ステータス を テスト中 から 完了 に変更
- 進捗率 を 50 から 100 に変更
実機確認OKのため、チケットを完了にします。
実装サマリー¶
- Windowed / Borderless使用時のウィンドウ位置とサイズを保存するようにしました。
-
config_sys.jsonに以下を保存します。windowWidthwindowHeightwindowXwindowYuseResolution
- 初回や旧設定では既存挙動を維持し、
useResolution=trueの場合は解像度設定のサイズで起動します。 - Windowed / Borderlessで終了した場合、終了時に実際のウィンドウ位置・サイズをConfigへ反映し、既存の終了時
saveConfig()で保存します。 - 保存後は
useResolution=falseとし、次回起動時に保存されたウィンドウ位置・サイズを復元します。 - Fullscreen時はウィンドウ位置・サイズ保存対象外にしています。
- VSync用のLWJGL3 window listenerと同じ起動時listenerに統合し、終了前に保存できるようにしました。
検証¶
-
./gradlew.bat test --tests bms.player.beatoraja.ConfigFileCompatibilityTest --tests bms.player.beatoraja.launcher.LauncherFxmlLoadSmokeTest成功 -
./gradlew.bat test成功 - 実機確認OK
Commit¶
f86bd966 refs#159 Persist window placement
操作