This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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);
 }
 
 /**


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]