int clientX = e.getAbsoluteLeft() + (int) fX - e.getOwnerDocument().getScrollLeft();
int clientY = e.getAbsoluteTop() + (int) fY - e.getOwnerDocument().getScrollTop();
int screenX = -1; //e.getAbsoluteLeft() + (int) fX; // - e.getScrollLeft();
int screenY = -1; //e.getAbsoluteTop() + (int) fY; // - e.getScrollTop();
Document _doc = Document.get();
NativeEvent event = null;
switch (type) {
case 1: // mouse down ..
event = _doc.createMouseDownEvent(button, screenX, screenY, clientX,
clientY, ctrl, alt, shift, false, button);
break;
case 2: // mouse up ...
event = _doc.createMouseUpEvent(button, screenX, screenY, clientX,
clientY, ctrl, alt, shift, false, button);
break;
case 3: // mouse move ...
event = _doc.createMouseMoveEvent(button, screenX, screenY, clientX,
clientY, ctrl, alt, shift, false, button);
break;
case 10: // click ...
event = _doc.createClickEvent(button, screenX, screenY, clientX,
clientY, ctrl, alt, shift, false);
break;
case 11: // double click ...
event = _doc.createDblClickEvent(button, screenX, screenY, clientX,
clientY, ctrl, alt, shift, false);
break;
case 20: // key down ...
event = _doc.createKeyDownEvent(ctrl, alt, shift, false, button, button);
break;
case 21: // key up ...
event = _doc.createKeyUpEvent(ctrl, alt, shift, false, button, button);
break;
case 22: // key press ...
event = _doc.createKeyPressEvent(ctrl, alt, shift, false, button, button);
break;
}
_callback.onNativeEvent(event);
}