1 /********************************************** 2 * Copyright (C) 2010 Lukas Laag 3 * This file is part of lib-gwt-svg. 4 * 5 * libgwtsvg is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * libgwtsvg is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with libgwtsvg. If not, see http://www.gnu.org/licenses/ 17 **********************************************/ 18 /* 19 * Copyright (c) 2004 World Wide Web Consortium, 20 * 21 * (Massachusetts Institute of Technology, European Research Consortium for 22 * Informatics and Mathematics, Keio University). All Rights Reserved. This 23 * work is distributed under the W3C(r) Software License [1] in the hope that 24 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied 25 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 26 * 27 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 28 */ 29 /* 30 * Copyright (c) 2004 World Wide Web Consortium, 31 * 32 * (Massachusetts Institute of Technology, European Research Consortium for 33 * Informatics and Mathematics, Keio University). All Rights Reserved. This 34 * work is distributed under the W3C(r) Software License [1] in the hope that 35 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied 36 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 37 * 38 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 39 */ 40 package org.vectomatic.dom.svg.events; 41 42 import com.google.gwt.event.dom.client.DomEvent; 43 44 /** 45 * This event is raised when the element local timeline begins to play. 46 * It will be raised each time the element begins the active duration 47 * (i.e. when it restarts, but not when it repeats). It may be raised both 48 * in the course of normal (i.e. scheduled or interactive) timeline play, 49 * as well as in the case that the element was begun with the 50 * beginElement or beginElementAt methods. Note that if an element is 51 * restarted while it is currently playing, the element will raise an end 52 * event and another begin event, as the element restarts. 53 */ 54 public class BeginEvent extends TimeEvent<BeginHandler> { 55 56 /** 57 * Event type for mouse out events. Represents the meta-data associated with 58 * this event. 59 */ 60 private static final Type<BeginHandler> TYPE = new Type<BeginHandler>( 61 "begin", new BeginEvent()); 62 /** 63 * Necessary hack. DomEvent.fireNativeEvent uses NativeEvent.getType 64 * to retrieve the type flyweight. However, for SMIL events, the 65 * event type name is not the same as the event attribute name 66 * (onbegin/beginEvent vs onmousedown/mousedown for example !) 67 */ 68 private static final Type<BeginHandler> TYPE_ = new Type<BeginHandler>( 69 "beginEvent", new BeginEvent()); 70 71 /** 72 * Protected constructor, use 73 * {@link DomEvent#fireNativeEvent(com.google.gwt.dom.client.NativeEvent, com.google.gwt.event.shared.HasHandlers)} 74 * to fire mouse out events. 75 */ 76 protected BeginEvent() { 77 } 78 79 /** 80 * @return the handler type 81 */ 82 public Type<BeginHandler> getAssociatedType() { 83 return TYPE; 84 } 85 86 /** 87 * @return the handler type 88 */ 89 public static Type<BeginHandler> getType() { 90 return TYPE; 91 } 92 93 94 @Override 95 protected void dispatch(BeginHandler handler) { 96 handler.onBegin(this); 97 } 98 99 }