mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38: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 enableUIMask = false;
|
||||||
public static boolean enablePreloadExtendedArt = false;
|
public static boolean enablePreloadExtendedArt = false;
|
||||||
public static String locale = "en-US";
|
public static String locale = "en-US";
|
||||||
|
public static boolean hdbuttons = false;
|
||||||
|
|
||||||
public static ApplicationListener getApp(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0, boolean value) {
|
public static ApplicationListener getApp(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0, boolean value) {
|
||||||
if (GuiBase.getInterface() == null) {
|
if (GuiBase.getInterface() == null) {
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ public class FSkin {
|
|||||||
final FileHandle f8 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES_FILE);
|
final FileHandle f8 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES_FILE);
|
||||||
final FileHandle f9 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES2_FILE);
|
final FileHandle f9 = getDefaultSkinFile(ForgeConstants.SPRITE_SLEEVES2_FILE);
|
||||||
final FileHandle f10 = getDefaultSkinFile(ForgeConstants.SPRITE_BORDER_FILE);
|
final FileHandle f10 = getDefaultSkinFile(ForgeConstants.SPRITE_BORDER_FILE);
|
||||||
|
final FileHandle f11 = getSkinFile(ForgeConstants.SPRITE_BUTTONS_FILE);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
textures.put(f1.path(), new Texture(f1));
|
textures.put(f1.path(), new Texture(f1));
|
||||||
@@ -207,7 +208,13 @@ public class FSkin {
|
|||||||
t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
|
t.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
|
||||||
textures.put(f7.path(), t);
|
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
|
//update colors
|
||||||
for (final FSkinColor.Colors c : FSkinColor.Colors.values()) {
|
for (final FSkinColor.Colors c : FSkinColor.Colors.values()) {
|
||||||
c.setColor(new Color(preferredIcons.getPixel(c.getX(), c.getY())));
|
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_LEFT (FSkinProp.IMG_BTN_DISABLED_LEFT, SourceFile.ICONS),
|
||||||
BTN_DISABLED_CENTER (FSkinProp.IMG_BTN_DISABLED_CENTER, SourceFile.ICONS),
|
BTN_DISABLED_CENTER (FSkinProp.IMG_BTN_DISABLED_CENTER, SourceFile.ICONS),
|
||||||
BTN_DISABLED_RIGHT (FSkinProp.IMG_BTN_DISABLED_RIGHT, 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
|
//Foils
|
||||||
FOIL_01 (FSkinProp.FOIL_01, SourceFile.FOILS),
|
FOIL_01 (FSkinProp.FOIL_01, SourceFile.FOILS),
|
||||||
@@ -312,6 +331,7 @@ public enum FSkinImage implements FImage {
|
|||||||
TROPHIES(ForgeConstants.SPRITE_TROPHIES_FILE),
|
TROPHIES(ForgeConstants.SPRITE_TROPHIES_FILE),
|
||||||
ABILITIES(ForgeConstants.SPRITE_ABILITY_FILE),
|
ABILITIES(ForgeConstants.SPRITE_ABILITY_FILE),
|
||||||
BORDERS(ForgeConstants.SPRITE_BORDER_FILE),
|
BORDERS(ForgeConstants.SPRITE_BORDER_FILE),
|
||||||
|
BUTTONS(ForgeConstants.SPRITE_BUTTONS_FILE),
|
||||||
MANAICONS(ForgeConstants.SPRITE_MANAICONS_FILE),
|
MANAICONS(ForgeConstants.SPRITE_MANAICONS_FILE),
|
||||||
PLANAR_CONQUEST(ForgeConstants.SPRITE_PLANAR_CONQUEST_FILE);
|
PLANAR_CONQUEST(ForgeConstants.SPRITE_PLANAR_CONQUEST_FILE);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.toolbox;
|
package forge.toolbox;
|
||||||
|
|
||||||
|
import forge.Forge;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input.Keys;
|
import com.badlogic.gdx.Input.Keys;
|
||||||
@@ -54,10 +55,21 @@ public class FButton extends FDisplayObject implements IButton {
|
|||||||
resetImg();
|
resetImg();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean hdbuttonskin(){
|
||||||
|
return Forge.hdbuttons;
|
||||||
|
}
|
||||||
|
|
||||||
private void resetImg() {
|
private void resetImg() {
|
||||||
imgL = FSkinImage.BTN_UP_LEFT;
|
if (hdbuttonskin())
|
||||||
imgM = FSkinImage.BTN_UP_CENTER;
|
{
|
||||||
imgR = FSkinImage.BTN_UP_RIGHT;
|
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() {
|
public String getText() {
|
||||||
@@ -83,9 +95,16 @@ public class FButton extends FDisplayObject implements IButton {
|
|||||||
resetImg();
|
resetImg();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
imgL = FSkinImage.BTN_DISABLED_LEFT;
|
if (hdbuttonskin())
|
||||||
imgM = FSkinImage.BTN_DISABLED_CENTER;
|
{
|
||||||
imgR = FSkinImage.BTN_DISABLED_RIGHT;
|
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;
|
toggled = b0;
|
||||||
|
|
||||||
if (toggled) {
|
if (toggled) {
|
||||||
imgL = FSkinImage.BTN_TOGGLE_LEFT;
|
if (hdbuttonskin())
|
||||||
imgM = FSkinImage.BTN_TOGGLE_CENTER;
|
{
|
||||||
imgR = FSkinImage.BTN_TOGGLE_RIGHT;
|
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()) {
|
else if (isEnabled()) {
|
||||||
resetImg();
|
resetImg();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
imgL = FSkinImage.BTN_DISABLED_LEFT;
|
if (hdbuttonskin())
|
||||||
imgM = FSkinImage.BTN_DISABLED_CENTER;
|
{
|
||||||
imgR = FSkinImage.BTN_DISABLED_RIGHT;
|
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
|
@Override
|
||||||
public final boolean press(float x, float y) {
|
public final boolean press(float x, float y) {
|
||||||
if (isToggled()) { return true; }
|
if (isToggled()) { return true; }
|
||||||
imgL = FSkinImage.BTN_DOWN_LEFT;
|
|
||||||
imgM = FSkinImage.BTN_DOWN_CENTER;
|
if (hdbuttonskin())
|
||||||
imgR = FSkinImage.BTN_DOWN_RIGHT;
|
{
|
||||||
|
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;
|
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_LEFT (new int[] {80, 200, 40, 40}, PropType.ICON),
|
||||||
IMG_BTN_DISABLED_CENTER (new int[] {120, 200, 1, 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),
|
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_FAV1 (new int[] {0, 0, 100, 100}, PropType.FAVICON),
|
||||||
IMG_FAV2 (new int[] {100, 0, 100, 100}, PropType.FAVICON),
|
IMG_FAV2 (new int[] {100, 0, 100, 100}, PropType.FAVICON),
|
||||||
@@ -378,6 +397,7 @@ public enum FSkinProp {
|
|||||||
TROPHY,
|
TROPHY,
|
||||||
ABILITY,
|
ABILITY,
|
||||||
BORDERS,
|
BORDERS,
|
||||||
|
BUTTONS,
|
||||||
MANAICONS,
|
MANAICONS,
|
||||||
PLANAR_CONQUEST,
|
PLANAR_CONQUEST,
|
||||||
FAVICON
|
FAVICON
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ public final class ForgeConstants {
|
|||||||
public static final String SPRITE_TROPHIES_FILE = "sprite_trophies.png";
|
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_ABILITY_FILE = "sprite_ability.png";
|
||||||
public static final String SPRITE_BORDER_FILE = "sprite_border.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_MANAICONS_FILE = "sprite_manaicons.png";
|
||||||
public static final String SPRITE_AVATARS_FILE = "sprite_avatars.png";
|
public static final String SPRITE_AVATARS_FILE = "sprite_avatars.png";
|
||||||
public static final String SPRITE_SLEEVES_FILE = "sprite_sleeves.png";
|
public static final String SPRITE_SLEEVES_FILE = "sprite_sleeves.png";
|
||||||
|
|||||||
Reference in New Issue
Block a user