--- In [email protected], "Mr Rauf" <cute_rauf_...@...> wrote:
>
> I am working on a SVG and now want to let a user resize an object
> using draggable corners, very much like in SVG-edit (http://svg-
> edit.googlecode.com/svn/trunk/editor/svg-editor.html). The
> functionality should work as follows: The user selects the SVG objects,
> drags it to the main `canvas' and once on the `canvas', four corners
> on the outside of the object appear, the user can drag on each of the
> corner points & drag to enlarge the object. The objects will be
> rectangular in shape and created using paths, not using the SVG `rect'
> function. Would anyone have any suggestions as to how this should be
> implemented?
> Thanks in Advance..
>

Here's how SVG-edit did it:

- have listeners for mousedown, mouseup, mousemove
- if an element is clicked on (in mouseup), then that is your currently 
selected element
- put a 'selector box' element on top of the selected element (that has the 
visible handles you can drag)
- in your mousemove, detect if a handle is being dragged, while it's being 
dragged, determine what the element's new size should be and either:  a) 
recompute the element's geometry to fit into that box or b) put a transform on 
that element

See SVG-edit's code involving Selector, SelectorManager and 
recalculateDimensions() and the mouse event handler functions.

Note that these are not trivial pieces of code and they took awhile to get into 
a working state.

Best of luck,
Jeff



------------------------------------

-----
To unsubscribe send a message to: [email protected]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
----Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    [email protected] 
    [email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Reply via email to