Source code
Revision control
Copy as Markdown
Other Tools
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
}
}
}());