diff --git a/core/assets-raw/sprites/ui/flat-down-base.9.png b/core/assets-raw/sprites/ui/flat-down-base.9.png new file mode 100644 index 0000000000..10de55d3af Binary files /dev/null and b/core/assets-raw/sprites/ui/flat-down-base.9.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 8d75fe368e..368bcffcb4 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -10817,11 +10817,11 @@ discord-banner orig: 84, 45 offset: 0, 0 index: -1 -flat-down +flat-down-base rotate: false xy: 403, 371 size: 36, 27 - split: 4, 4, 4, 4 + split: 12, 12, 12, 12 orig: 36, 27 offset: 0, 0 index: -1 diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 6490ad0f7e..17882a5a65 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -6,15 +6,15 @@ import io.anuke.arc.Graphics.Cursor.SystemCursor; import io.anuke.arc.freetype.FreeTypeFontGenerator; import io.anuke.arc.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; import io.anuke.arc.function.Consumer; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Colors; -import io.anuke.arc.graphics.g2d.BitmapFont; +import io.anuke.arc.graphics.*; +import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.graphics.g2d.TextureAtlas.AtlasRegion; import io.anuke.arc.input.KeyCode; import io.anuke.arc.math.Interpolation; import io.anuke.arc.scene.*; import io.anuke.arc.scene.actions.Actions; import io.anuke.arc.scene.event.Touchable; -import io.anuke.arc.scene.style.NinePatchDrawable; +import io.anuke.arc.scene.style.*; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.TextField.TextFieldFilter; import io.anuke.arc.scene.ui.Tooltip.Tooltips; @@ -70,15 +70,37 @@ public class UI implements ApplicationListener{ public UI(){ Skin skin = new Skin(Core.atlas); generateFonts(skin); + { + AtlasRegion region = Core.atlas.find("flat-down-base"); + int[] splits = region.splits; + + ScaledNinePatchDrawable copy = new ScaledNinePatchDrawable(new NinePatch(region, splits[0], splits[1], splits[2], splits[3])){ + public float getLeftWidth(){ + return 0; + } + + public float getRightWidth(){ + return 0; + } + + public float getTopHeight(){ + return 0; + } + + public float getBottomHeight(){ + return 0; + } + }; + copy.setMinWidth(0); + copy.setMinHeight(0); + copy.setTopHeight(0); + copy.setRightWidth(0); + copy.setBottomHeight(0); + copy.setLeftWidth(0); + skin.add("flat-down", copy, Drawable.class); + } + skin.load(Core.files.internal("sprites/uiskin.json")); - NinePatchDrawable draw = (NinePatchDrawable)skin.getDrawable("flat-down"); - draw.setMinWidth(0); - draw.setMinHeight(0); - draw.setTopHeight(0); - draw.setRightWidth(0); - draw.setBottomHeight(0); - draw.setLeftWidth(0); - //TODO fix for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ font.setUseIntegerPositions(true); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index f87f33c118..f6dd769e50 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -54,7 +54,7 @@ public class SettingsMenuDialog extends SettingsDialog{ cont.remove(); buttons.remove(); - menu = new Table(); + menu = new Table("pane"); Consumer s = table -> { table.row(); @@ -69,16 +69,18 @@ public class SettingsMenuDialog extends SettingsDialog{ prefs.top(); prefs.margin(14f); - menu.defaults().size(300f, 60f).pad(3f); - menu.addButton("$settings.game", () -> visible(0)); + String style = "clear"; + + menu.defaults().size(300f, 60f); + menu.addButton("$settings.game", style, () -> visible(0)); menu.row(); - menu.addButton("$settings.graphics", () -> visible(1)); + menu.addButton("$settings.graphics", style, () -> visible(1)); menu.row(); - menu.addButton("$settings.sound", () -> visible(2)); + menu.addButton("$settings.sound", style, () -> visible(2)); menu.row(); - menu.addButton("$settings.language", ui.language::show); + menu.addButton("$settings.language", style, ui.language::show); menu.row(); - menu.addButton("$settings.controls", ui.controls::show).visible(() -> !mobile || Core.settings.getBool("keyboard")); + menu.addButton("$settings.controls", style, ui.controls::show).visible(() -> !mobile || Core.settings.getBool("keyboard")); prefs.clearChildren(); prefs.add(menu);