This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[java] Implement missing Font.deriveFont variants
- From: Jerry Quinn <jlquinn at optonline dot net>
- To: java-patches at gcc dot gnu dot org
- Date: Sun, 18 Apr 2004 18:07:33 -0400
- Subject: [java] Implement missing Font.deriveFont variants
According to the jdk 1.4 comparison, these weren't present.
Jerry Quinn
2004-04-18 Jerry Quinn <jlquinn@optonline.net>
* java/awt/Font.java (deriveFont): Implement missing variants.
* gnu/java/awt/peer/ClasspathFontPeer.java (deriveFont): Implement
missing variants.
Index: gnu/java/awt/peer/ClasspathFontPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/ClasspathFontPeer.java,v
retrieving revision 1.3
diff -u -r1.3 ClasspathFontPeer.java
--- gnu/java/awt/peer/ClasspathFontPeer.java 11 Mar 2004 08:44:16 -0000 1.3
+++ gnu/java/awt/peer/ClasspathFontPeer.java 18 Apr 2004 22:00:02 -0000
@@ -1,5 +1,5 @@
/* ClasspathFontPeer.java -- Font peer used by GNU Classpath.
- Copyright (C) 2003 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -395,6 +395,23 @@
}
/**
+ * Implementation of {@link Font#deriveFont(int, float)}
+ *
+ * @param font the font this peer is being called from. This may be
+ * useful if you are sharing peers between Font objects. Otherwise it may
+ * be ignored.
+ */
+
+ public Font deriveFont (Font font, int style, float size)
+ {
+ Map attrs = new HashMap ();
+ getStandardAttributes (attrs);
+ copyStyleToAttrs (style, attrs);
+ copySizeToAttrs (size, attrs);
+ return tk().getFont (logicalName, attrs);
+ }
+
+ /**
* Implementation of {@link Font#deriveFont(float)}
*
* @param font the font this peer is being called from. This may be
@@ -439,6 +456,22 @@
Map attrs = new HashMap ();
getStandardAttributes (attrs);
copyStyleToAttrs (style, attrs);
+ copyTransformToAttrs (t, attrs);
+ return tk().getFont (logicalName, attrs);
+ }
+
+ /**
+ * Implementation of {@link Font#deriveFont(AffineTransform)}
+ *
+ * @param font the font this peer is being called from. This may be
+ * useful if you are sharing peers between Font objects. Otherwise it may
+ * be ignored.
+ */
+
+ public Font deriveFont (Font font, AffineTransform t)
+ {
+ Map attrs = new HashMap ();
+ getStandardAttributes (attrs);
copyTransformToAttrs (t, attrs);
return tk().getFont (logicalName, attrs);
}
Index: java/awt/Font.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Font.java,v
retrieving revision 1.17
diff -u -r1.17 Font.java
--- java/awt/Font.java 17 Mar 2004 21:28:58 -0000 1.17
+++ java/awt/Font.java 18 Apr 2004 22:00:03 -0000
@@ -1,5 +1,5 @@
/* Font.java -- Font object
- Copyright (C) 1999, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -650,6 +650,22 @@
/**
* Produces a new {@link Font} based on the current font, adjusted to a
+ * new size and style.
+ *
+ * @param style The style of the newly created font.
+ * @param size The size of the newly created font.
+ *
+ * @return A clone of the current font, with the specified size and style.
+ *
+ * @since 1.2
+ */
+ public Font deriveFont (int style, float size)
+{
+ return peer.deriveFont (this, style, size);
+}
+
+/**
+ * Produces a new {@link Font} based on the current font, adjusted to a
* new size.
*
* @param size The size of the newly created font.
@@ -699,6 +715,27 @@
throw new IllegalArgumentException ("Affine transformation is null");
return peer.deriveFont (this, style, a);
+}
+
+/**
+ * Produces a new {@link Font} based on the current font, subjected
+ * to a new affine transformation.
+ *
+ * @param a The transformation to apply.
+ *
+ * @return A clone of the current font, with the specified transform.
+ *
+ * @throws IllegalArgumentException If transformation is
+ * <code>null</code>.
+ *
+ * @since 1.2
+ */
+ public Font deriveFont (AffineTransform a)
+{
+ if (a == null)
+ throw new IllegalArgumentException ("Affine transformation is null");
+
+ return peer.deriveFont (this, a);
}
/**