- From: Robert O'Callahan <robert@ocallahan.org>
- Date: Fri, 20 Sep 2013 08:09:43 +1200
- To: Simon Pieters <simonp@opera.com>
- Cc: Simon Fraser <smfr@me.com>, "Tab Atkins Jr." <jackalmage@gmail.com>, Andrew Dupont <w3@andrewdupont.net>, www-style <www-style@w3.org>
- Message-ID: <CAOp6jLY2cKVUdMovSiAoV=bjsRx-xM=fcoCEzJd0+bPCjegokg@mail.gmail.com>
On Fri, Sep 20, 2013 at 12:19 AM, Simon Pieters <simonp@opera.com> wrote:
> So DOMQuad basically maps to a CSS box, is that right? Do we want DOMQuad
> to support .usedStyle? Should it have a pointer back to its Node?
>
No, I think it's simpler if DOMQuad is pure geometry --- just four points.
Then we can, for example, provide a method that transforms a DOMQuad by a
DOMMatrix to produce another DOMQuad. And because DOMPoints can be in 3D
space, we can also support APIs that treat DOMQuads as 3D objects.
> Part 3 has been more recently addressed:
>> http://lists.w3.org/Archives/**Public/public-pointer-events/**
>> 2013JanMar/0099.html<http://lists.w3.org/Archives/Public/public-pointer-events/2013JanMar/0099.html>
>>
>> So here's my proposal:
>>
>> Rename ClientRect to CSSRect.
>>
>> [Constructor(CSSPoint, CSSPoint, CSSPoint, CSSPoint),
>> Constructor(ClientRect)]
>>
>
> What's the use case for this constructor?
Which one? I guess I don'thave a use-case for these right now. Let's drop
them and we can add them later if they turn out to be useful.
> interface Quad {
>> readonly attribute CSSPoint p1; // 2D only (z,w not present)
>> readonly attribute CSSPoint p2;
>> readonly attribute CSSPoint p3;
>> readonly attribute CSSPoint p4;
>> readonly attribute CSSRect bounds;
>> };
>>
>> [Constructor(sequence<Quad>)]
>>
>
> What's the use case for this constructor?
>
>
> interface QuadList {
>> readonly attribute unsigned long length;
>> getter Quad item(unsigned long index);
>> readonly attribute CSSRect bounds;
>> };
>>
>
Never mind, let's get rid of QuadList since getBoxQuads can just return
sequence<DOMQuad>.
>
>> enum BoxType { "margin", "border", "padding", "content" };
>> dictionary BoxQuadOptions {
>> attribute BoxType box; // defaults to "border"
>> attribute Node relativeTo; // defaults to viewport
>>
>
> Which object gets to represent the viewport? Since the type is Node, the
> closest fit is Document, but we don't have to use that. We could use Window
> instead if we want.
>
A Window is not a Node. I think we should use Document.
> Also, should we restrict the set of Nodes that participate in the API to
> Element and Text (and Window or Document for the viewport)? Does it make
> sense to have the methods below on DocumentFragment, DocumentType,
> ProcessingInstruction and Comment?
>
I don't believe it does, so we should restrict the set of nodes to Element,
Text, and Document.
Do we want PseudoElement to participate in this API?
>
Hmm. Where is PseduoElement specified? I'm not familiar with it.
Thanks,
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:10:11 UTC