W3C home > Mailing lists > Public > public-houdini@w3.org > May 2015

Re: Properties of Custom Paint

From: Ian Kilpatrick <ikilpatrick@chromium.org>
Date: Fri, 22 May 2015 12:29:47 -0400
Message-ID: <CAJL3UpR55=LUGwBb06yLUtiDNy0myT5ZdM+LcqCjxFcv2W+ZJQ@mail.gmail.com>
To: Dean Jackson <dino@apple.com>
Cc: Shane Stephens <shans@google.com>, "public-houdini@w3.org" <public-houdini@w3.org>, "Robert O'Callahan" <robert@ocallahan.org>
Great. Updated with:

##### Custom Paint functions can be shared across multiple elements.

We'd don't want a canvas to be shared across multiple elements. This means
that it won't be able to properly respond to geometry sizes of the element
it is "augmenting"; it'll have to stretch, crop, etc. Instead we'd like to
share a Custom Paint function instead, which can properly respond to
geometry changes, and be invoked multiple times.

On Thu, May 21, 2015 at 3:48 PM, Dean Jackson <dino@apple.com> wrote:

>
> On 22 May 2015, at 5:38 am, Shane Stephens <shans@google.com> wrote:
>
> As I've said to Shane and Ian offline, I think that a variant on the
>> element() feature can address many of the requirements for custom paint
>> with a few API modifications (allowing it to be used in more places, in
>> addition to default rendering, responding to layout updates, etc). We've
>> found -webkit-canvas to be especially useful in this manner (we use it for
>> the custom rendering of our scrubber bar in media controls).
>>
>
> One concern I have with this is that if you register the same canvas to
> multiple elements, you're stuck with a single canvas size. So you can't
> really build a custom painter that e.g. paints a fancy border for any given
> size input - instead, you'd need to create a new <canvas> element that
> shadows every fancy border instance, so that each could be responsive
> independently to layout.
>
> In fact, I'd like to propose an extra "Required Property" for Ian's list:
> Custom Paint functions can be shared across multiple elements
>
> One potential solution is to either allow element() to reference paint
> functions directly (rather than just out-of-dom canvases), or to add a new
> CSS function for this purpose (e.g. paint()).
>
>
> Yes, I completely agree with this requirement.
>
> As you say, there are a few potential solutions. One of the downsides to
> element() over canvas() was that it makes it difficult to extend the
> function to indicate that maybe you want a shared canvas vs a per-instance
> canvas.
>
> Dean
>
>
>
Received on Friday, 22 May 2015 16:30:24 UTC

This archive was generated by hypermail 2.3.1 : Friday, 22 May 2015 16:30:25 UTC