You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by gl...@apache.org on 2006/04/25 11:36:42 UTC

svn commit: r396821 - in /jakarta/poi/trunk/src: java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java testcases/org/apache/poi/hssf/usermodel/TestEscherGraphics2d.java

Author: glens
Date: Tue Apr 25 02:36:39 2006
New Revision: 396821

URL: http://svn.apache.org/viewcvs?rev=396821&view=rev
Log:
Updated to support lines for the EscherGraphics2d draw() call.

Modified:
    jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java
    jakarta/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestEscherGraphics2d.java

Modified: jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java
URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java?rev=396821&r1=396820&r2=396821&view=diff
==============================================================================
--- jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java (original)
+++ jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java Tue Apr 25 02:36:39 2006
@@ -23,9 +23,7 @@
 import java.awt.font.FontRenderContext;
 import java.awt.font.GlyphVector;
 import java.awt.font.TextLayout;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Area;
-import java.awt.geom.GeneralPath;
+import java.awt.geom.*;
 import java.awt.image.BufferedImage;
 import java.awt.image.BufferedImageOp;
 import java.awt.image.ImageObserver;
@@ -141,8 +139,16 @@
 
     public void draw(Shape shape)
     {
-        if (logger.check( POILogger.WARN ))
-            logger.log(POILogger.WARN,"copyArea not supported");
+        if (shape instanceof Line2D)
+        {
+            Line2D shape2d = (Line2D) shape;
+            drawLine((int)shape2d.getX1(), (int)shape2d.getY1(), (int)shape2d.getX2(), (int)shape2d.getY2());
+        }
+        else
+        {
+            if (logger.check(POILogger.WARN))
+                logger.log(POILogger.WARN, "draw not fully supported");
+        }
     }
 
     public void drawArc(int x, int y, int width, int height,

Modified: jakarta/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestEscherGraphics2d.java
URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestEscherGraphics2d.java?rev=396821&r1=396820&r2=396821&view=diff
==============================================================================
--- jakarta/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestEscherGraphics2d.java (original)
+++ jakarta/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestEscherGraphics2d.java Tue Apr 25 02:36:39 2006
@@ -19,7 +19,7 @@
 import junit.framework.TestCase;
 
 import java.awt.*;
-import java.io.FileOutputStream;
+import java.awt.geom.Line2D;
 
 /**
  * Tests the Graphics2d drawing capability.
@@ -65,7 +65,7 @@
     public void testGetFontMetrics() throws Exception
     {
         FontMetrics fontMetrics = graphics.getFontMetrics(graphics.getFont());
-	if (graphics.getFont().toString().indexOf("dialog") != -1) // if dialog is returned we can't run the test properly.
+    if (graphics.getFont().toString().indexOf("dialog") != -1) // if dialog is returned we can't run the test properly.
             return;
         assertEquals(7, fontMetrics.charWidth('X'));
         assertEquals("java.awt.Font[family=Arial,name=Arial,style=plain,size=10]", fontMetrics.getFont().toString());
@@ -91,5 +91,17 @@
             return;
 
         assertEquals("java.awt.Font[family=Arial,name=Arial,style=plain,size=10]", f.toString());
+    }
+
+    public void testDraw() throws Exception
+    {
+        graphics.draw(new Line2D.Double(10,10,20,20));
+        HSSFSimpleShape s = (HSSFSimpleShape) escherGroup.getChildren().get(0);
+        assertTrue(s.getShapeType() == HSSFSimpleShape.OBJECT_TYPE_LINE);
+        assertEquals(10, s.getAnchor().getDx1());
+        assertEquals(10, s.getAnchor().getDy1());
+        assertEquals(20, s.getAnchor().getDx2());
+        assertEquals(20, s.getAnchor().getDy2());
+        System.out.println("s = " + s);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/