OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cgmo-webcgm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [cgmo-webcgm] What to do with WebCGMMatrix


I wasn't proposing to remove getTransform() All I'm saying is that I do not believe many script writers will venture in that area. Regardless, here is the WebCGMMatrix proposal
 
interface WebCGMMatrix {
    attribute float a;
    attribute float b;
    attribute float c;
    attribute float d;
    attribute float e;
    attribute float f;
 
WebCGMMatrix multiply (in WebCGMMatrix m);
WebCGMMatrix inverse(); // raises exception
WebCGMMatrix translate( in float x, in float y );
WebCGMMatrix scale( in float sx, in float sy );
WebCGMMatrix rotate( in float angle, in float rx, in float ry );
};
 
I would then replace WebCGMAppStructure::translate(), rotate(), scale() and matrix() for a new API WebCGMAppStructure::setTransform ( in WebCGMMatrix, in WebCGMString replace );
 
getTransform() would return a WebCGMMatrix.
 
And we need a new API either on the Picture or Metafile interface ::createWebCGMMatrix (it returns a new WebCGMMatrix initialize to the identity matrix).
 
Questions:
1) Should attributes a..f be read only (i.e., the idea is to prevent the user from messing up matrix)?
2) Do we need other methods on the WebCGMMatrix interface?
3) WebCGMAppStructure methods, translate, scale, rotate and matrix are gone, what do people think of that?
 
Regards,
Benoit


From: Lofton Henderson [mailto:lofton@rockynet.com]
Sent: Monday, June 09, 2008 5:34 PM
To: Bezaire, Benoit; cgmo-webcgm@lists.oasis-open.org
Subject: RE: [cgmo-webcgm] What to do with WebCGMMatrix

I tend to agree with Dieter, although I am not an experienced practitioner in DOM programming.

However, I also have a procedural/timing concern.  I'm thinking that this is not best timing to discuss removing getTransform() -- unless everyone were enthusiastically unanimous to do so -- as we are trying to prepare CD02 text.  (Recall that there are small windows for technical adjustment in the WG; and then the TC approves any substantive changes when the work comes back from the W3C.)

If we don't remove the getTransform() now, then we need to have a parameterization of the return value.  Which means either array matrix[6] or interface WebCGMMatrix.  (Rob has concerns about whether such return type as matrix[6] is supported by IE, regardless of whether it is valid in IDL and ECMAScript.)

Let's discuss further (on Wednesday, if not here).

-Lofton.

At 02:39 PM 6/9/2008 -0400, Weidenbrueck, Dieter wrote:
Benoit,
 
I think it is needed. If you request the current transform of an object you have no idea what it might be, and very easily it may be a complex matrix resulting from multiple transforms (in fact, this should be the default case for even a simple rotation).
So if you want to concatenate transforms (e.g. a rotation) and be able to restore the result before the concatenation, you can only use a matrix IMO.
 
Regards,
Dieter


From: Bezaire, Benoit [mailto:bbezaire@ptc.com]
Sent: Montag, 9. Juni 2008 13:58
To: cgmo-webcgm@lists.oasis-open.org
Subject: [cgmo-webcgm] What to do with WebCGMMatrix

Hi All,
 
I honestly don't know if we need WebCGMMatrix. The methods (translate, rotate, scale, matrix) may not the "prettiest" from a coding stand-point, but I think they get the job done.
 
Personally, I think very few users will use matrix() and getTransform(), so I don't know if it justifies a new WebCGMMatrix interface.
 
I think it makes more sense to add a WebCGMRect interface than a WebCGMMatrix interface.
 
Thoughts on this?
 
If many of you want WebCGMMatrix in, I can add it; but I get the impression I'm alone on this one.
 
Benoit.

No virus found in this incoming message.
Checked by AVG.
Version: 8.0.100 / Virus Database: 270.1.0/1492 - Release Date: 6/9/2008 10:29 AM


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]