| var SubPixelLayout = (function() { |
| var SUBPIXELS_PER_PIXEL = 64; |
| if (enabled === undefined) { |
| var elem = document.createElement('div'); |
| elem.style.setProperty('width', '4.5px'); |
| document.body.appendChild(elem); |
| var bounds = elem.getBoundingClientRect(); |
| enabled = (bounds.width != Math.floor(bounds.width)); |
| document.body.removeChild(elem); |
| snapToLayoutUnit: function(f) { |
| return isEnabled() ? Math.floor(f * SUBPIXELS_PER_PIXEL) / SUBPIXELS_PER_PIXEL : Math.floor(f); // as in LayoutUnit(f).toFloat() |
| ceilSnapToLayoutUnit: function(f) { |
| return isEnabled() ? Math.ceil(f * SUBPIXELS_PER_PIXEL) / SUBPIXELS_PER_PIXEL : Math.ceil(f); // see ceiledLayoutUnit(), LayoutUnit.h |