diff --git a/app/src/cc/arduino/view/SplashScreenHelper.java b/app/src/cc/arduino/view/SplashScreenHelper.java index a3914495f..0e6779026 100644 --- a/app/src/cc/arduino/view/SplashScreenHelper.java +++ b/app/src/cc/arduino/view/SplashScreenHelper.java @@ -35,6 +35,8 @@ import java.awt.*; import java.awt.geom.Rectangle2D; import java.util.Map; +import processing.app.Theme; + public class SplashScreenHelper { private static final int X_OFFSET = 0; @@ -96,7 +98,7 @@ public class SplashScreenHelper { private void prepareTextAreaAndGraphics() { splashTextArea = new Rectangle2D.Double(X_OFFSET, Y_OFFSET, TEXTAREA_WIDTH, TEXTAREA_HEIGHT); - splashGraphics = splash.createGraphics(); + splashGraphics = Theme.setupGraphics2D(splash.createGraphics()); if (desktopHints != null) { splashGraphics.addRenderingHints(desktopHints); diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 575925cb2..19936e354 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -1745,13 +1745,10 @@ public class Base { final Image image = Theme.getLibImage("about", activeEditor, Theme.scale(475), Theme.scale(300)); final Window window = new Window(activeEditor) { - public void paint(Graphics g) { + public void paint(Graphics graphics) { + Graphics2D g = Theme.setupGraphics2D(graphics); g.drawImage(image, 0, 0, null); - Graphics2D g2 = (Graphics2D) g; - g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, - RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); - Font f = new Font("SansSerif", Font.PLAIN, Theme.scale(11)); g.setFont(f); g.setColor(Color.white); diff --git a/app/src/processing/app/EditorHeader.java b/app/src/processing/app/EditorHeader.java index 060b37ed8..3bde6edb6 100644 --- a/app/src/processing/app/EditorHeader.java +++ b/app/src/processing/app/EditorHeader.java @@ -222,18 +222,13 @@ public class EditorHeader extends JComponent { offscreen = createImage(imageW, imageH); } - Graphics g = offscreen.getGraphics(); + Graphics2D g = Theme.setupGraphics2D(offscreen.getGraphics()); if (font == null) { font = Theme.getFont("header.text.font"); } g.setFont(font); // need to set this each time through metrics = g.getFontMetrics(); fontAscent = metrics.getAscent(); - //} - - //Graphics2D g2 = (Graphics2D) g; - //g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, - // RenderingHints.VALUE_TEXT_ANTIALIAS_ON); // set the background for the offscreen g.setColor(backgroundColor); @@ -255,10 +250,8 @@ public class EditorHeader extends JComponent { // if modified, add the li'l glyph next to the name String text = " " + codeName + (code.isModified() ? " \u00A7" : " "); - Graphics2D g2 = (Graphics2D) g; - int textWidth = (int) - font.getStringBounds(text, g2.getFontRenderContext()).getWidth(); + font.getStringBounds(text, g.getFontRenderContext()).getWidth(); int pieceCount = 2 + (textWidth / PIECE_WIDTH); int pieceWidth = pieceCount * PIECE_WIDTH; diff --git a/app/src/processing/app/EditorLineStatus.java b/app/src/processing/app/EditorLineStatus.java index 1f21590ea..770d1e80a 100644 --- a/app/src/processing/app/EditorLineStatus.java +++ b/app/src/processing/app/EditorLineStatus.java @@ -89,7 +89,8 @@ public class EditorLineStatus extends JComponent { repaint(); } - public void paintComponent(Graphics g) { + public void paintComponent(Graphics graphics) { + Graphics2D g = Theme.setupGraphics2D(graphics); if (name == "" && serialport == "") { PreferencesMap boardPreferences = BaseNoGui.getBoardPreferences(); if (boardPreferences != null) diff --git a/app/src/processing/app/EditorStatus.java b/app/src/processing/app/EditorStatus.java index 4ccfbab52..7dd84e530 100644 --- a/app/src/processing/app/EditorStatus.java +++ b/app/src/processing/app/EditorStatus.java @@ -218,15 +218,15 @@ public class EditorStatus extends JPanel { offscreen = createImage(imageW, imageH); } - Graphics graphics = offscreen.getGraphics(); - graphics.setColor(BGCOLOR[mode]); - graphics.fillRect(0, 0, imageW, imageH); - graphics.setColor(FGCOLOR[mode]); + Graphics2D g = Theme.setupGraphics2D(offscreen.getGraphics()); + g.setColor(BGCOLOR[mode]); + g.fillRect(0, 0, imageW, imageH); + g.setColor(FGCOLOR[mode]); - graphics.setFont(font); // needs to be set each time on osx - int ascent = graphics.getFontMetrics().getAscent(); + g.setFont(font); // needs to be set each time on osx + int ascent = g.getFontMetrics().getAscent(); assert message != null; - graphics.drawString(message, Preferences.GUI_SMALL, (sizeH + ascent) / 2); + g.drawString(message, Preferences.GUI_SMALL, (sizeH + ascent) / 2); screen.drawImage(offscreen, 0, 0, null); } diff --git a/app/src/processing/app/EditorToolbar.java b/app/src/processing/app/EditorToolbar.java index add87784c..b6a2ee3e0 100644 --- a/app/src/processing/app/EditorToolbar.java +++ b/app/src/processing/app/EditorToolbar.java @@ -197,7 +197,7 @@ public class EditorToolbar extends JComponent implements MouseInputListener, Key x1[SERIAL] = width - BUTTON_WIDTH - 14; x2[SERIAL] = width - 14; } - Graphics g = offscreen.getGraphics(); + Graphics2D g = Theme.setupGraphics2D(offscreen.getGraphics()); g.setColor(bgcolor); //getBackground()); g.fillRect(0, 0, width, height); diff --git a/app/src/processing/app/Theme.java b/app/src/processing/app/Theme.java index 47eb7c31d..2b9038acf 100644 --- a/app/src/processing/app/Theme.java +++ b/app/src/processing/app/Theme.java @@ -26,6 +26,8 @@ import static processing.app.I18n.tr; import java.awt.Color; import java.awt.Component; import java.awt.Font; +import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.Image; import java.awt.MediaTracker; import java.awt.RenderingHints; @@ -287,4 +289,13 @@ public class Theme { return Toolkit.getDefaultToolkit().createImage(imgData); } + static public Graphics2D setupGraphics2D(Graphics graphics) { + Graphics2D g = (Graphics2D) graphics; + if (PreferencesData.getBoolean("editor.antialias")) { + g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + } + return g; + } + }