- From: Robert O'Callahan <robert@ocallahan.org>
- Date: Fri, 20 Sep 2013 08:41:19 +1200
- To: Simon Fraser <smfr@me.com>
- Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, Dirk Schulze <dschulze@adobe.com>, Rik Cabanier <cabanier@gmail.com>, Andrew Dupont <w3@andrewdupont.net>, www-style <www-style@w3.org>
- Message-ID: <CAOp6jLbBt-+EbuLCqj25PFvn0NKzGwJjoSe4RU1mULpECGQuhA@mail.gmail.com>
On Fri, Sep 20, 2013 at 3:30 AM, Simon Fraser <smfr@me.com> wrote:
> A bit late to the party, sorry.
>
Welcome :-)
> On Aug 28, 2013, at 4:43 pm, Robert O'Callahan <robert@ocallahan.org>
> wrote:
>
>
> We also need to consider the Matrix work:
> https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html
>
> I think if we're going to use any prefix, we should use the same prefix
> for Point, Rect, Quad and Matrix. I'm afraid to arrogate those names as-is.
> Either DOM or CSS would work for me. Blink has already got an
> implementation of CSSMatrix so I think we may as well go with the "CSS"
> prefix. Yes, it's useful for more than just CSS, but that doesn't bother me.
>
>
> Agreed. I have a minor preference for a DOM prefix but don't feel strongly.
>
Good because everyone else converged on "DOM" too :-).
>
>
> The signatures of the convert* methods here and in the other linked
>> thread constantly confuse me. Perhaps a better naming scheme in the
>> IDL would help, like "sourceNode" and "sourceQuad"? Also, the name
>> suggests a "quad, node" ordering, but the actual signature is the
>> opposite.
>>
>
> I can't see how "Node sourceNode" is more helpful than "Node from". But I
> agree about the ordering.
>
>
> I dislike the syntactical decoration of passing dictionaries that name the
> parameters, like
> "node.getBoxQuads({relativeTo:otherNode})"
>
> since it's rarely (ever?) used elsewhere, and just just more to remember
> when typing (like like the
> microsyntax that's used in gradients, I find it very hard to remember what
> the extra terms are,
> and where to put them).
>
Quite a few other APIs are using dictionaries to collect optional named
parameters now, e.g. IDBFactory.open, Geolocation.getCurrentPosition,
TextDecoder.decode, URL.createObjectURL.
The dictionary parameter may be a little harder to type, but it makes the
code much easier to read, IMHO, which is more important.
I don't see why you'd want to convert relative to a specific box in the
> source or target. We should just state that the
> origin of the coordinate space for an element is the top left of its
> border box, and let authors do the math inside the
> element. Thinking about different source/target boxes makes this much more
> complex than it needs to be,
> and transforms never affect the relationship of the boxes within an
> element.
>
It's definitely useful to be able to convert to the content-box of an
element instead of the border-box, for example if you're trying to map
points to the content of a <canvas>.
Given that the box type parameters are hidden in the dictionary, and
they're pretty easy to implement (I've done it), I think exposing the fully
general one-step conversion here is very low-cost for implementers and
authors and we may as well just do it. Avoiding the construction of an
intermediate object may be beneficial in some cases too.
Rob
--
Jtehsauts tshaei dS,o n" Wohfy Mdaon yhoaus eanuttehrotraiitny eovni
le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o Whhei csha iids teoa
stiheer :p atroa lsyazye,d 'mYaonu,r "sGients uapr,e tfaokreg iyvoeunr,
'm aotr atnod sgaoy ,h o'mGee.t" uTph eann dt hwea lmka'n? gBoutt uIp
waanndt wyeonut thoo mken.o w *
*
Received on Thursday, 19 September 2013 20:41:46 UTC