W3C home > Mailing lists > Public > whatwg@whatwg.org > August 2013

Re: [whatwg] remove resetClip from the Canvas 2D spec

From: Justin Novosad <junov@google.com>
Date: Mon, 12 Aug 2013 17:26:08 -0400
Message-ID: <CABpaAqRX6mc5zvATrE31q+F7z6Pm-wNy2MEE4749SLW0k5_3VA@mail.gmail.com>
To: Simon Sarris <simon.sarris@gmail.com>
Cc: WHATWG List <whatwg@whatwg.org>, Stephen White <senorblanco@chromium.org>, Rik Cabanier <cabanier@gmail.com>, Ian Hickson <ian@hixie.ch>
Ok, so here is a simple proposal:

IDL:
enum CanvasSaveMode { "all", "transform", "clip", "transform-and-clip" };
save(optional CanvasSaveMode mode);

Modes:
all: save the entire rendering context state
transform: save only the current transform
clip: save only the current clip

if mode is not specified, the entire context state is saved (for backward
compatibility)

The restore method's interface does not change. It restores whatever state
was saved by the matching save call.



On Mon, Aug 12, 2013 at 4:56 PM, Simon Sarris <simon.sarris@gmail.com>wrote:

> > Good point, I think part of the problem has to do with the fact that save
> > is non-selective (saves all of the state).
>
> Yes, since save() and restore() save and restore everything, it creates
> the side effect of needing to set ctx.font/fillStyle/strokeStyle more often
> than otherwise, which are slow to set, probably because of some CSS parser
> activity, but I'm not wise enough to know.
>
> If there was merely a way to save and restore the context, or perhaps some
> other subset of state, that would probably work nicely too.
>
>
>
>
>
>
Received on Monday, 12 August 2013 21:26:35 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:09:23 UTC