Closed GoogleCodeExporter closed 9 years ago
What do folks think about the rotate interface used here?
http://www.randomfractals.com/lab/miniShapeDesigner/miniShapeDesigner.html#
Original comment by codedr...@gmail.com
on 14 Aug 2009 at 2:53
Current proposal is to put a rotation spinner in the select context panel (next
to
the opacity pull-down) that controls the rotation of the selected item. This
would
rotate the object around either its center (harder) or top-left (easier).
The selected boxes should always be axis-aligned and should not rotate.
Original comment by codedr...@gmail.com
on 14 Aug 2009 at 3:04
1) put a spinner that controls rotation around selected object's center into the
selected contextual tool panel (not the multi-select one), initially populated
with
zero. Spinner can allow integers for now. Spinner allows values from between
-359
and 359.
2) any shape/text element can now have a transform on it (so whitelist the
transform
attribute for those elements). The transform will be of the form:
rotate(angle,cx,cy) (see
http://www.w3.org/TR/SVG11/coords.html#TransformAttribute )
3) upon selecting an element, must get the transform and determine the amount of
rotation that this element has and update the spinner box with that angle.
Question:
is it more intuitive to think of positive angles as a clockwise rotation?
4) upon changing the rotation value, update the transform attribute with the
corresponding rotate(angle,cx,cy). cx,cy is determined from getting the
midpoints of
the bbox dimensions and then adding the top-left coordinates
5) while dragging an element, this temporarily changes the value of the
transform
attribute (translation). Must now account for the fact that the element could
also
be rotated. If dragging dx,dy I think the transform attribute would be
transform="translate(dx,dy) rotate(angle,cx,cy)"
6) while resizing an element, this temporarily changes the value of the
transform
attribute (scale). Must now account for the fact that the element could also be
rotated. If resized by a factor of sx,sy I think the transform attribute would
be
transform="scale(sx,sy) rotate(angle,cx,cy)"
Original comment by codedr...@gmail.com
on 14 Aug 2009 at 3:24
Original comment by codedr...@gmail.com
on 14 Aug 2009 at 3:24
r391 now has a spinner box that controls the rotation angle of any shape. The
bounding box adjusts when the shape is rotated. However, resizing a rotated
shape
does not work properly (the shape is not properly positioned while resizing, but
seems ok once you release the mouse)
Original comment by codedr...@gmail.com
on 16 Aug 2009 at 6:03
Fixed in r392. Subsequent problems should be raised as new defects.
Original comment by codedr...@gmail.com
on 17 Aug 2009 at 3:12
Original issue reported on code.google.com by
rusn...@gmail.com
on 23 Jun 2009 at 7:49