Factored out scaling formula into an helper method

Also use a default value of 100 in case "gui.scalePercent" is not set.
This commit is contained in:
Cristian Maglie 2015-12-30 16:15:19 +01:00
parent f239f5b5ab
commit 967153fe87
6 changed files with 22 additions and 18 deletions

View File

@ -1752,11 +1752,10 @@ public class Base {
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
int scale = Theme.getInteger("gui.scalePercent");
Font f = new Font("SansSerif", Font.PLAIN, 11 * scale / 100);
Font f = new Font("SansSerif", Font.PLAIN, Theme.scale(11));
g.setFont(f);
g.setColor(Color.white);
g.drawString(BaseNoGui.VERSION_NAME_LONG, 33 * scale / 100, 20 * scale / 100);
g.drawString(BaseNoGui.VERSION_NAME_LONG, Theme.scale(33), Theme.scale(20));
}
};
window.addMouseListener(new MouseAdapter() {

View File

@ -74,7 +74,7 @@ public class EditorHeader extends JComponent {
static final int PIECE_WIDTH = 4;
// value for the size bars, buttons, etc
static final int GRID_SIZE = 33 * Theme.getInteger("gui.scalePercent") / 100;
static final int GRID_SIZE = Theme.scale(33);
static Image[][] pieces;

View File

@ -55,7 +55,7 @@ public class EditorLineStatus extends JComponent {
background = Theme.getColor("linestatus.bgcolor");
font = Theme.getFont("linestatus.font");
foreground = Theme.getColor("linestatus.color");
high = Theme.getInteger("linestatus.height") * Theme.getInteger("gui.scalePercent") / 100;
high = Theme.scale(Theme.getInteger("linestatus.height"));
if (OSUtils.isMacOS()) {
resize = Theme.getThemeImage("resize.png", this);

View File

@ -68,7 +68,7 @@ public class EditorStatus extends JPanel {
}
// value for the size bars, buttons, etc
static final int GRID_SIZE = 33 * Theme.getInteger("gui.scalePercent") / 100;
static final int GRID_SIZE = Theme.scale(33);
private final Editor editor;
private final Font font;

View File

@ -56,19 +56,19 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key
/**
* Width of each toolbar button.
*/
private static final int BUTTON_WIDTH = 27 * Theme.getInteger("gui.scalePercent") / 100;
private static final int BUTTON_WIDTH = Theme.scale(27);
/**
* Height of each toolbar button.
*/
private static final int BUTTON_HEIGHT = 32 * Theme.getInteger("gui.scalePercent") / 100;
private static final int BUTTON_HEIGHT = Theme.scale(32);
/**
* The amount of space between groups of buttons on the toolbar.
*/
private static final int BUTTON_GAP = 5 * Theme.getInteger("gui.scalePercent") / 100;
private static final int BUTTON_GAP = Theme.scale(5);
/**
* Size of the button image being chopped up.
*/
private static final int BUTTON_IMAGE_SIZE = 33 * Theme.getInteger("gui.scalePercent") / 100;
private static final int BUTTON_IMAGE_SIZE = Theme.scale(33);
private static final int RUN = 0;
@ -437,7 +437,7 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key
public Dimension getMaximumSize() {
return new Dimension(3000 * Theme.getInteger("gui.scalePercent") / 100, BUTTON_HEIGHT);
return new Dimension(Theme.scale(3000), BUTTON_HEIGHT);
}

View File

@ -97,6 +97,16 @@ public class Theme {
set(key, String.valueOf(value));
}
static public int getScale() {
if (get("gui.scalePercent") == null)
return 100;
return getInteger("gui.scalePercent");
}
static public int scale(int size) {
return size * getScale() / 100;
}
static public Color getColorCycleColor(String name, int i) {
int cycleSize = getInteger(name + ".size");
name = String.format("%s.%02d", name, i % cycleSize);
@ -125,12 +135,7 @@ public class Theme {
set(attr, value);
font = PreferencesHelper.getFont(table, attr);
}
int scale = getInteger("gui.scalePercent");
if (scale != 100) {
font = font
.deriveFont((float) (font.getSize()) * (float) scale / (float) 100.0);
}
return font;
return font.deriveFont((float) scale(font.getSize()));
}
/**
@ -199,7 +204,7 @@ public class Theme {
Toolkit tk = Toolkit.getDefaultToolkit();
SplitFile name = FileUtils.splitFilename(filename);
int scale = getInteger("gui.scalePercent");
int scale = getScale();
File libFolder = Base.getContentFile("lib");
File imageFile1x = new File(libFolder, name.basename + "." + name.extension);
File imageFile2x = new File(libFolder, name.basename + "@2x." + name.extension);