From e8c7a237246bbc9968541ed01c702eb7d161b5af Mon Sep 17 00:00:00 2001 From: drdev Date: Wed, 26 Nov 2014 05:00:50 +0000 Subject: [PATCH] Add more style to Planar Map screen --- .gitattributes | 1 + .../src/main/java/forge/toolbox/FSkin.java | 1 + .../src/forge/assets/FSkinTexture.java | 3 +- .../planarconquest/ConquestMapScreen.java | 117 ++++-------------- forge-gui/res/skins/default/bg_monitor.png | Bin 0 -> 4677 bytes .../src/main/java/forge/assets/FSkinProp.java | 1 + .../java/forge/properties/ForgeConstants.java | 3 +- 7 files changed, 31 insertions(+), 95 deletions(-) create mode 100644 forge-gui/res/skins/default/bg_monitor.png diff --git a/.gitattributes b/.gitattributes index 2e21e907b50..0c386acf52f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16863,6 +16863,7 @@ forge-gui/res/skins/dark_ascension/font1.ttf -text forge-gui/res/skins/dark_ascension/sprite_icons.png -text forge-gui/res/skins/default/bg_draft_deck.png -text forge-gui/res/skins/default/bg_match.jpg -text +forge-gui/res/skins/default/bg_monitor.png -text forge-gui/res/skins/default/bg_planar_map.png -text forge-gui/res/skins/default/bg_splash.png -text forge-gui/res/skins/default/bg_texture.jpg -text diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index 434e8369d12..28e34711b26 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -1170,6 +1170,7 @@ public class FSkin { SkinIcon.setIcon(FSkinProp.BG_TEXTURE, preferredDir + ForgeConstants.TEXTURE_BG_FILE); SkinIcon.setIcon(FSkinProp.BG_MATCH, preferredDir + ForgeConstants.MATCH_BG_FILE); SkinIcon.setIcon(FSkinProp.BG_PLANAR_MAP, preferredDir + ForgeConstants.PLANAR_MAP_BG_FILE); + SkinIcon.setIcon(FSkinProp.BG_MONITOR, preferredDir + ForgeConstants.MONITOR_BG_FILE); // Run through enums and load their coords. Colors.updateAll(); diff --git a/forge-gui-mobile/src/forge/assets/FSkinTexture.java b/forge-gui-mobile/src/forge/assets/FSkinTexture.java index 52a608f2366..8fc10996f13 100644 --- a/forge-gui-mobile/src/forge/assets/FSkinTexture.java +++ b/forge-gui-mobile/src/forge/assets/FSkinTexture.java @@ -10,7 +10,8 @@ import forge.properties.ForgeConstants; public enum FSkinTexture implements FImage { BG_TEXTURE(ForgeConstants.TEXTURE_BG_FILE, true), BG_MATCH(ForgeConstants.MATCH_BG_FILE, false), - BG_PLANAR_MAP(ForgeConstants.PLANAR_MAP_BG_FILE, false); + BG_PLANAR_MAP(ForgeConstants.PLANAR_MAP_BG_FILE, false), + BG_MONITOR(ForgeConstants.MONITOR_BG_FILE, false); private final String filename; private final boolean repeat; diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java index 91eda3b6142..a31e97ac0e0 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java @@ -2,16 +2,15 @@ package forge.screens.planarconquest; import java.util.List; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment; import forge.Graphics; import forge.assets.FImage; -import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinImage; import forge.assets.FSkinTexture; import forge.assets.TextRenderer; -import forge.assets.FSkinColor.Colors; import forge.card.CardRenderer; import forge.card.CardRenderer.CardStackPosition; import forge.game.card.Card; @@ -26,20 +25,11 @@ import forge.screens.FScreen; import forge.toolbox.FCardPanel; import forge.toolbox.FContainer; import forge.toolbox.FDisplayObject; -import forge.toolbox.FEvent; import forge.toolbox.FLabel; -import forge.toolbox.FEvent.FEventHandler; import forge.util.Utils; public class ConquestMapScreen extends FScreen { - private static final FSkinColor BTN_PRESSED_COLOR = FSkinColor.get(Colors.CLR_THEME2); - private static final FSkinColor LINE_COLOR = BTN_PRESSED_COLOR.stepColor(-40); - private static final FSkinColor BACK_COLOR = BTN_PRESSED_COLOR.stepColor(-80); - private static final FSkinColor FORE_COLOR = FSkinColor.get(Colors.CLR_TEXT); - private static final FSkinColor BORDER_COLOR = FSkinColor.get(Colors.CLR_BORDERS); - private static final float LINE_THICKNESS = Utils.scale(1); - private static final float ARROW_ICON_THICKNESS = Utils.scale(3); - private static final float REGION_SLIDER_HEIGHT = Math.round(Utils.AVG_FINGER_HEIGHT * 0.7f); + private static final float BORDER_THICKNESS = Utils.scale(1); private static final FSkinFont REGION_NAME_FONT = FSkinFont.get(15); private static final FSkinFont UNLOCK_WINS_FONT = FSkinFont.get(18); private static final float COMMANDER_ROW_PADDING = Utils.scale(16); @@ -63,7 +53,7 @@ public class ConquestMapScreen extends FScreen { public void update() { model = FModel.getConquest().getModel(); - setHeaderCaption(model.getName() + " - Map"); + setHeaderCaption(model.getName()); lblCurrentPlane.setText("Plane - " + model.getCurrentPlane().getName()); btnEndDay.setText("End Day " + model.getDay()); } @@ -92,62 +82,10 @@ public class ConquestMapScreen extends FScreen { regionDisplay.setBounds(0, startY, width, commanderRow.getTop() - startY); } - private class RegionDisplay extends FContainer { - private final FLabel btnPrev, btnNext; + private class RegionDisplay extends FDisplayObject { private final TextRenderer textRenderer = new TextRenderer(); public RegionDisplay() { - btnPrev = add(new FLabel.Builder().icon(new ArrowIcon(REGION_SLIDER_HEIGHT, REGION_SLIDER_HEIGHT, false)).pressedColor(BTN_PRESSED_COLOR).align(HAlignment.CENTER).command(new FEventHandler() { - @Override - public void handleEvent(FEvent e) { - model.incrementRegion(-1); - } - }).build()); - btnNext = add(new FLabel.Builder().icon(new ArrowIcon(REGION_SLIDER_HEIGHT, REGION_SLIDER_HEIGHT, true)).pressedColor(BTN_PRESSED_COLOR).align(HAlignment.CENTER).command(new FEventHandler() { - @Override - public void handleEvent(FEvent e) { - model.incrementRegion(1); - } - }).build()); - btnPrev.setSize(REGION_SLIDER_HEIGHT, REGION_SLIDER_HEIGHT); - btnNext.setSize(REGION_SLIDER_HEIGHT, REGION_SLIDER_HEIGHT); - } - - private class ArrowIcon implements FImage { - private final float width, height; - private final boolean flip; - - public ArrowIcon(float width0, float height0, boolean flip0) { - width = width0; - height = height0; - flip = flip0; - } - - @Override - public float getWidth() { - return width; - } - - @Override - public float getHeight() { - return height; - } - - @Override - public void draw(Graphics g, float x, float y, float w, float h) { - float xMid = x + w * 0.4f; - float yMid = y + h / 2; - float offsetX = h / 8; - float offsetY = w / 4; - - if (flip) { - xMid = x + w * 0.6f; - offsetX = -offsetX; - } - - g.drawLine(ARROW_ICON_THICKNESS, FORE_COLOR, xMid + offsetX, yMid - offsetY, xMid - offsetX, yMid + 1); - g.drawLine(ARROW_ICON_THICKNESS, FORE_COLOR, xMid - offsetX, yMid - 1, xMid + offsetX, yMid + offsetY); - } } @Override @@ -166,33 +104,26 @@ public class ConquestMapScreen extends FScreen { } @Override - public void drawBackground(Graphics g) { - float w = getWidth(); - float h = getHeight(); - float y = h - REGION_SLIDER_HEIGHT; - g.fillRect(BACK_COLOR, 0, y, w, REGION_SLIDER_HEIGHT); - if (model != null) { - Region region = model.getCurrentRegion(); - g.drawImage((FImage)region.getArt(), 0, 0, w, y); - textRenderer.drawText(g, region.getName(), REGION_NAME_FONT, FORE_COLOR, REGION_SLIDER_HEIGHT, y, w - 2 * REGION_SLIDER_HEIGHT, REGION_SLIDER_HEIGHT, y, REGION_SLIDER_HEIGHT, false, HAlignment.CENTER, true); - } - } + public void draw(Graphics g) { + if (model == null) { return; } + Region region = model.getCurrentRegion(); - @Override - public void drawOverlay(Graphics g) { - float w = getWidth(); - float y2 = getHeight(); - float y1 = y2 - REGION_SLIDER_HEIGHT; - g.drawLine(LINE_THICKNESS, LINE_COLOR, 0, y1, w, y1); - g.drawLine(LINE_THICKNESS, LINE_COLOR, 0, y2, w, y2); - } + float x = COMMANDER_GAP / 2; + float y = COMMANDER_GAP; + float w = getWidth() - 2 * x; + float h = getHeight() - y; + float regionFrameThickness = 15f / 443f * w; + float regionFrameBaseHeight = 25f / 317f * h; - @Override - protected void doLayout(float width, float height) { - float y = height - REGION_SLIDER_HEIGHT; - float size = REGION_SLIDER_HEIGHT; - btnPrev.setBounds(0, y, size, size); - btnNext.setBounds(width - REGION_SLIDER_HEIGHT, y, size, size); + g.startClip(x + regionFrameThickness, y + regionFrameThickness, w - 2 * regionFrameThickness, h - regionFrameThickness - regionFrameBaseHeight); + g.drawImage((FImage)region.getArt(), x, y, w, h); + g.endClip(); + + g.drawImage(FSkinTexture.BG_MONITOR, x, y, w, h); + + y += h - regionFrameBaseHeight; + h = regionFrameBaseHeight * 0.9f; + textRenderer.drawText(g, region.getName(), REGION_NAME_FONT, Color.BLACK, x, y, w, h, y, h, false, HAlignment.CENTER, true); } } @@ -231,7 +162,7 @@ public class ConquestMapScreen extends FScreen { public void draw(Graphics g) { float w = getWidth(); float h = getHeight(); - g.drawRect(LINE_THICKNESS, BORDER_COLOR, -LINE_THICKNESS, -LINE_THICKNESS, w + 2 * LINE_THICKNESS, h + 2 * LINE_THICKNESS); + g.drawRect(BORDER_THICKNESS, Color.WHITE, -BORDER_THICKNESS, -BORDER_THICKNESS, w + 2 * BORDER_THICKNESS, h + 2 * BORDER_THICKNESS); ConquestPlaneData planeData = model.getCurrentPlaneData(); if (card == null) { @@ -263,7 +194,7 @@ public class ConquestMapScreen extends FScreen { g.drawImage(FSkinImage.LOCK, (w - imageSize) / 2, (h - imageSize) / 2, imageSize, imageSize); g.resetAlphaComposite(); float y = (h + imageSize) / 2; - g.drawText(String.valueOf(winsToUnlock), UNLOCK_WINS_FONT, FORE_COLOR, 0, y, w, h - y, false, HAlignment.CENTER, true); + g.drawText(String.valueOf(winsToUnlock), UNLOCK_WINS_FONT, Color.WHITE, 0, y, w, h - y, false, HAlignment.CENTER, true); } else { diff --git a/forge-gui/res/skins/default/bg_monitor.png b/forge-gui/res/skins/default/bg_monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ba00be5fcb79832007c586f9aed932b7a87102 GIT binary patch literal 4677 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 C=J6%~ literal 0 HcmV?d00001 diff --git a/forge-gui/src/main/java/forge/assets/FSkinProp.java b/forge-gui/src/main/java/forge/assets/FSkinProp.java index e92d23db3cd..2ce35cab976 100644 --- a/forge-gui/src/main/java/forge/assets/FSkinProp.java +++ b/forge-gui/src/main/java/forge/assets/FSkinProp.java @@ -28,6 +28,7 @@ public enum FSkinProp { BG_TEXTURE (null, PropType.BACKGROUND), BG_MATCH (null, PropType.BACKGROUND), BG_PLANAR_MAP (null, PropType.BACKGROUND), + BG_MONITOR (null, PropType.BACKGROUND), //colors CLR_THEME (new int[] {70, 10}, PropType.COLOR), diff --git a/forge-gui/src/main/java/forge/properties/ForgeConstants.java b/forge-gui/src/main/java/forge/properties/ForgeConstants.java index 779590a4f4c..fa2c6fe4c91 100644 --- a/forge-gui/src/main/java/forge/properties/ForgeConstants.java +++ b/forge-gui/src/main/java/forge/properties/ForgeConstants.java @@ -80,8 +80,9 @@ public final class ForgeConstants { public static final String FONT_FILE = "font1.ttf"; public static final String SPLASH_BG_FILE = "bg_splash.png"; public static final String MATCH_BG_FILE = "bg_match.jpg"; - public static final String PLANAR_MAP_BG_FILE = "bg_planar_map.png"; public static final String TEXTURE_BG_FILE = "bg_texture.jpg"; + public static final String PLANAR_MAP_BG_FILE = "bg_planar_map.png"; + public static final String MONITOR_BG_FILE = "bg_monitor.png"; public static final String DRAFT_DECK_IMG_FILE = "bg_draft_deck.png"; // data tree roots