var SubPixelLayout = (function() { var enabled = undefined; function isEnabled() { 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); } return enabled; } return { isEnabled: isEnabled, snapToLayoutUnit: function(f) { return isEnabled() ? Math.floor(f * 64) / 64 : Math.floor(f); // as in LayoutUnit(f).toFloat() }, ceilSnapToLayoutUnit: function(f) { return isEnabled() ? Math.ceil(f * 64) / 64 : Math.ceil(f); // see ceiledLayoutUnit(), LayoutUnit.h } } }());