/* * Copyright (c) 2001 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. This program is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY; without even * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. * See W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package mf.org.w3c.dom.smil; import mf.org.w3c.dom.events.Event; import mf.org.w3c.dom.views.AbstractView; /** * The <code>TimeEvent</code> interface provides specific contextual * information associated with Time events. * * @see <a href="http://www.w3.org/TR/2000/WD-smil-animation-20000731/">SMIL Animation</a>. */ public interface TimeEvent extends Event { /** * The <code>view</code> attribute identifies the <code>AbstractView</code> * from which the event was generated. */ public AbstractView getView(); /** * Specifies some detail information about the <code>Event</code>, * depending on the type of event. */ public int getDetail(); /** * The <code>initTimeEvent</code> method is used to initialize the value of * a <code>TimeEvent</code> created through the <code>DocumentEvent</code> * interface. This method may only be called before the * <code>TimeEvent</code> has been dispatched via the * <code>dispatchEvent</code> method, though it may be called multiple * times during that phase if necessary. If called multiple times, the * final invocation takes precedence. * * <p>The different types of events that can occur are:</p> * * <dl> * <dt><b>begin</b></dt> * <dd>This event is raised when the element local timeline begins to play. * It will be raised each time the element begins the active duration (i.e. * when it restarts, but not when it repeats). It may be raised both in the * course of normal (i.e. scheduled or interactive) timeline play, as well * as in the case that the element was begun with the <code> * beginElement()</code> or <code> beginElementAt()</code> methods. Note * that if an element is restarted while it is currently playing, the * element will raise an end event and another begin event, as the element * restarts. * <ul> * <li>Bubbles: No</li> * <li>Cancelable: No</li> * <li>Context Info: None</li> * </ul> * </dd> * <dt><b>end</b></dt> * <dd>This event is raised at the active end of the element. Note that * this event is not raised at the simple end of each repeat. This event * may be raised both in the course of normal (i.e. scheduled or * interactive) timeline play, as well as in the case that the element was * ended with the <code> endElement()</code> or <code> * endElementAt()</code> methods. Note that if an element is restarted * while it is currently playing, the element will raise an end event and * another begin event, as the element restarts. * <ul> * <li>Bubbles: No</li> * <li>Cancelable: No</li> * <li>Context Info: None</li> * </ul> * </dd> * <dt><b>repeat</b></dt> * <dd>This event is raised when the element local timeline repeats. It * will be raised each time the element repeats, after the first * iteration.<br> The event provides a numerical indication of which repeat * iteration is beginning. The value is a 0-based integer, but the repeat * event is not raised for the first iteration and so the observed values * of the detail attribute will be >= 1. * <ul> * <li>Bubbles: No</li> * <li>Cancelable: No</li> * <li>Context Info: detail (current iteration)</li> * </ul> * </dd> * </dl> * * @param typeArg Specifies the event type. * @param viewArg Specifies the <code>Event</code>'s * <code>AbstractView</code>. * @param detailArg Specifies the <code>Event</code>'s detail. */ public void initTimeEvent(String typeArg, AbstractView viewArg, int detailArg); }