diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx
index 424e8ead4a..2a34a71f69 100644
--- a/src/lime/_internal/backend/html5/HTML5Window.hx
+++ b/src/lime/_internal/backend/html5/HTML5Window.hx
@@ -177,8 +177,8 @@ class HTML5Window
if (canvas != null)
{
- canvas.width = Math.round(parent.__width * scale);
- canvas.height = Math.round(parent.__height * scale);
+ canvas.width = Math.floor(parent.__width * scale);
+ canvas.height = Math.floor(parent.__height * scale);
canvas.style.width = parent.__width + "px";
canvas.style.height = parent.__height + "px";
@@ -1015,8 +1015,8 @@ class HTML5Window
if (rect.width > 0 && rect.height > 0)
{
var canvas2:CanvasElement = cast Browser.document.createElement("canvas");
- canvas2.width = Std.int(rect.width);
- canvas2.height = Std.int(rect.height);
+ canvas2.width = Math.floor(rect.width);
+ canvas2.height = Math.floor(rect.height);
var context = canvas2.getContext("2d");
context.drawImage(canvas, -rect.x, -rect.y);
@@ -1380,8 +1380,8 @@ class HTML5Window
{
if (parent.element != cast canvas)
{
- canvas.width = Math.round(elementWidth * scale);
- canvas.height = Math.round(elementHeight * scale);
+ canvas.width = Math.floor(elementWidth * scale);
+ canvas.height = Math.floor(elementHeight * scale);
canvas.style.width = elementWidth + "px";
canvas.style.height = elementHeight + "px";
@@ -1408,13 +1408,13 @@ class HTML5Window
if (scaleX < scaleY)
{
- targetHeight = Math.floor(setHeight * scaleX);
- marginTop = Math.floor((elementHeight - targetHeight) / 2);
+ targetHeight = Math.ceil(setHeight * scaleX);
+ marginTop = Math.ceil((elementHeight - targetHeight) / 2);
}
else
{
- targetWidth = Math.floor(setWidth * scaleY);
- marginLeft = Math.floor((elementWidth - targetWidth) / 2);
+ targetWidth = Math.ceil(setWidth * scaleY);
+ marginLeft = Math.ceil((elementWidth - targetWidth) / 2);
}
if (canvas != null)