mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Add Support for Upscaling Buttons on Mobile Forge
This commit is contained in:
@@ -66,6 +66,7 @@ public class Forge implements ApplicationListener {
|
||||
public static boolean enableUIMask = false;
|
||||
public static boolean enablePreloadExtendedArt = false;
|
||||
public static String locale = "en-US";
|
||||
public static boolean hdbuttons = false;
|
||||
|
||||
public static ApplicationListener getApp(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0, boolean value) {
|
||||
if (GuiBase.getInterface() == null) {
|
||||
|
||||
@@ -190,6 +190,7 @@ public class FSkin {
|
||||
final FileHandle f8 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES_FILE);
|
||||
final FileHandle f9 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES2_FILE);
|
||||
final FileHandle f10 = getDefaultSkinFile(ForgeConstants.SPRITE_BORDER_FILE);
|
||||
final FileHandle f11 = getSkinFile(ForgeConstants.SPRITE_BUTTONS_FILE);
|
||||
|
||||
try {
|
||||
textures.put(f1.path(), new Texture(f1));
|
||||
@@ -207,7 +208,13 @@ public class FSkin {
|
||||
t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
|
||||
textures.put(f7.path(), t);
|
||||
}
|
||||
|
||||
//hdbuttons
|
||||
if (f11.exists()) {
|
||||
Texture tf11 = new Texture(f11, true);
|
||||
tf11.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
|
||||
textures.put(f11.path(), tf11);
|
||||
Forge.hdbuttons = true;
|
||||
} else { Forge.hdbuttons = false; } //how to refresh buttons when a theme don't have hd buttons?
|
||||
//update colors
|
||||
for (final FSkinColor.Colors c : FSkinColor.Colors.values()) {
|
||||
c.setColor(new Color(preferredIcons.getPixel(c.getX(), c.getY())));
|
||||
|
||||
@@ -228,6 +228,25 @@ public enum FSkinImage implements FImage {
|
||||
BTN_DISABLED_LEFT (FSkinProp.IMG_BTN_DISABLED_LEFT, SourceFile.ICONS),
|
||||
BTN_DISABLED_CENTER (FSkinProp.IMG_BTN_DISABLED_CENTER, SourceFile.ICONS),
|
||||
BTN_DISABLED_RIGHT (FSkinProp.IMG_BTN_DISABLED_RIGHT, SourceFile.ICONS),
|
||||
//Hdbuttons
|
||||
HDBTN_UP_LEFT (FSkinProp.IMG_HDBTN_UP_LEFT, SourceFile.BUTTONS),
|
||||
HDBTN_UP_CENTER (FSkinProp.IMG_HDBTN_UP_CENTER, SourceFile.BUTTONS),
|
||||
HDBTN_UP_RIGHT (FSkinProp.IMG_HDBTN_UP_RIGHT, SourceFile.BUTTONS),
|
||||
HDBTN_OVER_LEFT (FSkinProp.IMG_HDBTN_OVER_LEFT, SourceFile.BUTTONS),
|
||||
HDBTN_OVER_CENTER (FSkinProp.IMG_HDBTN_OVER_CENTER, SourceFile.BUTTONS),
|
||||
HDBTN_OVER_RIGHT (FSkinProp.IMG_HDBTN_OVER_RIGHT, SourceFile.BUTTONS),
|
||||
HDBTN_DOWN_LEFT (FSkinProp.IMG_HDBTN_DOWN_LEFT, SourceFile.BUTTONS),
|
||||
HDBTN_DOWN_CENTER (FSkinProp.IMG_HDBTN_DOWN_CENTER, SourceFile.BUTTONS),
|
||||
HDBTN_DOWN_RIGHT (FSkinProp.IMG_HDBTN_DOWN_RIGHT, SourceFile.BUTTONS),
|
||||
HDBTN_FOCUS_LEFT (FSkinProp.IMG_HDBTN_FOCUS_LEFT, SourceFile.BUTTONS),
|
||||
HDBTN_FOCUS_CENTER (FSkinProp.IMG_HDBTN_FOCUS_CENTER, SourceFile.BUTTONS),
|
||||
HDBTN_FOCUS_RIGHT (FSkinProp.IMG_HDBTN_FOCUS_RIGHT, SourceFile.BUTTONS),
|
||||
HDBTN_TOGGLE_LEFT (FSkinProp.IMG_HDBTN_TOGGLE_LEFT, SourceFile.BUTTONS),
|
||||
HDBTN_TOGGLE_CENTER (FSkinProp.IMG_HDBTN_TOGGLE_CENTER, SourceFile.BUTTONS),
|
||||
HDBTN_TOGGLE_RIGHT (FSkinProp.IMG_HDBTN_TOGGLE_RIGHT, SourceFile.BUTTONS),
|
||||
HDBTN_DISABLED_LEFT (FSkinProp.IMG_HDBTN_DISABLED_LEFT, SourceFile.BUTTONS),
|
||||
HDBTN_DISABLED_CENTER (FSkinProp.IMG_HDBTN_DISABLED_CENTER, SourceFile.BUTTONS),
|
||||
HDBTN_DISABLED_RIGHT (FSkinProp.IMG_HDBTN_DISABLED_RIGHT, SourceFile.BUTTONS),
|
||||
|
||||
//Foils
|
||||
FOIL_01 (FSkinProp.FOIL_01, SourceFile.FOILS),
|
||||
@@ -312,6 +331,7 @@ public enum FSkinImage implements FImage {
|
||||
TROPHIES(ForgeConstants.SPRITE_TROPHIES_FILE),
|
||||
ABILITIES(ForgeConstants.SPRITE_ABILITY_FILE),
|
||||
BORDERS(ForgeConstants.SPRITE_BORDER_FILE),
|
||||
BUTTONS(ForgeConstants.SPRITE_BUTTONS_FILE),
|
||||
MANAICONS(ForgeConstants.SPRITE_MANAICONS_FILE),
|
||||
PLANAR_CONQUEST(ForgeConstants.SPRITE_PLANAR_CONQUEST_FILE);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package forge.toolbox;
|
||||
|
||||
import forge.Forge;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.badlogic.gdx.Input.Keys;
|
||||
@@ -54,10 +55,21 @@ public class FButton extends FDisplayObject implements IButton {
|
||||
resetImg();
|
||||
}
|
||||
|
||||
private boolean hdbuttonskin(){
|
||||
return Forge.hdbuttons;
|
||||
}
|
||||
|
||||
private void resetImg() {
|
||||
imgL = FSkinImage.BTN_UP_LEFT;
|
||||
imgM = FSkinImage.BTN_UP_CENTER;
|
||||
imgR = FSkinImage.BTN_UP_RIGHT;
|
||||
if (hdbuttonskin())
|
||||
{
|
||||
imgL = FSkinImage.HDBTN_UP_LEFT;
|
||||
imgM = FSkinImage.HDBTN_UP_CENTER;
|
||||
imgR = FSkinImage.HDBTN_UP_RIGHT;
|
||||
} else {
|
||||
imgL = FSkinImage.BTN_UP_LEFT;
|
||||
imgM = FSkinImage.BTN_UP_CENTER;
|
||||
imgR = FSkinImage.BTN_UP_RIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
@@ -83,9 +95,16 @@ public class FButton extends FDisplayObject implements IButton {
|
||||
resetImg();
|
||||
}
|
||||
else {
|
||||
imgL = FSkinImage.BTN_DISABLED_LEFT;
|
||||
imgM = FSkinImage.BTN_DISABLED_CENTER;
|
||||
imgR = FSkinImage.BTN_DISABLED_RIGHT;
|
||||
if (hdbuttonskin())
|
||||
{
|
||||
imgL = FSkinImage.HDBTN_DISABLED_LEFT;
|
||||
imgM = FSkinImage.HDBTN_DISABLED_CENTER;
|
||||
imgR = FSkinImage.HDBTN_DISABLED_RIGHT;
|
||||
} else {
|
||||
imgL = FSkinImage.BTN_DISABLED_LEFT;
|
||||
imgM = FSkinImage.BTN_DISABLED_CENTER;
|
||||
imgR = FSkinImage.BTN_DISABLED_RIGHT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,17 +121,31 @@ public class FButton extends FDisplayObject implements IButton {
|
||||
toggled = b0;
|
||||
|
||||
if (toggled) {
|
||||
imgL = FSkinImage.BTN_TOGGLE_LEFT;
|
||||
imgM = FSkinImage.BTN_TOGGLE_CENTER;
|
||||
imgR = FSkinImage.BTN_TOGGLE_RIGHT;
|
||||
if (hdbuttonskin())
|
||||
{
|
||||
imgL = FSkinImage.HDBTN_TOGGLE_LEFT;
|
||||
imgM = FSkinImage.HDBTN_TOGGLE_CENTER;
|
||||
imgR = FSkinImage.HDBTN_TOGGLE_RIGHT;
|
||||
} else {
|
||||
imgL = FSkinImage.BTN_TOGGLE_LEFT;
|
||||
imgM = FSkinImage.BTN_TOGGLE_CENTER;
|
||||
imgR = FSkinImage.BTN_TOGGLE_RIGHT;
|
||||
}
|
||||
}
|
||||
else if (isEnabled()) {
|
||||
resetImg();
|
||||
}
|
||||
else {
|
||||
imgL = FSkinImage.BTN_DISABLED_LEFT;
|
||||
imgM = FSkinImage.BTN_DISABLED_CENTER;
|
||||
imgR = FSkinImage.BTN_DISABLED_RIGHT;
|
||||
if (hdbuttonskin())
|
||||
{
|
||||
imgL = FSkinImage.HDBTN_DISABLED_LEFT;
|
||||
imgM = FSkinImage.HDBTN_DISABLED_CENTER;
|
||||
imgR = FSkinImage.HDBTN_DISABLED_RIGHT;
|
||||
} else {
|
||||
imgL = FSkinImage.BTN_DISABLED_LEFT;
|
||||
imgM = FSkinImage.BTN_DISABLED_CENTER;
|
||||
imgR = FSkinImage.BTN_DISABLED_RIGHT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,9 +170,18 @@ public class FButton extends FDisplayObject implements IButton {
|
||||
@Override
|
||||
public final boolean press(float x, float y) {
|
||||
if (isToggled()) { return true; }
|
||||
imgL = FSkinImage.BTN_DOWN_LEFT;
|
||||
imgM = FSkinImage.BTN_DOWN_CENTER;
|
||||
imgR = FSkinImage.BTN_DOWN_RIGHT;
|
||||
|
||||
if (hdbuttonskin())
|
||||
{
|
||||
imgL = FSkinImage.HDBTN_DOWN_LEFT;
|
||||
imgM = FSkinImage.HDBTN_DOWN_CENTER;
|
||||
imgR = FSkinImage.HDBTN_DOWN_RIGHT;
|
||||
} else {
|
||||
imgL = FSkinImage.BTN_DOWN_LEFT;
|
||||
imgM = FSkinImage.BTN_DOWN_CENTER;
|
||||
imgR = FSkinImage.BTN_DOWN_RIGHT;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
BIN
forge-gui/res/skins/default/sprite_buttons.png
Normal file
BIN
forge-gui/res/skins/default/sprite_buttons.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -284,6 +284,25 @@ public enum FSkinProp {
|
||||
IMG_BTN_DISABLED_LEFT (new int[] {80, 200, 40, 40}, PropType.ICON),
|
||||
IMG_BTN_DISABLED_CENTER (new int[] {120, 200, 1, 40}, PropType.ICON),
|
||||
IMG_BTN_DISABLED_RIGHT (new int[] {160, 200, 40, 40}, PropType.ICON),
|
||||
//hd buttons
|
||||
IMG_HDBTN_UP_LEFT (new int[] {2, 2, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_UP_CENTER (new int[] {162, 2, 1, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_UP_RIGHT (new int[] {322, 2, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_OVER_LEFT (new int[] {2, 169, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_OVER_CENTER (new int[] {162, 169, 1, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_OVER_RIGHT (new int[] {322, 169, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_DOWN_LEFT (new int[] {2, 336, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_DOWN_CENTER (new int[] {162, 336, 1, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_DOWN_RIGHT (new int[] {322, 336, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_FOCUS_LEFT (new int[] {2, 503, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_FOCUS_CENTER (new int[] {162, 503, 1, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_FOCUS_RIGHT (new int[] {322, 503, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_TOGGLE_LEFT (new int[] {2, 670, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_TOGGLE_CENTER (new int[] {162, 670, 1, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_TOGGLE_RIGHT (new int[] {322, 670, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_DISABLED_LEFT (new int[] {2, 837, 160, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_DISABLED_CENTER (new int[] {162, 837, 1, 165}, PropType.BUTTONS),
|
||||
IMG_HDBTN_DISABLED_RIGHT (new int[] {322, 837, 160, 165}, PropType.BUTTONS),
|
||||
|
||||
IMG_FAV1 (new int[] {0, 0, 100, 100}, PropType.FAVICON),
|
||||
IMG_FAV2 (new int[] {100, 0, 100, 100}, PropType.FAVICON),
|
||||
@@ -378,6 +397,7 @@ public enum FSkinProp {
|
||||
TROPHY,
|
||||
ABILITY,
|
||||
BORDERS,
|
||||
BUTTONS,
|
||||
MANAICONS,
|
||||
PLANAR_CONQUEST,
|
||||
FAVICON
|
||||
|
||||
@@ -95,6 +95,7 @@ public final class ForgeConstants {
|
||||
public static final String SPRITE_TROPHIES_FILE = "sprite_trophies.png";
|
||||
public static final String SPRITE_ABILITY_FILE = "sprite_ability.png";
|
||||
public static final String SPRITE_BORDER_FILE = "sprite_border.png";
|
||||
public static final String SPRITE_BUTTONS_FILE = "sprite_buttons.png";
|
||||
public static final String SPRITE_MANAICONS_FILE = "sprite_manaicons.png";
|
||||
public static final String SPRITE_AVATARS_FILE = "sprite_avatars.png";
|
||||
public static final String SPRITE_SLEEVES_FILE = "sprite_sleeves.png";
|
||||
|
||||
Reference in New Issue
Block a user