/* * Copyright 2012 Daniel Kurka * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package org.jboss.errai.ui.cordova.events.touch.swipe; import com.google.gwt.dom.client.Touch; import com.google.gwt.event.shared.GwtEvent; import org.jboss.errai.ui.cordova.events.touch.TouchPoint; /** * A {@link SwipeStartEvent} is fired when the user moves his finger over a * certain amount on the display * * @author Daniel Kurka * */ public class SwipeStartEvent extends SwipeEvent<SwipeStartHandler> { private final static GwtEvent.Type<SwipeStartHandler> TYPE = new Type<SwipeStartHandler>(); private final int distance; private final TouchPoint touch; public static GwtEvent.Type<SwipeStartHandler> getType() { return TYPE; } /** * Construct a {@link SwipeStartEvent} * * @param touch the touch of the finger * @param distance the distance the finger already moved * @param direction the direction of the finger */ public SwipeStartEvent(TouchPoint touch, int distance, Direction direction) { super(direction); this.touch = touch; this.distance = distance; } /* * (non-Javadoc) * @see com.google.gwt.event.shared.GwtEvent#getAssociatedType() */ @Override public com.google.gwt.event.shared.GwtEvent.Type<SwipeStartHandler> getAssociatedType() { return TYPE; } /** * The distance the finger moved before the event occurred * * @return the distance in px */ public int getDistance() { return distance; } /* * (non-Javadoc) * @see com.google.gwt.event.shared.GwtEvent#dispatch(com.google.gwt.event.shared.EventHandler) */ @Override protected void dispatch(SwipeStartHandler handler) { handler.onSwipeStart(this); } public TouchPoint getTouch() { return touch; } }