W3C home > Mailing lists > Public > public-svg-wg@w3.org > January to March 2009

Re: ISSUE-2208 (rotate-center-point): Consider allowing rotations to be relative to their bounding box center [SVG Core 2.0]

From: Anthony Grasso <anthony.grasso@cisra.canon.com.au>
Date: Fri, 30 Jan 2009 14:58:13 +1100
Message-ID: <49827AD5.3090302@cisra.canon.com.au>
To: Doug Schepers <schepers@w3.org>
CC: SVG Working Group WG <public-svg-wg@w3.org>

Hi Cam and Doug,

In the transforms module we were thinking of having an attribute/property called 
"transform-origin". The property would allow <x> <y> <z> to specified as a 
percentage of the bounding box or using a key word like is listed below ('left', 
'right', 'center'). Additionally, User Space coordinates can be specified for 
<x> <y> <z>

Not sure if this helpful for this issue though? or if can be merged into the module?

Anthony

Doug Schepers wrote:
> Hi, Cam-
> 
> Cameron McCormack wrote (on 1/29/09 7:33 PM):
>> ISSUE-2208:
>>> It is very common to rotate an object about its center point. This
>>> requires knowing the center point, however, and in some cases this
>>> can't be known without scripting. It would be handy to be able to
>>> specify that a rotation happens about the center point, e.g.:
>>>
>>>   <svg ...>
>>>     <text x='50' y='50' transform='rotate(-90, center)'/>
>>>   </svg>
> 
> Amen.
> 
> 
>> “center” here would mean bounding box center.  I could imagine other
>> keywords being introduced to mean other, particular points on the
>> object.  These keywords would be the same as those that we might define
>> for the Layout module.
> 
> In addition to keywords regarding the bbox (top-left, mid-right), we
> might allow definition of points along the stroke itself, such as
> distance along the length, or even points inside the shape, though that
> might be hard to do in any meaningful way.
> 
> An alternative would be allowing a reference point for the rotation:
> 
> <svg xmlns="http://www.w3.org/2000/svg">
>     <path d="M89,107 L70,89 51,107 53,81 27,78 49,63 35,41 60,49
>              69,24 79,48 103,41 90,63 112,77 86,81 89,107Z"
>           fill="orange" stroke="red" transform="rotate(45, #point_1)"/>
>     <point id="point_1" cx="90" cy="72" />
> </svg>
> 
> 
> Or something like that.
> 
> 
>> “centroid” could be another one, but I’m not sure how useful that would
>> be.
> 
> Yeah, that occurred to me too... but I'm also not sure of its usefulness.
> 
> Regards-
> -Doug Schepers
> W3C Team Contact, SVG and WebApps WGs
> 
> 
Received on Friday, 30 January 2009 03:58:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 30 January 2009 03:58:57 GMT