Hey Oliver! If you are saying that device-pixel-ratio should include the user scaling, then I can push that for Qt, but I would really like seeing it supported by iOS as well for compatibility reasons. If you create a bug for that, please cc me.
Kenneth On Fri, Mar 4, 2011 at 8:11 PM, Oliver Hunt <oli...@apple.com> wrote: > WebKit's canvas implementation has always scaled the backing buffer according > to actual screen resolution, i suspect it doesn't pay any attention to zoom > however :-/ > > Arguably that's a bug. > > --Oliver > > On Mar 4, 2011, at 10:08 AM, Charles Pritchard wrote: > >> In the future? >> >> >> >> On Mar 4, 2011, at 8:51 AM, Oliver Hunt <oli...@apple.com> wrote: >> >>> For reference desktop webkit implementations will automatically increase >>> the canvas backing store resolution as the device:css pixel ratio increases. >>> >>> --Oliver >>> >>> On Mar 4, 2011, at 1:44 AM, Charles Pritchard wrote: >>> >>>> On 3/4/2011 1:35 AM, Kenneth Rohde Christiansen wrote: >>>>> Hi again, >>>>> >>>>>> I'm trying to keep the canvas bitmap at the same pixel resolution as the >>>>>> device, >>>>>> otherwise it is blurry. >>>>> OK, I see. >>>>> >>>>>> This, for example, works if the pixel ratio is 2. >>>>>> <canvas style="width: 100px; height: 100px;" width="200" >>>>>> height="200"></canvas> >>>>>> >>>>>> Yes, when the user has a zoom level set, I'd like to paint to match the >>>>>> pixel ratio, >>>>>> so that, a zoomed in user still receives crisp output, instead of blurry >>>>>> output. >>>>> -webkit-device-pixel-ratio does not change when the user scaled the >>>>> content; it is a device value. >>>>> >>>>> On old iPhone it is 1.0, on Android it can be 0.5, 1.0 and 1.5 >>>>> depending on it being a low, medium (160) or high dpi (240) device. On >>>>> the iPhone 4 and the new iPod Touch it is 2.0. >>>>> >>>>> On Android devices, with for instance, a device-pixel-ratio of 1.5, >>>>> you can disable the upscaling by adding target-densitydpi=device-dpi >>>>> to the viewport meta tag. >>>>> >>>>> What you can do is to disable user scaling (add user-scaling=no to the >>>>> viewport meta tag) and then handle zooming in your app using the touch >>>>> events. This only works on mobile devices though. >>>> >>>> I haven't debugged with enough tablet devices, such as the color kindle, >>>> to know how many webkit distros it works with. >>>> What should I do about user zoom on the desktop (and possibly, the kindle) >>>> ? >>>> >>>> Drawing in high res, just-in-case, makes for a poorer experience for users >>>> at a 1.0 ratio, >>>> and asking users to slide a "sharpen" slider is a little awkward. >>>> >>>> Mozilla, in their implementation, has setup device-pixel-ratio to scale >>>> when the user scales content; >>>> they directly expose window css pixel ratio value to trusted scripts, but >>>> not to web content; requiring >>>> web content to use css device-pixel-ratio. >>>> >>>> Microsoft has exposed the values through window.screen. >>>> >>>> >>>> >>>> -Charles >>>> _______________________________________________ >>>> webkit-dev mailing list >>>> webkit-dev@lists.webkit.org >>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev >>> > > -- Kenneth Rohde Christiansen Senior Engineer Application and Service Frameworks, Nokia Danmark A/S Phone +45 4093 0598 / E-mail kenneth.christiansen at gmail.com http://codeposts.blogspot.com ﹆﹆﹆ _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev