currentRotate [SVG Tiny 1.2 LC issue T004]

This is the official answer to the last call comment.
If you're not happy with the response then please
respond to this email as soon as possible (one week
would be best).

On Wed 01 Sep 2004, Chris Lilley wrote:

> This is a forwarded message
> From: andrewgirow <andrewgirow@yahoo.com>
> To: SVG-Mobile@yahoogroups.com
> Date: Wednesday, September 1, 2004, 5:00:04 PM
> Subject: [SVG-Mobile] SVG Tiny 1.2 DOM Feedback and Questions
>

[snip]

> 
> 2. SVGSVGElement
> 
> In the SVGSVGElement there is a new attribute that could not be found 
> in the previous versions of SVG DOM. 
> 
> attribute float currentRotate; // raises (DOMException) on setting
> 

Andrew,

The answer can be found in http://www.w3.org/TR/SVG12/rendering.html
Section 10.2.

[[[
The user agent positioning controls consist of a translation (commonly referred to as the "pan"), a scale (commonly referred to as the "zoom") and a rotate.

US = User Scale (currentScale on SVGSVGElement)
UP = User Pan (currentTranslate on SVGSVGElement)
UR = User Rotate (currentRotate on SVGSVGElement)


The User Transform is the product of these component transformations.

U = User Transform
  = UP.US.UR
]]]

> The question is how this parameter applied to the current 
> transformation matrix?
> Does it go after the currentTranslate of before? What are the order 
> of operations now for the current transform? Do we need this at all? 
> I mean that there is no explanation why it is in the DOM now.

Effectively this means that the currentRotate is the first
tranformation applied.

This is very useful for mobile devices with location based
services (rotating the map around the current orientation,  the way
a GPS device usually operates). The alternative is to rotate the
content which means you lose the fact that the coordinates are
real locations.

Also, it falls out from the regular SVG transformation
model, so it doesn't really increase complexity.

Hope this answers your question.

Dean

Received on Tuesday, 16 November 2004 09:10:32 UTC