package com.guit.client.dom.impl; import com.google.gwt.core.client.JsArray; import com.google.gwt.dom.client.NativeEvent; import com.guit.client.dom.Element; import com.guit.client.dom.Event; import com.guit.client.dom.Touch; import java.util.ArrayList; import java.util.List; public class EventImpl implements Event { private NativeEvent e; public EventImpl(NativeEvent e) { this.e = e; } @Override public boolean getAltKey() { return e.getAltKey(); } @Override public int getButton() { return e.getButton(); } @Override public List<Touch> getChangedTouches() { return toList(e.getChangedTouches()); } private List<Touch> toList(JsArray<com.google.gwt.dom.client.Touch> touches) { ArrayList<Touch> list = new ArrayList<Touch>(); for (int i = 0; i < touches.length(); i++) { list.add(new TouchImpl(touches.get(i))); } return list; } @Override public int getCharCode() { return e.getCharCode(); } @Override public int getClientX() { return e.getClientX(); } @Override public int getClientY() { return e.getClientY(); } @Override public boolean getCtrlKey() { return e.getCtrlKey(); } @Override public Element getCurrentEventTarget() { com.google.gwt.dom.client.Element curr = e.getCurrentEventTarget().cast(); return new ElementImpl(curr); } @Override public Element getEventTarget() { com.google.gwt.dom.client.Element curr = e.getEventTarget().cast(); return new ElementImpl(curr); } @Override public int getKeyCode() { return e.getKeyCode(); } @Override public boolean getMetaKey() { return e.getMetaKey(); } @Override public int getMouseWheelVelocityY() { return e.getMouseWheelVelocityY(); } @Override public Element getRelatedEventTarget() { com.google.gwt.dom.client.Element curr = e.getRelatedEventTarget().cast(); return new ElementImpl(curr); } @Override public double getRotation() { return e.getRotation(); } @Override public double getScale() { return e.getScale(); } @Override public int getScreenX() { return e.getScreenX(); } @Override public int getScreenY() { return e.getScreenY(); } @Override public boolean getShiftKey() { return e.getShiftKey(); } @Override public List<Touch> getTargetTouches() { return toList(e.getTargetTouches()); } @Override public List<Touch> getTouches() { return toList(e.getTouches()); } @Override public String getType() { return e.getType(); } @Override public void preventDefault() { e.preventDefault(); } @Override public void stopPropagation() { e.stopPropagation(); } @Override public String toDebugString() { return e.toString(); } public NativeEvent getNativeEvent() { return e; } }