replace duplicate *LayeredPanes with HandCanvasLayeredPane.

master
lodici 2017-06-18 10:08:47 +01:00
parent ab3ce90bf9
commit 27cadd5221
4 changed files with 11 additions and 60 deletions

View File

@ -1,19 +1,19 @@
package magic.ui.screen.duel.mulligan;
package magic.ui.screen;
import java.awt.Dimension;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import magic.ui.screen.cardflow.*;
import magic.ui.screen.cardflow.FlashTextOverlay;
@SuppressWarnings("serial")
class MulliganLayeredPane extends JLayeredPane {
public class HandCanvasLayeredPane extends JLayeredPane {
private final JPanel contentPanel;
private final FlashTextOverlay flashOverlay;
MulliganLayeredPane(final JPanel contentPanel, final FlashTextOverlay flashOverlay) {
public HandCanvasLayeredPane(final JPanel contentPanel, final FlashTextOverlay flashOverlay) {
this.contentPanel = contentPanel;
this.flashOverlay = flashOverlay;
@ -48,4 +48,4 @@ class MulliganLayeredPane extends JLayeredPane {
);
}
}
}

View File

@ -1,51 +0,0 @@
package magic.ui.screen.deck.hand;
import java.awt.Dimension;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.JLayeredPane;
import magic.ui.screen.cardflow.*;
import magic.ui.widget.cards.canvas.CardsCanvas;
@SuppressWarnings("serial")
class SampleHandLayeredPane extends JLayeredPane {
private final CardsCanvas cardsCanvas;
private final FlashTextOverlay flashOverlay;
SampleHandLayeredPane(final CardsCanvas cardsCanvas, final FlashTextOverlay flashOverlay) {
this.cardsCanvas = cardsCanvas;
this.flashOverlay = flashOverlay;
updateLayout();
this.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(final ComponentEvent event) {
resizeComponents();
}
});
}
private void updateLayout() {
removeAll();
// layers from bottom to top.
add(cardsCanvas, Integer.valueOf(0));
add(flashOverlay, Integer.valueOf(1));
revalidate();
}
private void resizeComponents() {
Dimension sz = getSize();
cardsCanvas.setSize(sz);
Dimension pref = flashOverlay.getPreferredSize();
flashOverlay.setBounds(
(sz.width - pref.width) / 2,
(sz.height - pref.height) / 2,
pref.width,
pref.height
);
}
}

View File

@ -12,6 +12,7 @@ import magic.model.MagicDeck;
import magic.translate.MText;
import magic.ui.MagicImages;
import magic.ui.ScreenController;
import magic.ui.screen.HandCanvasLayeredPane;
import magic.ui.screen.HandCanvasOptionsPanel;
import magic.ui.screen.HandCanvasScreen;
import magic.ui.screen.HandZoneLayout;
@ -32,7 +33,7 @@ public class SampleHandScreen extends HandCanvasScreen
private static final String _S3 = "Refresh";
private static final String _S4 = "Deal a new sample hand.";
private SampleHandLayeredPane layeredPane;
private HandCanvasLayeredPane layeredPane;
private final MagicDeck deck;
private final DeckStatusPanel deckStatusPanel = new DeckStatusPanel();
private List<? extends IRenderableCard> renderableCards = new ArrayList<>();
@ -53,7 +54,7 @@ public class SampleHandScreen extends HandCanvasScreen
cardsCanvas.setLayoutMode(LayoutMode.SCALE_TO_FIT);
cardsCanvas.refresh(getSampleHand(deck));
layeredPane = new SampleHandLayeredPane(cardsCanvas, flashOverlay);
layeredPane = new HandCanvasLayeredPane(cardsCanvas, flashOverlay);
setMainContent(layeredPane);
deckStatusPanel.setDeck(deck, false);

View File

@ -11,6 +11,7 @@ import magic.translate.MText;
import magic.ui.ScreenController;
import magic.ui.WikiPage;
import magic.ui.helpers.KeyEventAction;
import magic.ui.screen.HandCanvasLayeredPane;
import magic.ui.screen.HandCanvasOptionsPanel;
import magic.ui.screen.HandCanvasScreen;
import magic.ui.screen.HandZoneLayout;
@ -34,7 +35,7 @@ public class MulliganScreen extends HandCanvasScreen
private volatile static boolean isActive = false;
private MulliganLayeredPane layeredPane;
private HandCanvasLayeredPane layeredPane;
private MulliganChoicePanel choicePanel;
private final MagicCardList hand;
@ -43,7 +44,7 @@ public class MulliganScreen extends HandCanvasScreen
this.choicePanel = choicePanel;
this.hand = hand;
isActive = true;
layeredPane = new MulliganLayeredPane(getScreenContent(hand), flashOverlay);
layeredPane = new HandCanvasLayeredPane(getScreenContent(hand), flashOverlay);
setMainContent(layeredPane);
optionsPanel = new HandCanvasOptionsPanel(this);
setHeaderContent(new HeaderPanel(choicePanel.getGameController().getGame()));