From 5d1ddcb4951cdd30a44f9e2642197d47230bb01e Mon Sep 17 00:00:00 2001 From: kitfox Date: Sun, 19 Aug 2007 19:51:23 +0000 Subject: Added pickng by rectangular areas. Fixed bug with picking by point. git-svn-id: https://svn.java.net/svn/svgsalamander~svn/trunk/svg-core@45 7dc7fa77-23fb-e6ad-8e2e-c86bd48ed22b --- src/main/java/com/kitfox/svg/ShapeElement.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/kitfox/svg/ShapeElement.java') diff --git a/src/main/java/com/kitfox/svg/ShapeElement.java b/src/main/java/com/kitfox/svg/ShapeElement.java index e122753..9bb7b27 100644 --- a/src/main/java/com/kitfox/svg/ShapeElement.java +++ b/src/main/java/com/kitfox/svg/ShapeElement.java @@ -66,20 +66,19 @@ abstract public class ShapeElement extends RenderableElement void pick(Point2D point, Vector retVec) throws SVGException { - /* - Point2D xPoint = new Point2D.Double(); - try - { - xform.inverseTransform(point, xPoint); - } - catch (NoninvertibleTransformException ex) + StyleAttribute styleAttrib = new StyleAttribute(); +// if (getStyle(styleAttrib.setName("fill")) && getShape().contains(point)) + if (getShape().contains(point)) { - throw new SVGException(ex); + retVec.add(getPath(null)); } - */ - + } + + void pick(Rectangle2D pickArea, AffineTransform ltw, Vector retVec) throws SVGException + { StyleAttribute styleAttrib = new StyleAttribute(); - if (getStyle(styleAttrib.setName("fill")) && getShape().contains(point)) +// if (getStyle(styleAttrib.setName("fill")) && getShape().contains(point)) + if (ltw.createTransformedShape(getShape()).intersects(pickArea)) { retVec.add(getPath(null)); } -- cgit v1.2.3-55-g7522