/* * Copyright (c) 2000 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 org.w3c.dom.smil; import org.w3c.dom.DOMException; /** */ public interface ElementTimeControl { /** * Causes this element to begin the local timeline (subject to sync * constraints). * @return <code>true</code> if the method call was successful and the * element was begun. <code>false</code> if the method call failed. * Possible reasons for failure include: The element doesn't support * the <code>beginElement</code> method. (the <code>begin</code> * attribute is not set to <code>"indefinite"</code> ) The element is * already active and can't be restart when it is active. (the * <code>restart</code> attribute is set to <code>"whenNotActive"</code> * ) The element is active or has been active and can't be restart. * (the <code>restart</code> attribute is set to <code>"never"</code> ). * * @exception DOMException * SYNTAX_ERR: The element was not defined with the appropriate syntax * to allow <code>beginElement</code> calls. */ public boolean beginElement() throws DOMException; /** * Causes this element to begin the local timeline (subject to sync * constraints), at the passed offset from the current time when the * method is called. If the offset is >= 0, the semantics are * equivalent to an event-base begin with the specified offset. If the * offset is < 0, the semantics are equivalent to beginElement(), but * the element active duration is evaluated as though the element had * begun at the passed (negative) offset from the current time when the * method is called. * @param offset The offset in seconds at which to begin the element. * @return <code>true</code> if the method call was successful and the * element was begun. <code>false</code> if the method call failed. * Possible reasons for failure include: The element doesn't support * the <code>beginElementAt</code> method. (the <code>begin</code> * attribute is not set to <code>"indefinite"</code> ) The element is * already active and can't be restart when it is active. (the * <code>restart</code> attribute is set to <code>"whenNotActive"</code> * ) The element is active or has been active and can't be restart. * (the <code>restart</code> attribute is set to <code>"never"</code> ). * * @exception DOMException * SYNTAX_ERR: The element was not defined with the appropriate syntax * to allow <code>beginElementAt</code> calls. */ public boolean beginElementAt(float offset) throws DOMException; /** * Causes this element to end the local timeline (subject to sync * constraints). * @return <code>true</code> if the method call was successful and the * element was ended. <code>false</code> if method call failed. * Possible reasons for failure include: The element doesn't support * the <code>endElement</code> method. (the <code>end</code> attribute * is not set to <code>"indefinite"</code> ) The element is not active. * * @exception DOMException * SYNTAX_ERR: The element was not defined with the appropriate syntax * to allow <code>endElement</code> calls. */ public boolean endElement() throws DOMException; /** * Causes this element to end the local timeline (subject to sync * constraints) at the specified offset from the current time when the * method is called. * @param offset The offset in seconds at which to end the element. Must * be >= 0. * @return <code>true</code> if the method call was successful and the * element was ended. <code>false</code> if method call failed. * Possible reasons for failure include: The element doesn't support * the <code>endElementAt</code> method. (the <code>end</code> * attribute is not set to <code>"indefinite"</code> ) The element is * not active. * @exception DOMException * SYNTAX_ERR: The element was not defined with the appropriate syntax * to allow <code>endElementAt</code> calls. */ public boolean endElementAt(float offset) throws DOMException; }