From 6e947f023837e25c560f2cd5f1cc2fb3db123325 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Thu, 24 Mar 2005 02:32:04 +0000 Subject: [PATCH] Added support for antialiased label sprites. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3424 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../threerings/media/sprite/LabelSprite.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/media/sprite/LabelSprite.java b/src/java/com/threerings/media/sprite/LabelSprite.java index 3a2633f66..9497ad3f1 100644 --- a/src/java/com/threerings/media/sprite/LabelSprite.java +++ b/src/java/com/threerings/media/sprite/LabelSprite.java @@ -23,6 +23,7 @@ package com.threerings.media.sprite; import java.awt.Dimension; import java.awt.Graphics2D; +import java.awt.RenderingHints; import com.samskivert.swing.Label; @@ -51,6 +52,14 @@ public class LabelSprite extends Sprite return _label; } + /** + * Indicates that our label should be rendered with antialiased text. + */ + public void setAntiAliased (boolean antiAliased) + { + _antiAliased = antiAliased; + } + // documentation inherited protected void init () { @@ -58,7 +67,15 @@ public class LabelSprite extends Sprite // if our label is not yet laid out, do the deed if (!_label.isLaidOut()) { - _label.layout(_mgr.getMediaPanel()); + Graphics2D gfx = (Graphics2D)_mgr.getMediaPanel().getGraphics(); + if (gfx != null) { + gfx.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + (_antiAliased) ? + RenderingHints.VALUE_ANTIALIAS_ON : + RenderingHints.VALUE_ANTIALIAS_OFF); + _label.layout(gfx); + gfx.dispose(); + } } // size the bounds to fit our label @@ -75,4 +92,7 @@ public class LabelSprite extends Sprite /** The label associated with this sprite. */ protected Label _label; + + /** Whether or not to use anti-aliased rendering. */ + protected boolean _antiAliased; }