W3C home > Mailing lists > Public > whatwg@whatwg.org > November 2012

Re: [whatwg] Canvas in Workers

From: 社用 <gman@google.com>
Date: Fri, 30 Nov 2012 16:24:17 +0900
Message-ID: <CAKZ+BNrLpNEu=qWozcPhkh4GoYuxUHN_e74HGJJJKro3sydQfg@mail.gmail.com>
To: Elliott Sprehn <esprehn@chromium.org>
Cc: Rick Waldron <waldron.rick@gmail.com>, Ian Hickson <ian@hixie.ch>, WHAT Working Group <whatwg@whatwg.org>
on ImageBitmap should zero size canvases just work (and create a 0 sized
ImageBitmap)?

My personal preference is for APIs that just work with zero sizes so I
don't have to write lots of special cases for handling zero.

For example [1,2,3].slice(0,0) returns []. It doesn't throw.
"abc".substring(0,0) returns "" it doesn't throw. fillRect(x, y, 0, 0)
doesn't throw. etc...

It just makes life a lot easier



On Tue, Nov 20, 2012 at 3:33 AM, Elliott Sprehn <esprehn@chromium.org>wrote:

>
> On Mon, Nov 19, 2012 at 12:26 AM, Gregg Tavares (社用) <gman@google.com>wrote:
>
>> Sorry if this is clear in the specs but can you explain how sizing the
>> canvas works?
>>
>>
>>    // main.html
>>    <canvas></canvas>
>>    <script>
>>     var canvas = document.getElementsByTagName('canvas')[0];
>>     var worker = new Worker('clock.js');
>>     var proxy = canvas.transferControlToProxy());
>>     worker.postMessage(proxy, [proxy]);
>>
>>     setTimeout(function() {
>>         canvas.width = 200;   // does this work? What happens?
>>
>
> You resize the output surface that the image coming from the worker will
> be drawn into. This is different than changing the buffer used for drawing.
>
>     }, 4000);
>>    </script>
>>
>>    // clock.js worker
>>    onmessage = function (event) {
>>      var context = new CanvasRenderingContext2d();
>>      event.data.setContext(context);
>>      setInterval(function () {
>>        context.width = 400;  // Can I do this? What happens when I do?
>>
>
> You resize the buffer that's inside of the worker.
>
> - E
>
Received on Friday, 30 November 2012 08:11:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 30 January 2013 18:48:11 GMT