Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 75718 invoked from network); 9 Aug 2007 05:26:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 9 Aug 2007 05:26:26 -0000 Received: (qmail 96997 invoked by uid 500); 9 Aug 2007 05:26:24 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 96946 invoked by uid 500); 9 Aug 2007 05:26:24 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 96937 invoked by uid 99); 9 Aug 2007 05:26:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Aug 2007 22:26:24 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Aug 2007 05:26:22 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id D09A51A981A; Wed, 8 Aug 2007 22:26:01 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r564086 - in /harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl: CommonGraphics2D.java image/BufferedImageGraphics2D.java Date: Thu, 09 Aug 2007 05:26:01 -0000 To: commits@harmony.apache.org From: apetrenko@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070809052601.D09A51A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: apetrenko Date: Wed Aug 8 22:26:00 2007 New Revision: 564086 URL: http://svn.apache.org/viewvc?view=rev&rev=564086 Log: The patch for HARMONY-4580 "[classlib][awt] JavaTextRenderer should be moved out of CommonGraphics2D class" has been reverted. XGraphics2D class needs additional attention Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2D.java harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/BufferedImageGraphics2D.java Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2D.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2D.java?view=diff&rev=564086&r1=564085&r2=564086 ============================================================================== --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2D.java (original) +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/CommonGraphics2D.java Wed Aug 8 22:26:00 2007 @@ -654,6 +654,70 @@ drawString(str, (float)x, (float)y); } + @Override + public void drawString(String str, float x, float y) { + if (debugOutput) { + System.err.println("CommonGraphics2D.drawString("+str+", "+x+", "+y+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + } + + AffineTransform at = (AffineTransform)this.getTransform().clone(); + AffineTransform fontTransform = font.getTransform(); + at.concatenate(fontTransform); + + if (!at.isIdentity()){ + // TYPE_TRANSLATION + if (at.getType() == AffineTransform.TYPE_TRANSLATION){ + jtr.drawString(this, str, + (float)(x+fontTransform.getTranslateX()), + (float)(y+fontTransform.getTranslateY())); + return; + } + // TODO: we use slow type of drawing strings when Font object + // in Graphics has transforms, we just fill outlines. New textrenderer + // is to be implemented. + Shape sh = font.createGlyphVector(this.getFontRenderContext(), str).getOutline(x, y); + fill(sh); + } else { + jtr.drawString(this, str, x, y); + } + + } + + @Override + public void drawGlyphVector(GlyphVector gv, float x, float y) { + + AffineTransform at = gv.getFont().getTransform(); + + double[] matrix = new double[6]; + if ((at != null) && (!at.isIdentity())){ + + int atType = at.getType(); + at.getMatrix(matrix); + + // TYPE_TRANSLATION + if ((atType == AffineTransform.TYPE_TRANSLATION) && + ((gv.getLayoutFlags() & GlyphVector.FLAG_HAS_TRANSFORMS) == 0)){ + jtr.drawGlyphVector(this, gv, (int)(x+matrix[4]), (int)(y+matrix[5])); + return; + } + } else { + if (((gv.getLayoutFlags() & GlyphVector.FLAG_HAS_TRANSFORMS) == 0)){ + jtr.drawGlyphVector(this, gv, x, y); + return; + } + } + + // TODO: we use slow type of drawing strings when Font object + // in Graphics has transforms, we just fill outlines. New textrenderer + // is to be implemented. + + Shape sh = gv.getOutline(x, y); + this.fill(sh); + + } + + + /*************************************************************************** * Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/BufferedImageGraphics2D.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/BufferedImageGraphics2D.java?view=diff&rev=564086&r1=564085&r2=564086 ============================================================================== --- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/BufferedImageGraphics2D.java (original) +++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/BufferedImageGraphics2D.java Wed Aug 8 22:26:00 2007 @@ -23,11 +23,9 @@ import java.awt.Graphics; import java.awt.GraphicsConfiguration; import java.awt.Rectangle; -import java.awt.Shape; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.WritableRaster; -import java.awt.font.GlyphVector; import org.apache.harmony.awt.gl.CommonGraphics2D; import org.apache.harmony.awt.gl.Surface; @@ -77,26 +75,5 @@ public WritableRaster getWritableRaster() { return bi.getRaster(); - } - - @Override - public void drawString(String str, float x, float y) { - if (debugOutput) { - System.err.println("CommonGraphics2D.drawString("+str+", "+x+", "+y+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } - - // TODO: we use slow type of drawing strings when Font object - // in Graphics has transforms, we just fill outlines. New textrenderer - // is to be implemented. - Shape sh = font.createGlyphVector(this.getFontRenderContext(), str).getOutline(x, y); - fill(sh); - } - - @Override - public void drawGlyphVector(GlyphVector gv, float x, float y) { - - Shape sh = gv.getOutline(x, y); - this.fill(sh); - } }