[whatwg] [canvas] request for {create, get, put}ImageDataHD and ctx.backingStorePixelRatio

On 3/20/2012 10:53 AM, Tab Atkins Jr. wrote:
> Given that the modern iPhones (and I suspect the iPad 3, though I
> haven't tested it yet) aren't exposing their high-res backing stores
> (they give back ImageData with CSS px resolution), it seems likely
> that the original goal of get/putImageData to seamlessly adapt has
> failed.  So, I support adding an alternate API that explicitly returns
> a high-res store.  If people fuck*that*  up, then we're just screwed.

IE exposes CSS px resolution via window.screen; mobile exposes via 
devicePixelRatio, webkit exposes accidentally through innerHeight and 
outerHeight and Mozilla through CSS queries on device-pixel-ratio.
I tried to get this mess fixed, but I got a lot of push back from Mozilla.

WebKit developers agreed that the MS solution would be OK:
http://msdn.microsoft.com/en-us/library/ms535868(v=vs.85).aspx 
<http://msdn.microsoft.com/en-us/library/ms535868%28v=vs.85%29.aspx>

Anne agreed to add it to CSSOM back when he was editing it, once there 
was a second implementation.

I've got two hacks to get pixel resolution over here:
http://www.jumis.com/cme-button.html#abc6

I didn't add the Mozilla one yet.


I strongly suggest we just fix the problem by updating window.screen so 
us developers can manually manage the CSS width vs independent width.
I've been doing this forever, it works fine [I update on resize events 
if the res has changed]:
<canvas style="width: 50px; height: 50px;" width="100" height="100" />

We already went through this discussion on WHATWG. I didn't like how it 
went back then. Now that we're revisiting it, maybe we can just follow MS.

On desktop, the res changes with browser zoom.

-Charles

Received on Tuesday, 20 March 2012 12:30:37 UTC