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/29 02:18:17 UTC
svn commit: r398044 - in /jakarta/poi/trunk/src:
examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java
java/org/apache/poi/hssf/usermodel/EscherGraphics.java
java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java
Author: glens
Date: Fri Apr 28 17:18:16 2006
New Revision: 398044
URL: http://svn.apache.org/viewcvs?rev=398044&view=rev
Log:
Support for line thicknes through escher graphics 2d interface.
Modified:
jakarta/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java
jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics.java
jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java
Modified: jakarta/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java
URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java?rev=398044&r1=398043&r2=398044&view=diff
==============================================================================
--- jakarta/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java (original)
+++ jakarta/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java Fri Apr 28 17:18:16 2006
@@ -91,6 +91,7 @@
int y1 = (int) ( Math.sin(i) * 138.0 ) + 138;
int x2 = (int) ( -Math.cos(i) * 160.0 ) + 160;
int y2 = (int) ( -Math.sin(i) * 138.0 ) + 138;
+ g2d.setStroke(new BasicStroke(2));
g2d.drawLine(x1,y1,x2,y2);
}
g2d.setFont(new Font("SansSerif",Font.BOLD | Font.ITALIC, 20));
Modified: jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics.java
URL: http://svn.apache.org/viewcvs/jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics.java?rev=398044&r1=398043&r2=398044&view=diff
==============================================================================
--- jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics.java (original)
+++ jakarta/poi/trunk/src/java/org/apache/poi/hssf/usermodel/EscherGraphics.java Fri Apr 28 17:18:16 2006
@@ -16,9 +16,9 @@
package org.apache.poi.hssf.usermodel;
+import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
-import org.apache.poi.hssf.util.HSSFColor;
import java.awt.*;
import java.awt.image.ImageObserver;
@@ -204,9 +204,14 @@
public void drawLine(int x1, int y1, int x2, int y2)
{
+ drawLine(x1,y1,x2,y2,0);
+ }
+
+ public void drawLine(int x1, int y1, int x2, int y2, int width)
+ {
HSSFSimpleShape shape = escherGroup.createShape(new HSSFChildAnchor(x1, y1, x2, y2) );
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);
- shape.setLineWidth(0);
+ shape.setLineWidth(width);
shape.setLineStyleColor(foreground.getRed(), foreground.getGreen(), foreground.getBlue());
}
@@ -475,6 +480,9 @@
this.background = background;
}
-
+ HSSFShapeGroup getEscherGraphics()
+ {
+ return escherGroup;
+ }
}
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=398044&r1=398043&r2=398044&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 Fri Apr 28 17:18:16 2006
@@ -23,7 +23,10 @@
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.font.TextLayout;
-import java.awt.geom.*;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Area;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Line2D;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ImageObserver;
@@ -142,7 +145,13 @@
if (shape instanceof Line2D)
{
Line2D shape2d = (Line2D) shape;
- drawLine((int)shape2d.getX1(), (int)shape2d.getY1(), (int)shape2d.getX2(), (int)shape2d.getY2());
+
+ int width = 0;
+ if (stroke != null && stroke instanceof BasicStroke) {
+ width = (int) ((BasicStroke)stroke).getLineWidth() * 12700;
+ }
+
+ drawLine((int)shape2d.getX1(), (int)shape2d.getY1(), (int)shape2d.getX2(), (int)shape2d.getY2(), width);
}
else
{
@@ -216,9 +225,18 @@
drawImage(((Image) (img)), new AffineTransform(1.0F, 0.0F, 0.0F, 1.0F, x, y), null);
}
+ public void drawLine(int x1, int y1, int x2, int y2, int width)
+ {
+ getEscherGraphics().drawLine(x1,y1,x2,y2, width);
+ }
+
public void drawLine(int x1, int y1, int x2, int y2)
{
- getEscherGraphics().drawLine(x1,y1,x2,y2);
+ int width = 0;
+ if (stroke != null && stroke instanceof BasicStroke) {
+ width = (int) ((BasicStroke)stroke).getLineWidth() * 12700;
+ }
+ getEscherGraphics().drawLine(x1,y1,x2,y2, width);
// draw(new GeneralPath(new java.awt.geom.Line2D.Float(x1, y1, x2, y2)));
}
---------------------------------------------------------------------
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/