From 6d83476ed6be2d3d12befd8b153d775601145423 Mon Sep 17 00:00:00 2001 From: fitzsim Date: Mon, 1 Dec 2003 23:12:09 +0000 Subject: 2003-12-01 Thomas Fitzsimmons * gnu/java/awt/peer/gtk/GdkFontMetrics.java (GdkFontMetrics): Pass font name, not XLFD, to initState. (stringWidth(String, int, String)): New method. (stringWidth(String)): Call new stringWidth. (getLeading): Always return 0. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c (initState): New Pango implementation. (stringWidth): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74133 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'libjava/gnu/java') diff --git a/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.java b/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.java index 12982832df5..ebca7ed0cea 100644 --- a/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.java +++ b/libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.java @@ -50,16 +50,20 @@ public class GdkFontMetrics extends FontMetrics MAX_ADVANCE = 4; private int[] metrics; - private native int[] initState (String xlfd, int pts); + private native int[] initState (String fname, int size); public GdkFontMetrics (Font font) { super (font); - metrics = initState (((GtkFontPeer)font.getPeer ()).getXLFD (), - font.getSize ()); + metrics = initState (font.getName (), font.getSize ()); } - native public int stringWidth (String str); + native public int stringWidth (String fname, int size, String str); + + public int stringWidth (String str) + { + return stringWidth (font.getName (), font.getSize (), str); + } public int charWidth (char ch) { @@ -71,15 +75,10 @@ public class GdkFontMetrics extends FontMetrics return stringWidth (new String (data, off, len)); } - /* - Sun's Motif implementation always returns 0 or 1 here (???), but - going by the X11 man pages, it seems as though we should return - font.ascent + font.descent. - */ + // Sun's Motif implementation always returns 0 or 1 here (???). public int getLeading () { - return 1; -// return metrics[ASCENT] + metrics[DESCENT]; + return 0; } public int getAscent () -- cgit v1.2.3