diff --git a/lime/_backend/html5/HTML5Window.hx b/lime/_backend/html5/HTML5Window.hx
index 46e8f71cd..bdbe6b753 100644
--- a/lime/_backend/html5/HTML5Window.hx
+++ b/lime/_backend/html5/HTML5Window.hx
@@ -51,6 +51,8 @@ class HTML5Window {
private var currentTouches = new Map ();
private var enableTextEvents:Bool;
+ private var lastMouseX:Float;
+ private var lastMouseY:Float;
private var parent:Window;
private var primaryTouch:Touch;
private var setHeight:Int;
@@ -341,12 +343,19 @@ class HTML5Window {
case "mousemove":
- parent.onMouseMove.dispatch (x, y);
+ if (x != lastMouseX || y != lastMouseY) {
+
+ parent.onMouseMove.dispatch (x, y);
+
+ }
default:
}
+ lastMouseX = x;
+ lastMouseY = y;
+
} else {
parent.onMouseWheel.dispatch (untyped event.deltaX, - untyped event.deltaY);
@@ -392,28 +401,29 @@ class HTML5Window {
var scaleX = (setWidth != 0) ? (element.clientWidth / setWidth) : 1;
var scaleY = (setHeight != 0) ? (element.clientHeight / setHeight) : 1;
- var targetW = element.clientWidth;
- var targetH = element.clientHeight;
+ var targetWidth = element.clientWidth;
+ var targetHeight = element.clientHeight;
var marginLeft = 0;
var marginTop = 0;
- if (scaleX < scaleY)
- {
- targetH = Math.floor(setHeight * scaleX);
- marginTop = Math.floor((element.clientHeight - targetH) / 2);
+ if (scaleX < scaleY) {
+
+ targetHeight = Math.floor (setHeight * scaleX);
+ marginTop = Math.floor ((element.clientHeight - targetHeight) / 2);
+
+ } else {
+
+ targetWidth = Math.floor (setWidth * scaleY);
+ marginLeft = Math.floor ((element.clientWidth - targetWidth) / 2);
+
}
- else
- {
- targetW = Math.floor(setWidth * scaleY);
- marginLeft = Math.floor((element.clientWidth - targetW) / 2);
- }
-
+
if (canvas != null) {
if (element != cast canvas) {
- canvas.style.width = targetW + "px";
- canvas.style.height = targetH + "px";
+ canvas.style.width = targetWidth + "px";
+ canvas.style.height = targetHeight + "px";
canvas.style.marginLeft = marginLeft + "px";
canvas.style.marginTop = marginTop + "px";
@@ -421,8 +431,8 @@ class HTML5Window {
} else {
- div.style.width = targetW + "px";
- div.style.height = targetH + "px";
+ div.style.width = targetWidth + "px";
+ div.style.height = targetHeight + "px";
div.style.marginLeft = marginLeft + "px";
div.style.marginTop = marginTop + "px";