<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:large"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 18, 2022 at 2:37 AM Steve Gatenby via lazarus <<a href="mailto:lazarus@lists.lazarus-ide.org">lazarus@lists.lazarus-ide.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Thanks Marc - seems I will need to stick with what I have then.<br>
<br>
Currently I am pulling all object info from the SVG into an array and <br>
assigning quadrant positions.<br>
<br>
Then do best guess by relative quadrant of mouse click position - works <br>
fine, but feels sloppy :)<br>
<br></blockquote><div><br></div><div><br></div><div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">If it is feasible for you , you may do the following :</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">In an array of a record , define approximate "bounding boxes" of your</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">SVG graphic ( You may generate  a "bounding box" array conforming to the given SVG ) .</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">In  the "bounding box" array record , you may define a pointer showing the SVG object .</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">When a mouse click is obtained , you may search  "bounding box" array and <br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">if it is related with an element of the SVG , from it you reach to the SVG element and</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">do whatever you want to do with it .<br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><a href="https://en.wikipedia.org/wiki/Minimum_bounding_box">https://en.wikipedia.org/wiki/Minimum_bounding_box</a></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">Minimum bounding box</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">( Please see attached pages . )</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">This idea may be considered as an alternative view which I can not say that</div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">it is very suitable for you . Only you may decide its usefulness .<br></div><br></div><div><br></div><div><br></div><div><div style="font-family:tahoma,sans-serif;font-size:large" class="gmail_default">Mehmet Erol Sanliturk</div><br></div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
On 17/1/22 8:55 pm, Marc Weustink via lazarus wrote:<br>
> I'm afraid there is no easy solution for that. SVGs are rendered from <br>
> the first element to the last, where ever element (atleast in theory) <br>
> can be a part of a given pixel. SVG elements do have a <br>
> x,y,width,height but they may also be part of one or more <br>
> transformations.<br>
> To give you an idea, the (browser)app I'm currently working on <br>
> displays several object, where every object has an origin(x,y) of 0,0 <br>
> and they are finally placed by translations.<br>
> The easiest way (if you are in a browser context) is to add an onclick <br>
> handler to your elements of interest.<br>
><br>
> Marc<br>
><br>
><br>
><br>
> On 16-1-2022 23:34, Steve Gatenby via lazarus wrote:<br>
>> Not sure if this is the right place to ask about this one -<br>
>><br>
>> I am using the BCSVGViewer from bgra controls - for SVG viewing <br>
>> obviously :)<br>
>><br>
>> Would anybody know if there is a method to retrieve the object <br>
>> (within the svg) at specified x,y ?<br>
>><br>
>> or is it possible to use embedded links within the svg ?<br>
>><br>
>> I am looking to find which object has been clicked on within the svg <br>
>> to create a 'clickable' map<br>
>><br>
>> Any suggestions on a better place to post this also appreciated<br>
>><br>
>> Regards SteveG<br>
>><br>
-- <br>
_______________________________________________<br>
lazarus mailing list<br>
<a href="mailto:lazarus@lists.lazarus-ide.org" target="_blank">lazarus@lists.lazarus-ide.org</a><br>
<a href="https://lists.lazarus-ide.org/listinfo/lazarus" rel="noreferrer" target="_blank">https://lists.lazarus-ide.org/listinfo/lazarus</a><br>
</blockquote></div></div>