Hi, the inverse.transform(point) there is no method that only takes one parameter - I do get an option to select #inverse.transform(point2D, point2D) shall select this and give the x,y points?
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> > <HTML> > <HEAD> > <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> > > > <META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7226.0"> > <TITLE>RE: Select an area on SVG map - JSVGCanvas</TITLE> > </HEAD> > <BODY> > <DIV id=idOWAReplyText71558 dir=ltr> > <DIV dir=ltr><FONT face=Arial color=#000000 size=2>It's > mouseEvent.getPoint(). Sorry, didn't have the API in front of > me.</FONT></DIV></DIV> > <DIV dir=ltr><BR> > <HR tabIndex=-1> > <FONT face=Tahoma size=2><B>From:</B> [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]<BR><B>Sent:</B> Wed 2/15/2006 5:01 > PM<BR><B>To:</B> [email protected]<BR><B>Subject:</B> RE: > Select an area on SVG map - JSVGCanvas<BR></FONT><BR></DIV> > <DIV> > <P><FONT size=2>Hi again!<BR><BR>for the MouseEvent what classes do I use, > because I dnt have the<BR>mouseEvent.getLocation(); option, I'm > using:<BR>import > java.awt.event.MouseEvent; ???<BR><BR>thxU in > advance<BR><BR>yasmin<BR><BR><BR><BR>><BR>> <!DOCTYPE HTML PUBLIC > "-//W3C//DTD HTML 3.2//EN"><BR>> <HTML><BR>> > <HEAD><BR>> > <META HTTP-EQUIV="Content-Type" CONTENT="text/html; > charset=iso-8859-1"><BR>><BR>><BR>> <META NAME="Generator" > CONTENT="MS Exchange Server version 6.5.7226.0"><BR>> > <TITLE>RE: > Select an area on SVG map - JSVGCanvas</TITLE><BR>> > </HEAD><BR>> <BODY><BR>> <DIV id=idOWAReplyText17204 > dir=ltr><BR>> <DIV dir=ltr><FONT face=Arial color=#000000 > size=2>Assuming you're doing<BR>> this<BR>> with a mouse, you'd > register a mouse event with a MouseListener and get a<BR>> > Point<BR>> from > it:</FONT></DIV><BR>> <DIV dir=ltr><FONT > face=Arial > size=2></FONT>&nbsp;</DIV><BR>> <DIV > dir=ltr><FONT face=Arial size=2>public void > mouseClicked(MouseEvent<BR>> mouseEvent) > {</FONT></DIV><BR>> > <DIV dir=ltr><FONT face=Arial size=2>...Point point =<BR>> > mouseEvent.getLocation();</FONT></DIV><BR>> <DIV > dir=ltr><FONT face=Arial > size=2>}</FONT></DIV><BR>> > <DIV dir=ltr><FONT face=Arial > size=2></FONT>&nbsp;</DIV><BR>> <DIV > dir=ltr><FONT face=Arial size=2>Then you'd transform the point > using<BR>> the<BR>> inverse of the JSVGCanvas's viewbox > Transform:</FONT></DIV><BR>> <DIV dir=ltr><FONT > face=Arial size=2></FONT>&nbsp;</DIV><BR>> <DIV > dir=ltr><FONT face=Arial size=2>AffineTransform inverse =<BR>> > jsvgCanvas.getViewBoxTransform().createInverse();</FONT></DIV><BR>> > <DIV dir=ltr><FONT face=Arial size=2>Point transformedPoint > =<BR>> inverse.transform(point);</FONT></DIV><BR>> > <DIV > dir=ltr><FONT face=Arial > size=2></FONT>&nbsp;</DIV><BR>> <DIV > dir=ltr><FONT face=Arial size=2>Michael > Bishop</FONT></DIV></DIV><BR>> <DIV > dir=ltr><BR><BR>> <HR tabIndex=-1><BR>> <FONT > face=Tahoma size=2><B>From:</B> > [EMAIL PROTECTED]<BR>> > [<A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL > PROTECTED]</A>]<BR><B>Sent:</B> > Wed 2/15/2006 4:45<BR>> PM<BR><B>To:</B> > [email protected]<BR><B>Subject:</B> > RE:<BR>> Select an area on SVG map - > JSVGCanvas<BR></FONT><BR></DIV><BR>> > <DIV><BR>> <P><FONT size=2>Hi Michael > Bishop,<BR><BR>...can you pls go through the<BR>> steps > I<BR>> > need to take to convert my screen<BR>coordinate to my document > coordinate<BR>> - for<BR>> the current view in my<BR>SVGCanvas > thats > after I've zoomed in, for now<BR>> I'm just<BR>> interested in > the<BR>whole of the canvas rather than selected area on the<BR>> > map?<BR><BR>ThxU in > advance.<BR><BR>yasmin<BR><BR><BR><BR><BR><BR><BR>&gt;<BR>> > &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML > 3.2//EN"&gt;<BR>&gt;<BR>> > &lt;HTML&gt;<BR>&gt; > &lt;HEAD&gt;<BR>&gt; > &lt;META<BR>> HTTP-EQUIV="Content-Type"<BR>> CONTENT="text/html; > charset=iso-8859-1"&gt;<BR>&gt;<BR>&gt;<BR>&gt;<BR>> > &lt;META<BR>> NAME="Generator" CONTENT="MS Exchange Server > version<BR>> 6.5.7226.0"&gt;<BR>&gt;<BR>> > &lt;TITLE&gt;RE: Select an area on SVG map -<BR>> > JSVGCanvas&lt;/TITLE&gt;<BR>&gt;<BR>> > &lt;/HEAD&gt;<BR>&gt; > &lt;BODY&gt;<BR>&gt; > &lt;DIV id=idOWAReplyText69641<BR>> > dir=ltr&gt;<BR>&gt; > &lt;DIV dir=ltr&gt;&lt;FONT face=Arial color=#000000<BR>> > size=2&gt;You don't.&amp;nbsp; Not<BR>&gt; > directly.&amp;nbsp; The way I<BR>> achieve<BR>> drawing to a > JSVGCanvas is:&lt;/FONT&gt;&lt;/DIV&gt;<BR>&gt; > &lt;DIV<BR>> dir=ltr&gt;&lt;FONT face=Arial<BR>> > size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;<BR>&gt; > &lt;DIV<BR>> dir=ltr&gt;&lt;FONT face=Arial > size=2&gt;Capture > mouse coordinates as a<BR>> "drag"<BR>&gt; operation...when I > press > the mouse down, I record the<BR>> location<BR>&gt; > (MouseEvent.getLocation()), when I release the mouse, I<BR>> > record<BR>> > the<BR>&gt; location.&amp;nbsp; From those locations, I > create > a<BR>> Rectangle2D.&amp;nbsp; The<BR>&gt; > SVGShape<BR>&gt; class can convert<BR>> Java2D<BR>> shapes > to > SVG elements.&amp;nbsp; Once you have that<BR>&gt; element, > you<BR>> can<BR>> apply it to the SVG document.&amp;nbsp; There > are a > lot of<BR>&gt;<BR>> smaller<BR>&gt; bites that need > to be > taken to achieve what you're trying<BR>> to<BR>&gt; > do.&lt;/FONT&gt;&lt;/DIV&gt;<BR>&gt; > &lt;DIV<BR>> dir=ltr&gt;&lt;FONT<BR>> face=Arial > size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;<BR>&gt; > &lt;DIV<BR>> dir=ltr&gt;&lt;FONT face=Arial > size=2&gt;Michael<BR>> > Bishop&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;<BR>&gt; > &lt;DIV<BR>> dir=ltr&gt;&lt;BR&gt;<BR>&gt; > &lt;HR tabIndex=-1&gt;<BR>&gt; &lt;FONT<BR>> > face=Tahoma size=2&gt;&lt;B&gt;From:&lt;/B&gt;<BR>> > [EMAIL PROTECTED]<BR>&gt;<BR>> [<A<BR>> href="<A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>"><A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL > PROTECTED]</A></A>]&lt;BR&gt;&lt;B&gt;Sent:&lt;/B&gt;<BR>> > Tue 2/14/2006 3:04<BR>&gt; > PM&lt;BR&gt;&lt;B&gt;To:&lt;/B&gt;<BR>> > [email protected]&lt;BR&gt;&lt;B&gt;Subject:&lt;/B&gt;<BR>> > RE:<BR>&gt; Select an area on SVG map -<BR>> > JSVGCanvas&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/DIV&gt;<BR>&gt;<BR>> > &lt;DIV&gt;<BR>&gt; &lt;P&gt;&lt;FONT > size=2&gt;...I'm a complete novice,<BR>> I<BR>> haven't ever > used > Graphics2D,<BR>&gt; just<BR>&gt; been<BR>> > online&lt;BR&gt;Tutorial<BR>> for Graphics2D, dnt knw how to > incorporate the<BR>&gt; Graphics2D<BR>> > with&lt;BR&gt;JSVGCanvas???&lt;BR&gt;&lt;BR&gt;ThankU > in<BR>&gt;<BR>> > advance&lt;BR&gt;&lt;BR&gt;yasmin&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;gt;<BR>> > OK, I just recently tackled this<BR>&gt; problem myself; you > might > want<BR>> to&lt;BR&gt;&amp;gt; search on '"Drag" > selection<BR>&gt; box...how<BR>&gt;<BR>> > to?'<BR>> as > a subject header.&amp;nbsp; Here is&lt;BR&gt;&amp;gt; what > I > ended<BR>> up<BR>&gt;<BR>> > doing:&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; - > Dragging a > selection box<BR>> using<BR>&gt; > Graphics2D.&lt;BR&gt;&amp;gt; -<BR>&gt; Translating > the<BR>> Graphics2D<BR>> coordinates to document > coordinates.&lt;BR&gt;&amp;gt; -<BR>&gt; > Creating<BR>> > a<BR>> "rect" element based on the selection > box.&lt;BR&gt;&amp;gt; - Deriving<BR>> a<BR>&gt; > new<BR>&gt; SVGOMRect using the rect element's x, y, w, > and<BR>> > h.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; To > find<BR>&gt; all<BR>&gt; the<BR>> elements<BR>> > that > intersect my selection > box:&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;<BR>> > NodeList<BR>&gt; > intersectedElements&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > SVGDocument.getRootElement().getIntersectionList(svgOMRect,<BR>&gt;<BR>> > null);&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; The 2nd > parameter doesn't have<BR>> to be<BR>> null; it > can<BR>&gt; be > a<BR>&gt; "reference"&lt;BR&gt;&amp;gt;<BR>> > SVGElement.&amp;nbsp; If you specify this parameter, > the<BR>&gt;<BR>> method<BR>&gt;<BR>> call will > only&lt;BR&gt;&amp;gt; return elements that are "below" > the<BR>> > specified<BR>&gt; element.&amp;nbsp; "Below" > means&lt;BR&gt;&amp;gt;<BR>> render<BR>> order; it will > return > elements<BR>&gt; from<BR>&gt; the specified > element<BR>> > up<BR>> to&lt;BR&gt;&amp;gt; the top of the document if > you're<BR>&gt; looking<BR>> at<BR>&gt; the > source.&amp;nbsp; It's a little&lt;BR&gt;&amp;gt;<BR>> > confusing.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; I > don't<BR>&gt;<BR>> know<BR>&gt; how<BR>> much > you've > worked with the above steps (again, I > can&lt;BR&gt;&amp;gt;<BR>> > provide<BR>&gt; detail<BR>&gt; where it's > needed.&amp;nbsp; I knew none of<BR>> this<BR>> stuff coming > in,&lt;BR&gt;&amp;gt; but<BR>&gt; now > I<BR>&gt; > know enough<BR>> to help<BR>> out with some of these<BR>> > questions.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > Michael<BR>&gt; > Bishop&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; > -----Original<BR>> Message-----&lt;BR&gt;&amp;gt; > From:<BR>&gt; [EMAIL PROTECTED]<BR>> > [&lt;A<BR>&gt; href="<A<BR>> href="<A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>"><A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL > PROTECTED]</A></A>"&gt;<A<BR>> > href="<A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>"><A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL > PROTECTED]</A></A>&lt;/A&gt;]&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > Sent: Tuesday, February 14, 2006 1:45 PM&lt;BR&gt;&amp;gt; > To:<BR>&gt;<BR>> > [email protected]&lt;BR&gt;&amp;gt; Subject: > RE: > Select<BR>> an area<BR>> on<BR>&gt; SVG<BR>&gt; > map > -<BR>> > JSVGCanvas&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;<BR>> > Hi&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; I would > like to > use my<BR>&gt;<BR>> mouse<BR>&gt; to drag a select > box on > my SVG map, and&lt;BR&gt;&amp;gt;<BR>> > then&lt;BR&gt;&amp;gt; find the<BR>&gt; > elements<BR>&gt; that fall within<BR>> that<BR>> region... > I'm > using Ordinance&lt;BR&gt;&amp;gt; Survey > Maps,<BR>&gt; > and<BR>> I'm<BR>&gt; trying to select a small area in the map > and&lt;BR&gt;&amp;gt;<BR>> > retrieve&lt;BR&gt;&amp;gt; > the<BR>&gt; co-ordinates which I will use to<BR>> > retrieve<BR>> > data from a database...&lt;BR&gt;&amp;gt;<BR>&gt; > hope&lt;BR&gt;&amp;gt;<BR>> that<BR>> gives you some > idea of > what I'm trying to<BR>&gt;<BR>> > achieve.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; > Many<BR>> > thx&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > yasmin&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > I don't think you can<BR>&gt; select<BR>&gt; "parts" > of > elements; rather<BR>> you<BR>> need > to&lt;BR&gt;&amp;gt;&amp;gt; select > entire<BR>&gt;<BR>> elements.&amp;nbsp; You<BR>> can > implement&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > org.w3c.dom.events.EventListener<BR>&gt; to your SVG document > and > derive<BR>> which&lt;BR&gt;&amp;gt;&amp;gt; element you > clicked in<BR>&gt;<BR>> handleEvent(Event<BR>> > event):&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt; > Element<BR>> clickedElement =<BR>&gt; (Element)<BR>> > event.getTarget();&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt; > To<BR>> find<BR>> all the<BR>&gt; > elements<BR>&gt; > within a region (like a select box you<BR>> > drag&lt;BR&gt;&amp;gt;&amp;gt; around > elements),<BR>&gt; you<BR>&gt; use<BR>> > Node.getIntersectionList(SVGRect,&lt;BR&gt;&amp;gt;<BR>> > svgElement).&lt;BR&gt;&amp;gt;&amp;gt; I<BR>&gt; > guess<BR>&gt; we can go<BR>> into<BR>> more detail if you > describe what it is<BR>> > exactly&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > you're<BR>&gt; trying to<BR>> > do.&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > Michael<BR>&gt;<BR>> > Bishop&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > -----Original<BR>> > Message-----&lt;BR&gt;&amp;gt;&amp;gt; > From: [EMAIL PROTECTED]<BR>> [&lt;A<BR>&gt; > href="<A<BR>> href="<A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>"><A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL > PROTECTED]</A></A>"&gt;<A<BR>> > href="<A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL PROTECTED]</A>"><A > href="mailto:[EMAIL PROTECTED]">mailto:[EMAIL > PROTECTED]</A></A>&lt;/A&gt;]&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > Sent: Tuesday, February 14, 2006 1:30 > PM&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > To:<BR>&gt;<BR>> > [email protected]&lt;BR&gt;&amp;gt;&amp;gt; > Subject:<BR>> Select an<BR>> area on<BR>&gt; > SVG<BR>&gt; map -<BR>> > JSVGCanvas&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt; > Hi<BR>> > there,&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > Does<BR>&gt;<BR>> anyone know how I can select an area on my > canvas > and store<BR>&gt;<BR>> > the&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt; > data&lt;BR&gt;&amp;gt;&amp;gt;<BR>> capatured<BR>> > in the > selected area - I am using<BR>&gt;<BR>> > JSVGCanvas...????&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > ThankU<BR>> in<BR>&gt; > advance&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > yasmin&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > ---------------------------------------------------------------------&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > To unsubscribe, e-mail:<BR>&gt;<BR>> > [EMAIL PROTECTED]&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > For<BR>> additional<BR>&gt; commands, > e-mail:&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > [EMAIL > PROTECTED]&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > ---------------------------------------------------------------------&lt;BR&gt;&amp;gt;&amp;gt;<BR>&gt;<BR>> > To unsubscribe, e-mail:<BR>&gt;<BR>> > [EMAIL PROTECTED]&lt;BR&gt;&amp;gt;&amp;gt;<BR>> > For<BR>> additional<BR>&gt; commands, > e-mail:&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > [EMAIL > PROTECTED]&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > ---------------------------------------------------------------------&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > To<BR>&gt; unsubscribe, e-mail:<BR>&gt;<BR>> > [EMAIL PROTECTED]&lt;BR&gt;&amp;gt;<BR>> > For<BR>&gt;<BR>> additional commands, > e-mail:<BR>&gt;<BR>> > [EMAIL > PROTECTED]&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > ---------------------------------------------------------------------&lt;BR&gt;&amp;gt;<BR>&gt;<BR>> > To<BR>&gt; unsubscribe, e-mail:<BR>&gt;<BR>> > [EMAIL PROTECTED]&lt;BR&gt;&amp;gt;<BR>> > For<BR>&gt;<BR>> additional commands, > e-mail:<BR>&gt;<BR>> > [EMAIL > PROTECTED]&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;---------------------------------------------------------------------&lt;BR&gt;To<BR>&gt;<BR>> > unsubscribe, e-mail:<BR>> > [EMAIL PROTECTED]&lt;BR&gt;For<BR>&gt;<BR>> > additional<BR>> commands, e-mail:<BR>&gt;<BR>> > [EMAIL > PROTECTED]&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;<BR>&gt;<BR>&gt;<BR>> > &lt;/BODY&gt;<BR>&gt;<BR>> > &lt;/HTML&gt;<BR><BR><BR><BR>---------------------------------------------------------------------<BR>To<BR>> > unsubscribe, e-mail: > [EMAIL PROTECTED]<BR>For<BR>> > additional > commands, e-mail:<BR>> > [EMAIL PROTECTED]<BR></FONT></P></DIV><BR>><BR>> > </BODY><BR>> > </HTML><BR><BR><BR><BR>---------------------------------------------------------------------<BR>To > unsubscribe, e-mail: [EMAIL PROTECTED]<BR>For > additional commands, e-mail: > [EMAIL PROTECTED]<BR></FONT></P></DIV> > > </BODY> > </HTML> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
