This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gui] [PATCH] FYI: Setting Font size in the constructor
- From: David Jee <djee at redhat dot com>
- To: java-patches at gcc dot gnu dot org
- Date: 25 Feb 2004 12:22:28 -0500
- Subject: [gui] [PATCH] FYI: Setting Font size in the constructor
- Organization:
Hi,
I committed the following patch to the java-gui-branch. It allows the
Font size to be set at creation time in the constructor. If no size is
specified, it will be set to 1.
-David Jee
2004-02-25 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkFontPeer.java
(GtkFontPeer(String,int)): Call the new constructor with size 1.
(GtkFontPeer(String,int,int)): New constructor with size attribute.
* gnu/java/awt/peer/gtk/GtkToolkit.java
(getFontPeer(String,int)): Call the new overload method with size 1.
(getFontPeer(String,int,int)): New method. Overloaded with size
attribute.
(getClasspathFontPeer): Set the size of the font.
Index: gnu/java/awt/peer/gtk/GtkFontPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkFontPeer.java,v
retrieving revision 1.3
diff -u -r1.3 GtkFontPeer.java
--- gnu/java/awt/peer/gtk/GtkFontPeer.java 31 Dec 2003 08:58:30 -0000 1.3
+++ gnu/java/awt/peer/gtk/GtkFontPeer.java 25 Feb 2004 17:07:47 -0000
@@ -62,11 +62,17 @@
}
}
- final private String Xname; // uses %d for font size.
+ final private String Xname;
public GtkFontPeer (String name, int style)
{
- super(name, style, 12 /* kludge */);
+ // All fonts get a default size of 1 if size is not specified.
+ this(name, style, 1);
+ }
+
+ public GtkFontPeer (String name, int style, int size)
+ {
+ super(name, style, size);
if (bundle != null)
Xname = bundle.getString (name.toLowerCase () + "." + style);
@@ -90,7 +96,7 @@
else
spacing = "c";
- Xname = "-*-*-" + weight + "-" + slant + "-normal-*-%d-*-*-*-" + spacing + "-*-*-*";
+ Xname = "-*-*-" + weight + "-" + slant + "-normal-*-*-" + size + "-*-*-" + spacing + "-*-*-*";
}
}
Index: gnu/java/awt/peer/gtk/GtkToolkit.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkToolkit.java,v
retrieving revision 1.8.2.1
diff -u -r1.8.2.1 GtkToolkit.java
--- gnu/java/awt/peer/gtk/GtkToolkit.java 24 Feb 2004 22:52:53 -0000 1.8.2.1
+++ gnu/java/awt/peer/gtk/GtkToolkit.java 25 Feb 2004 17:07:47 -0000
@@ -367,10 +367,18 @@
* @deprecated part of the older "logical font" system in earlier AWT
* implementations. Our newer Font class uses getClasspathFontPeer.
*/
- protected FontPeer getFontPeer (String name, int style)
+ protected FontPeer getFontPeer (String name, int style) {
+ // All fonts get a default size of 1 if size is not specified.
+ return getFontPeer(name, style, 1);
+ }
+
+ /**
+ * Private method that allows size to be set at initialization time.
+ */
+ private FontPeer getFontPeer (String name, int style, int size)
{
try {
- GtkFontPeer fp = new GtkFontPeer (name, style);
+ GtkFontPeer fp = new GtkFontPeer (name, style, size);
return fp;
} catch (MissingResourceException ex) {
return null;
@@ -389,6 +397,8 @@
return new GdkClasspathFontPeer (name, attrs);
else
{
+ // All fonts get a default size of 1 if size is not specified.
+ int size = 1;
int style = Font.PLAIN;
if (attrs.containsKey (TextAttribute.WEIGHT))
@@ -405,7 +415,13 @@
style += Font.ITALIC;
}
- return (ClasspathFontPeer) this.getFontPeer (name, style);
+ if (attrs.containsKey (TextAttribute.SIZE))
+ {
+ Float fsize = (Float) attrs.get (TextAttribute.SIZE);
+ size = fsize.intValue();
+ }
+
+ return (ClasspathFontPeer) this.getFontPeer (name, style, size);
}
}