- From: Marat Tanalin <mtanalin@yandex.ru>
- Date: Wed, 07 Sep 2016 18:05:55 +0300
- To: Yash Malik <ymalik@google.com>, David Bokan <bokan@google.com>, "www-style@w3.org" <www-style@w3.org>
07.09.2016, 17:27, "Yash Malik" <ymalik@google.com>: >> 2. contains zoom relative to that already reflected in `window.devicePixelRatio`, so the total physical-pixels-per-logical-pixel ratio can be calculated as the _product_ of `window.visualViewport.scale` times `window.devicePixelRatio`? > > By physical-pixels-per-logical-pixel, do you mean physical-pixels-per-css-pixels? If so, then almost*. `window.visualViewport.scale` times `window.devicePixelRatio` doesn't take the browser zoom into account. Physical-pixels-per-css-pixel ratio is exactly what `window.devicePixelRatio` is about, and it _does_ account for browser-level zoom at least in Firefox. What I'm interested in is determining _total_ zoom that includes _both_ `window.devicePixelRatio` and pinch zoom, so that it's possible to determine exact image (<img>) size in _physical_ pixels. Currently, I'm using the following formula for this purpose in Firefox for Android: (image.width / image.naturalWidth) * window.devicePixelRatio * (window.outerWidth / window.innerWidth) where `window.outerWidth / window.innerWidth` is pinch zoom that, as I suspect, `window.visualViewport.scale` is supposed to be a legit reliable equivalent of. So, if I understand correctly, the new reliable formula would be: (image.width / image.naturalWidth) * window.devicePixelRatio * `window.visualViewport.scale` Do I understand `window.visualViewport.scale` purpose correctly?
Received on Wednesday, 7 September 2016 15:06:31 UTC