SKIN Update
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 64 KiB |
@@ -698,7 +698,8 @@ public class FCardImageRenderer {
|
||||
}
|
||||
} else {
|
||||
fillColorBackground(g, colors, x, y, w, h);
|
||||
SkinIcon icon = FSkin.getIcon(FSkinProp.ICO_LOGO);
|
||||
//Card Art Logo
|
||||
SkinIcon icon = FSkin.getIcon(FSkinProp.ICO_CARDART);
|
||||
float artWidth = (float)icon.getSizeForPaint(g).getWidth();
|
||||
float artHeight = (float)icon.getSizeForPaint(g).getHeight();
|
||||
if (artWidth / artHeight >= (float)w / (float)h) {
|
||||
|
||||
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 64 KiB |
@@ -128,6 +128,17 @@ public class FSkin {
|
||||
//reset hd buttons/icons
|
||||
Forge.hdbuttons = false;
|
||||
Forge.hdstart = false;
|
||||
// TODO: the "v2" string should be a property of the default skin.
|
||||
FileHandle v2File = Gdx.files.absolute(ForgeConstants.FONTS_DIR + "v2");
|
||||
if (v2File == null || !v2File.exists()) {
|
||||
//delete cached fonts
|
||||
FSkinFont.deleteCachedFiles();
|
||||
try {
|
||||
v2File.file().createNewFile();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//ensure skins directory exists
|
||||
final FileHandle dir = Gdx.files.absolute(ForgeConstants.CACHE_SKINS_DIR);
|
||||
|
||||
@@ -219,9 +219,10 @@ public enum FSkinImage implements FSkinImageInterface {
|
||||
|
||||
UNKNOWN (FSkinProp.ICO_UNKNOWN),
|
||||
LOGO (FSkinProp.ICO_LOGO),
|
||||
CARDART (FSkinProp.ICO_CARDART),
|
||||
|
||||
FLIPCARD (FSkinProp.ICO_FLIPCARD),
|
||||
HDFLIPCARD (FSkinProp.ICO_HDFLIPCARD),
|
||||
HDFLIPCARD (FSkinProp.ICO_HDFLIPCARD),
|
||||
|
||||
FAVICON (FSkinProp.ICO_FAVICON),
|
||||
LOCK (FSkinProp.ICO_LOCK),
|
||||
@@ -313,15 +314,15 @@ public enum FSkinImage implements FSkinImageInterface {
|
||||
HDBTN_DOWN_LEFT (FSkinProp.IMG_HDBTN_DOWN_LEFT),
|
||||
HDBTN_DOWN_CENTER (FSkinProp.IMG_HDBTN_DOWN_CENTER),
|
||||
HDBTN_DOWN_RIGHT (FSkinProp.IMG_HDBTN_DOWN_RIGHT),
|
||||
HDBTN_FOCUS_LEFT (FSkinProp.IMG_HDBTN_FOCUS_LEFT),
|
||||
HDBTN_FOCUS_CENTER (FSkinProp.IMG_HDBTN_FOCUS_CENTER),
|
||||
HDBTN_FOCUS_RIGHT (FSkinProp.IMG_HDBTN_FOCUS_RIGHT),
|
||||
HDBTN_TOGGLE_LEFT (FSkinProp.IMG_HDBTN_TOGGLE_LEFT),
|
||||
HDBTN_TOGGLE_CENTER (FSkinProp.IMG_HDBTN_TOGGLE_CENTER),
|
||||
HDBTN_TOGGLE_RIGHT (FSkinProp.IMG_HDBTN_TOGGLE_RIGHT),
|
||||
HDBTN_DISABLED_LEFT (FSkinProp.IMG_HDBTN_DISABLED_LEFT),
|
||||
HDBTN_DISABLED_CENTER (FSkinProp.IMG_HDBTN_DISABLED_CENTER),
|
||||
HDBTN_DISABLED_RIGHT (FSkinProp.IMG_HDBTN_DISABLED_RIGHT),
|
||||
HDBTN_FOCUS_LEFT (FSkinProp.IMG_HDBTN_FOCUS_LEFT),
|
||||
HDBTN_FOCUS_CENTER (FSkinProp.IMG_HDBTN_FOCUS_CENTER),
|
||||
HDBTN_FOCUS_RIGHT (FSkinProp.IMG_HDBTN_FOCUS_RIGHT),
|
||||
HDBTN_TOGGLE_LEFT (FSkinProp.IMG_HDBTN_TOGGLE_LEFT),
|
||||
HDBTN_TOGGLE_CENTER (FSkinProp.IMG_HDBTN_TOGGLE_CENTER),
|
||||
HDBTN_TOGGLE_RIGHT (FSkinProp.IMG_HDBTN_TOGGLE_RIGHT),
|
||||
HDBTN_DISABLED_LEFT (FSkinProp.IMG_HDBTN_DISABLED_LEFT),
|
||||
HDBTN_DISABLED_CENTER (FSkinProp.IMG_HDBTN_DISABLED_CENTER),
|
||||
HDBTN_DISABLED_RIGHT (FSkinProp.IMG_HDBTN_DISABLED_RIGHT),
|
||||
|
||||
//Foils
|
||||
FOIL_01 (FSkinProp.FOIL_01),
|
||||
|
||||
@@ -156,19 +156,20 @@ public class CardImageRenderer {
|
||||
}
|
||||
//space for artist
|
||||
textBoxHeight -= 2 * PT_FONT.getCapHeight();
|
||||
PaperCard paperCard = ImageUtil.getPaperCardFromImageKey(state.getImageKey());
|
||||
PaperCard paperCard = null;
|
||||
try {
|
||||
paperCard = ImageUtil.getPaperCardFromImageKey(state.getImageKey());
|
||||
} catch (Exception e) {}
|
||||
String artist = "WOTC";
|
||||
if (paperCard != null && !paperCard.getArtist().isEmpty())
|
||||
artist = paperCard.getArtist();
|
||||
float minTextBoxHeight = 2 * headerHeight;
|
||||
if (textBoxHeight < minTextBoxHeight) {
|
||||
if (textBoxHeight < minTextBoxHeight) {
|
||||
artHeight -= (minTextBoxHeight - textBoxHeight); //subtract from art height if text box not big enough otherwise
|
||||
textBoxHeight = minTextBoxHeight;
|
||||
if (artHeight < 0) {
|
||||
textBoxHeight += artHeight;
|
||||
artHeight = 0;
|
||||
}
|
||||
artHeight -= (minTextBoxHeight - textBoxHeight); //subtract from art height if text box not big enough otherwise
|
||||
textBoxHeight = minTextBoxHeight;
|
||||
if (artHeight < 0) {
|
||||
textBoxHeight += artHeight;
|
||||
artHeight = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,8 +303,8 @@ public class CardImageRenderer {
|
||||
private static final FBufferedImage stretchedArt;
|
||||
|
||||
static {
|
||||
final float logoWidth = FSkinImage.LOGO.getWidth();
|
||||
final float logoHeight = FSkinImage.LOGO.getHeight();
|
||||
final float logoWidth = FSkinImage.CARDART.getWidth();
|
||||
final float logoHeight = FSkinImage.CARDART.getHeight();
|
||||
float h = logoHeight * 1.1f;
|
||||
float w = h * CardRenderer.CARD_ART_RATIO;
|
||||
forgeArt = new FBufferedImage(w, h) {
|
||||
@@ -311,7 +312,7 @@ public class CardImageRenderer {
|
||||
protected void draw(Graphics g, float w, float h) {
|
||||
g.drawImage(Forge.isMobileAdventureMode ? FSkinTexture.ADV_BG_TEXTURE : FSkinTexture.BG_TEXTURE, 0, 0, w, h);
|
||||
g.fillRect(FScreen.getTextureOverlayColor(), 0, 0, w, h);
|
||||
g.drawImage(FSkinImage.LOGO, (w - logoWidth) / 2, (h - logoHeight) / 2, logoWidth, logoHeight);
|
||||
g.drawImage(FSkinImage.CARDART, (w - logoWidth) / 2, (h - logoHeight) / 2, logoWidth, logoHeight);
|
||||
}
|
||||
};
|
||||
stretchedArt = new FBufferedImage(w, h) {
|
||||
@@ -319,20 +320,24 @@ public class CardImageRenderer {
|
||||
protected void draw(Graphics g, float w, float h) {
|
||||
g.drawImage(Forge.isMobileAdventureMode ? FSkinTexture.ADV_BG_TEXTURE : FSkinTexture.BG_TEXTURE, 0, 0, w, h);
|
||||
g.fillRect(FScreen.getTextureOverlayColor(), 0, 0, w, h);
|
||||
g.drawImage(FSkinImage.LOGO, (w - logoWidth) / 2, ((h - logoHeight) / 2) + h / 3.5f, logoWidth, logoHeight / 3);
|
||||
int newW = Math.round((h * (logoWidth / logoHeight)) * 1.5f);
|
||||
int newH = Math.round(logoHeight / 2);
|
||||
g.drawImage(FSkinImage.CARDART, (w - newW) /2, (h - newH) / 2, newW, newH);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static void drawArt(CardView cv, Graphics g, float x, float y, float w, float h, boolean altState, boolean isFaceDown) {
|
||||
boolean isSaga = cv.getCurrentState().getType().hasSubtype("Saga");
|
||||
boolean isClass = cv.getCurrentState().getType().hasSubtype("Class") || cv.getCurrentState().getType().hasSubtype("Case");
|
||||
boolean isDungeon = cv.getCurrentState().getType().isDungeon();
|
||||
boolean useStretchedArt = cv.getCurrentState().getType().hasSubtype("Saga")
|
||||
|| cv.getCurrentState().getType().hasSubtype("Class")
|
||||
|| cv.getCurrentState().getType().hasSubtype("Case")
|
||||
|| cv.getCurrentState().getType().isDungeon();
|
||||
ColorSet colorSet = cv.getCurrentState().getColors();
|
||||
if (altState && cv.hasAlternateState()) {
|
||||
isSaga = cv.getAlternateState().getType().hasSubtype("Saga");
|
||||
isClass = cv.getAlternateState().getType().hasSubtype("Class") || cv.getAlternateState().getType().hasSubtype("Case");
|
||||
isDungeon = cv.getAlternateState().getType().isDungeon();
|
||||
useStretchedArt = cv.getAlternateState().getType().hasSubtype("Saga")
|
||||
|| cv.getAlternateState().getType().hasSubtype("Class")
|
||||
|| cv.getAlternateState().getType().hasSubtype("Case")
|
||||
|| cv.getAlternateState().getType().isDungeon();
|
||||
colorSet = cv.getAlternateState().getColors();
|
||||
}
|
||||
if (cv == null) {
|
||||
@@ -344,7 +349,7 @@ public class CardImageRenderer {
|
||||
}
|
||||
}
|
||||
//fallback
|
||||
if (isSaga || isClass || isDungeon) {
|
||||
if (useStretchedArt) {
|
||||
g.drawImage(stretchedArt, x, y, w, h);
|
||||
} else {
|
||||
g.drawImage(forgeArt, x, y, w, h);
|
||||
@@ -359,7 +364,7 @@ public class CardImageRenderer {
|
||||
|| cv.getCurrentState().getImageKey().equals(ImageKeys.getTokenKey(ImageKeys.FORETELL_IMAGE)));
|
||||
if (cardArt != null) {
|
||||
if (isHidden && !altState) {
|
||||
if (isSaga || isClass || isDungeon) {
|
||||
if (useStretchedArt) {
|
||||
g.drawImage(stretchedArt, x, y, w, h);
|
||||
} else {
|
||||
g.drawImage(forgeArt, x, y, w, h);
|
||||
@@ -391,14 +396,14 @@ public class CardImageRenderer {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (isSaga || isClass || isDungeon) {
|
||||
if (useStretchedArt) {
|
||||
g.drawImage(stretchedArt, x, y, w, h);
|
||||
} else {
|
||||
g.drawImage(forgeArt, x, y, w, h);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (isSaga || isClass || isDungeon) {
|
||||
if (useStretchedArt) {
|
||||
g.drawImage(stretchedArt, x, y, w, h);
|
||||
} else {
|
||||
g.drawImage(forgeArt, x, y, w, h);
|
||||
|
||||
@@ -143,3 +143,103 @@ https://downloads.cardforge.org/skins/magic_blue/sprite_buttons.png
|
||||
https://downloads.cardforge.org/skins/magic_blue/sprite_icons.png
|
||||
https://downloads.cardforge.org/skins/magic_blue/sprite_start.png
|
||||
https://downloads.cardforge.org/skins/magic_blue/sprite_trophies.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WU.png
|
||||
https://downloads.cardforge.org/skins/old_forge/loader.gif
|
||||
https://downloads.cardforge.org/skins/old_forge/overlay_alpha.png
|
||||
https://downloads.cardforge.org/skins/old_forge/splatter.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_ability.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_adv_buttons.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_adventure.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_attraction_lights.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_avatars.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_border.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_buttons.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_cracks.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_cursor.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_deckbox.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_draftranks.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_favicons.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_foils.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_hybrid_colorless.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_icons.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_manaicons.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_old_foils.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_phyrexian.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_planar_conquest.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_setlogo.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_sleeves.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_sleeves2.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_start.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_trophies.png
|
||||
https://downloads.cardforge.org/skins/old_forge/sprite_watermark.png
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_castle.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_cave.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_common.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_dungeon.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_forest.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_island.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_match.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_match_day.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_match_nigh.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_mountain.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_plains.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_splash.png
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_swamp.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_texture.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_bg_waste.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/adv_logo.png
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_chaos_wheel.png
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_day.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_draft_deck.png
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_match.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_night.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_space.png
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_splash.png
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_splash_hd.png
|
||||
https://downloads.cardforge.org/skins/old_forge/bg_texture.jpg
|
||||
https://downloads.cardforge.org/skins/old_forge/font1.ttf
|
||||
https://downloads.cardforge.org/skins/old_forge/grid_icons.png
|
||||
https://downloads.cardforge.org/skins/old_forge/hd_logo.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_A.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_B.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_BG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_BR.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_C.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_G.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_L.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_M.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_R.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_RG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_U.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_UB.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_UG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_UR.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_V.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_W.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WB.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WR.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_CARDBG_WU.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_B.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_C.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_G.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_M.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_R.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_U.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_NYX_W.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_B.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_BG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_BR.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_C.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_G.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_M.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_R.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_RG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_U.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_UB.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_UG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_UR.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_W.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WB.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WG.png
|
||||
https://downloads.cardforge.org/skins/old_forge/IMG_PWBG_WR.png
|
||||
|
||||
|
Before Width: | Height: | Size: 342 KiB After Width: | Height: | Size: 161 KiB |
|
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 691 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 786 KiB After Width: | Height: | Size: 801 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 305 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 567 KiB |
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 180 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 817 KiB |
|
Before Width: | Height: | Size: 823 KiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 185 KiB |
@@ -359,6 +359,7 @@ public enum FSkinProp {
|
||||
|
||||
ICO_UNKNOWN (new int[] {0, 720, 80, 80}, PropType.ICON),
|
||||
ICO_LOGO (new int[] {480, 0, 200, 200}, PropType.ICON),
|
||||
ICO_CARDART (new int[] {0, 1600, 200, 200}, PropType.ICON),
|
||||
|
||||
ICO_FLIPCARD (new int[] {400, 0, 80, 120}, PropType.ICON),
|
||||
ICO_HDFLIPCARD (new int[] {2, 1268, 387, 500}, PropType.BUTTONS),
|
||||
|
||||