GUI, preferences: reworked size settings:

- added size settings for player's panel size (closes #12455, closes #12451, closes #5605);
- size settings can be edit by slider or by text edit;
- size settings for fonts has preview button with real text sample;
- improved some tabs and hints for better UX;
- improved GUI rendering performance;
This commit is contained in:
Oleg Agafonov 2024-07-21 23:35:44 +04:00
parent 921e656e3c
commit 1f3fad6594
15 changed files with 3224 additions and 5913 deletions

View file

@ -332,14 +332,18 @@ public class TestCardRenderDialog extends MageDialog {
possibleTargets.add(playerYou.getId());
}
// need re-create panel, because it can't change size in real time
this.playerPanel.removeAll();
// player's panel
if (this.player == null) {
// create new panel
this.playerPanel.setLayout(new BorderLayout(5, 5));
this.player = new PlayerPanelExt(this.playerSizeMod);
this.playerPanel.add(player, BorderLayout.CENTER);
} else {
// update existing panel (recreate all inner components)
this.player.fullRefresh(this.playerSizeMod);
}
this.playerPanel.setPreferredSize(new java.awt.Dimension(Math.round(100 * this.playerSizeMod), 10));
this.playerPanel.setLayout(new BorderLayout(5, 5));
this.player = new PlayerPanelExt(this.playerSizeMod);
this.playerPanel.add(player, BorderLayout.CENTER);
//this.player.cleanUp();
//this.player.changeGUISize();
// update data in player's panel
GameView gameView = new GameView(this.game.getState(), this.game, controlledId, null);
PlayerView currentPlayerView = gameView.getPlayers()
.stream()
@ -348,7 +352,7 @@ public class TestCardRenderDialog extends MageDialog {
.orElse(null);
this.player.init(this.game.getId(), playerYou.getId(), isMe, this.bigCard, 0);
this.player.update(gameView, currentPlayerView, possibleTargets);
PlayAreaPanel.sizePlayerPanel(this.player, isMe, smallMode);
this.player.sizePlayerPanel(smallMode);
// update CARDS