You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2007/08/09 07:26:01 UTC
svn commit: r564086 - in
/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/org/apache/harmony/awt/gl:
CommonGraphics2D.java image/BufferedImageGraphics2D.java
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);
-
}
}