From 2ad7d2ab21954c757d7a14eb600cf7608bdf43ca Mon Sep 17 00:00:00 2001 From: codeanticode Date: Mon, 17 Nov 2014 09:54:52 -0700 Subject: [PATCH] getting font metrics from default toolkit --- core/src/processing/opengl/PJOGL.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/core/src/processing/opengl/PJOGL.java b/core/src/processing/opengl/PJOGL.java index 3393d9d6e..988b47846 100644 --- a/core/src/processing/opengl/PJOGL.java +++ b/core/src/processing/opengl/PJOGL.java @@ -3,7 +3,6 @@ package processing.opengl; import java.awt.Canvas; import java.awt.Font; import java.awt.FontMetrics; -import java.awt.Graphics2D; import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.FontRenderContext; @@ -1196,7 +1195,6 @@ public class PJOGL extends PGL { @Override protected int getFontAscent(Font font) { - //FontMetrics metrics = pg.parent.getFontMetrics(font); @SuppressWarnings("deprecation") FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(font); return metrics.getAscent(); @@ -1204,18 +1202,18 @@ public class PJOGL extends PGL { protected int getFontDescent(Object font) { + FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics((Font)font); // FontMetrics metrics = pg.parent.getFontMetrics((Font)font); -// return metrics.getDescent(); - return 0; + return metrics.getDescent(); } protected int getTextWidth(Object font, char buffer[], int start, int stop) { // maybe should use one of the newer/fancier functions for this? -// int length = stop - start; + int length = stop - start; // FontMetrics metrics = pg.parent.getFontMetrics((Font)font); -// return metrics.charsWidth(buffer, start, length); - return 0; + FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics((Font)font); + return metrics.charsWidth(buffer, start, length); } @@ -1399,8 +1397,8 @@ public class PJOGL extends PGL { public FontOutline(char ch, Object font) { char textArray[] = new char[] { ch }; - Graphics2D graphics = (Graphics2D) pg.parent.frame.getGraphics(); - FontRenderContext frc = graphics.getFontRenderContext(); +// Graphics2D graphics = (Graphics2D) pg.parent.frame.getGraphics(); + FontRenderContext frc = pg.getFontRenderContext((Font)font); GlyphVector gv = ((Font)font).createGlyphVector(frc, textArray); Shape shp = gv.getOutline(); iter = shp.getPathIterator(null);