From f7d542b2a6c07f5252b25f1f606fed2b21dc6f87 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sat, 13 Jun 2015 17:23:56 -0400 Subject: [PATCH] re-apply the current font when using retina (fixes #2617) --- core/src/processing/core/PGraphicsJava2D.java | 16 ++++++++++++++-- core/todo.txt | 4 ++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/core/src/processing/core/PGraphicsJava2D.java b/core/src/processing/core/PGraphicsJava2D.java index c9b0e6e9c..48113e015 100644 --- a/core/src/processing/core/PGraphicsJava2D.java +++ b/core/src/processing/core/PGraphicsJava2D.java @@ -93,10 +93,13 @@ public class PGraphicsJava2D extends PGraphics { public boolean fillGradient; public Paint fillGradientObject; + protected Stroke strokeObject; protected Color strokeColorObject; public boolean strokeGradient; public Paint strokeGradientObject; + Font fontObject; + ////////////////////////////////////////////////////////////// @@ -317,7 +320,14 @@ public class PGraphicsJava2D extends PGraphics { // Calling getGraphics() seems to nuke several settings. // It seems to be re-creating a new Graphics2D object each time. // https://github.com/processing/processing/issues/3331 - strokeImpl(); + if (strokeObject != null) { + g2.setStroke(strokeObject); + } + // https://github.com/processing/processing/issues/2617 + if (fontObject != null) { + g2.setFont(fontObject); + } + handleSmooth(); /* @@ -1898,6 +1908,7 @@ public class PGraphicsJava2D extends PGraphics { font = font.deriveFont(map); g2.setFont(font); textFont.setNative(font); + fontObject = font; // Font dfont = font.deriveFont(size); //// Map attrs = dfont.getAttributes(); @@ -2371,7 +2382,8 @@ public class PGraphicsJava2D extends PGraphics { join = BasicStroke.JOIN_ROUND; } - g2.setStroke(new BasicStroke(strokeWeight, cap, join)); + strokeObject = new BasicStroke(strokeWeight, cap, join); + g2.setStroke(strokeObject); } diff --git a/core/todo.txt b/core/todo.txt index f84e1c1d2..c7bfc484c 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -3,6 +3,8 @@ text/fonts X Text looks blurry in GL Retina X https://github.com/processing/processing/issues/2739 +X text not getting the correct font in Retina2D +X https://github.com/processing/processing/issues/2617 andres X ortho function is broken @@ -197,8 +199,6 @@ _ https://github.com/processing/processing/issues/2510 _ check retina with PGraphicsRetina2D _ Text is half size in PGraphicsRetina2D _ https://github.com/processing/processing/issues/2738 -_ text not getting the correct font in Retina2D -_ https://github.com/processing/processing/issues/2617 decisions/misc