How do you wait synchronously for a callback from inside requestAnimationFrame? I'm not aware of a way to do this in the spec. Furthermore, wouldn't that mean returning once to the event loop for each individual drawImage call you wish to make using a source rectangle - so for a single scene containing lots of dynamic source rectangles you could end up having to wait for dozens of callbacks. Each time you wait for that callback, won't any pending drawing operations to your canvas get flushed, resulting in the scene slowly rendering onscreen?
-kg On Tue, Dec 18, 2012 at 7:39 AM, Justin Novosad <ju...@chromium.org> wrote: > On Tue, Dec 18, 2012 at 10:17 AM, Kevin Gadd <kevin.g...@gmail.com> wrote: >> >> Sorry, upon reading over the ImageBitmap part of the spec again I'm >> confused: Why is constructing an ImageBitmap asynchronous? I thought >> any decoding isn't supposed to happen until drawImage, so I don't >> really understand why this operation involves a callback and a delay. > > > The image may have to be downloaded, which is a good reason for being async. > >> >> Making ImageBitmap creation async means that you *cannot* use this as >> a replacement for drawImage source rectangles unless you know all >> possible source rectangles in advance. This is not possible for many, >> many use cases (scrolling through a bitmap would be one trivial >> example). > > > I am not sure I understand the problem. If you need synchronous behavior, > you can just make the app wait for the callback to be called. > > -Justin > >> >> On Tue, Dec 18, 2012 at 7:12 AM, Kevin Gadd <kevin.g...@gmail.com> wrote: >> > Is it possible to expose the width/height of an ImageBitmap, or even >> > expose all the rectangle coordinates? Exposing width/height would be >> > nice for parity with Image and Canvas when writing functions that >> > accept any drawable image source. >> > >> > Thanks for the prompt action here, this looks like a straightforward >> > solution. >> > >> > -kg >> > >> > On Tue, Dec 18, 2012 at 7:03 AM, Justin Novosad <ju...@chromium.org> >> > wrote: >> >> Thanks Ian. >> >> http://html5.org/tools/web-apps-tracker?from=7588&to=7589 >> >> >> >> On Tue, Dec 18, 2012 at 1:04 AM, Robert O'Callahan >> >> <rob...@ocallahan.org> >> >> wrote: >> >>> >> >>> On Tue, Dec 18, 2012 at 6:57 PM, Rik Cabanier <caban...@gmail.com> >> >>> wrote: >> >>>> >> >>>> Does it matter that this solution is in the image world and not 2d >> >>>> canvas? It seems that this will have a bigger impact on the browser's >> >>>> codebase since it spans images and canvas. >> >>> >> >>> >> >>> I think that's a good thing --- it's more generally useful. >> >>> >> >>> Note that Ian has adopted this approach (via an ImageBitmap >> >>> constructor). >> >>> >> >>> >> >>> Rob >> >>> -- >> >>> Jesus called them together and said, “You know that the rulers of the >> >>> Gentiles lord it over them, and their high officials exercise >> >>> authority over >> >>> them. Not so with you. Instead, whoever wants to become great among >> >>> you must >> >>> be your servant, and whoever wants to be first must be your slave — >> >>> just as >> >>> the Son of Man did not come to be served, but to serve, and to give >> >>> his life >> >>> as a ransom for many.” [Matthew 20:25-28] >> >>> >> >> >> > >> > >> > >> > -- >> > -kg >> >> >> >> -- >> -kg > > -- -kg