Making sure last events are cleared in setting cursor position for deltas, and making sure delta works in opera as well since 16 will be chromium based

This commit is contained in:
underscorediscovery
2013-08-07 15:54:51 -02:30
parent ef9abefb1a
commit 75f902da2f
2 changed files with 13 additions and 6 deletions

View File

@@ -14,7 +14,7 @@ class InputHandler {
public var last_mouse_x : Int = 0;
public var last_mouse_y : Int = 0;
public function startup() {
lib._debug(':: lime :: \t InputHandler Initialized.');
@@ -102,6 +102,9 @@ class InputHandler {
last_mouse_x = _event.x;
last_mouse_y = _event.y;
// trace("mouse moved, new : " + _event.x + ' ' + _event.y);
// trace("mouse moved, delta : " + deltaX + ' ' + deltaY);
if(lib.host.onmousemove != null) {
var _mouse_event = _event;
@@ -363,11 +366,11 @@ class InputHandler {
lib.window_handle.addEventListener('mousemove', function(_event){
var deltaX = 0;
var deltaY = 0;
var deltaX = untyped _event.movementX;
var deltaY = untyped _event.movementY;
switch(lib.render.browser) {
case BrowserLike.chrome, BrowserLike.safari:
case BrowserLike.chrome, BrowserLike.safari, BrowserLike.opera:
deltaX = untyped _event.webkitMovementX;
deltaY = untyped _event.webkitMovementY;
@@ -375,8 +378,10 @@ class InputHandler {
deltaX = untyped _event.mozMovementX;
deltaY = untyped _event.mozMovementY;
case BrowserLike.ie, BrowserLike.opera:
case BrowserLike.ie:
default:
deltaX = 0;
deltaY = 0;
}
_event.preventDefault();

View File

@@ -197,7 +197,9 @@ class WindowHandler {
public function set_cursor_position_in_window(_x:Int = 0, _y:Int = 0) {
#if lime_native
nme_stage_set_cursor_position_in_window(lib.view_handle, _x, _y);
nme_stage_set_cursor_position_in_window(lib.view_handle, _x, _y);
lib.input.last_mouse_x = _x;
lib.input.last_mouse_y = _y;
#end //lime_native
}