Re: [css-masking] reference boxes

On 12/17/2013 04:24 AM, Dirk Schulze wrote:
>
> Short summary of the latest changes regarding reference boxes after the discussion on this thread.
>
> * I removed the sentence stating that the mask painting area is limited
>   to the bounding client rect on mask-clip: no-clip

Looks good. (Btw, s/rectricted/restricted/ in the previous <dd>s.)

> * I added the keyword bounding-box to mask-origin. The keyword references
>   the bounding client rect

OK. I'm going to think about that after we've sorted the rest of this;
it may need to change to something else if it does not in fact correspond
exactly to the bounding client rect.

> * I changed the definition of bounding client rect to:
> “”The object bounding box for elements in the http://www.w3.org/2000/svgnamespace and without an associated CSS layout box. The smallest rectangle that contains the border box of the element and the border boxes of all its descendants otherwise. (See getBoundingClientRect [CSSOM-VIEW].)”"

Move "otherwise" to the front of the sentence so it's more clearly
interpreted as a link between the two sentences. Otherwise, looks
pretty clear.

My remaining concern here is how this box behaves wrt fragmentation.
That particular definition is in conflict with the explanation in
'clip-path' of how the clipping path is fragmented.

> * I added an optional <box> value and bounding-box keyword to clip-path
>   so that authors can choose the reference box. The syntax now looks like:
>   <clip-source> | [ <basic-shape> || <box> | bounding-box ] | none

Seems reasonable. Minor comments:

   # If specified in combination with a <basic-shape> it is the reference
   # box for the <basic-shape>.

   Suggest s/is/provides/

   # If specified by itself a clipping path is computed based on one of
   # border-box, margin-box, border-box, padding-box or content-box which
   # use their respective boxes including curvature from border-radius,
   # similar to background-clip [CSS3BG].

   Suggest replacing with

   | If specified by itself, uses the edges of the specified box, including
   | any corner shaping.

   Also, suggest folding the ''margin-box'' definition in with ''<box>''
   by putting the both <dt>s before the <box> definition. The definition
   for <box> (including its reference to Shapes) is exactly what's needed
   here.

   # The size of the box is determined by the bounding client rect.

   I think you mean

   | The reference box is the bounding client rect.

   ?

> * The default reference box for basic shapes on clip-path is border-box

I'm happy for mask-origin and clip-path to agree on the default box.

> * I defined how container breaks affect masking and clipping for each
>   of the source referencing properties.

See conflict above with definition of 'bounding-box' for boxes fragmented
within a page.

Thanks~

~fantasai

Received on Thursday, 26 December 2013 06:40:19 UTC