Font.java (deriveFont): Implement missing variants.

2004-04-22  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Font.java (deriveFont): Implement missing variants.
	* gnu/java/awt/peer/ClasspathFontPeer.java (deriveFont): Implement
	missing variants.

From-SVN: r81002
This commit is contained in:
Jerry Quinn 2004-04-22 05:34:30 +00:00 committed by Jerry Quinn
parent aa26a3f648
commit 83ef3f2bae
3 changed files with 78 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2004-04-22 Jerry Quinn <jlquinn@optonline.net>
* java/awt/Font.java (deriveFont): Implement missing variants.
* gnu/java/awt/peer/ClasspathFontPeer.java (deriveFont): Implement
missing variants.
2004-04-21 Bryce McKinlay <mckinlay@redhat.com> 2004-04-21 Bryce McKinlay <mckinlay@redhat.com>
* java/lang/natClass.cc (_Jv_LayoutInterfaceMethods): New method. * java/lang/natClass.cc (_Jv_LayoutInterfaceMethods): New method.

View file

@ -1,5 +1,5 @@
/* ClasspathFontPeer.java -- Font peer used by GNU Classpath. /* 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. This file is part of GNU Classpath.
@ -394,6 +394,23 @@ public abstract class ClasspathFontPeer
return ((style & Font.ITALIC) == Font.ITALIC); return ((style & Font.ITALIC) == Font.ITALIC);
} }
/**
* 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)} * Implementation of {@link Font#deriveFont(float)}
* *
@ -443,6 +460,22 @@ public abstract class ClasspathFontPeer
return tk().getFont (logicalName, 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);
}
/** /**
* Implementation of {@link Font#deriveFont(Map)} * Implementation of {@link Font#deriveFont(Map)}
* *

View file

@ -1,5 +1,5 @@
/* Font.java -- Font object /* 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. This file is part of GNU Classpath.
@ -648,6 +648,22 @@ private static final long serialVersionUID = -4206021311591459213L;
return peer.createGlyphVector (this, ctx, glyphCodes); return peer.createGlyphVector (this, ctx, glyphCodes);
} }
/**
* 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 * Produces a new {@link Font} based on the current font, adjusted to a
* new size. * new size.
@ -701,6 +717,27 @@ private static final long serialVersionUID = -4206021311591459213L;
return peer.deriveFont (this, style, a); 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);
}
/** /**
* Produces a new {@link Font} based on the current font, adjusted to a * Produces a new {@link Font} based on the current font, adjusted to a
* new set of attributes. * new set of attributes.