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: [EMAIL PROTECTED] Mailing List: http://jakarta.apache.org/site/mail2.html#poi The Apache Jakarta POI Project: http://jakarta.apache.org/poi/