/*
* 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;
import org.w3c.dom.Element;
/**
* The Time
interface is a datatype that represents times within
* the timegraph. A Time
has a type, key values to describe the
* time, and a boolean to indicate whether the values are currently
* unresolved. Still need to address the wallclock values.
*/
public interface Time {
/**
* A boolean indicating whether the current Time
has been
* fully resolved to the document schedule. Note that for this to be
* true, the current Time
must be defined (not indefinite),
* the syncbase and all Time
's that the syncbase depends on
* must be defined (not indefinite), and the begin Time
of
* all ascendent time containers of this element and all Time
* elements that this depends upon must be defined (not indefinite).
*
If this Time
is based upon an event, this
* Time
will only be resolved once the specified event has
* happened, subject to the constraints of the time container.
*
Note that this may change from true to false when the parent time
* container ends its simple duration (including when it repeats or
* restarts).
*/
public boolean getResolved();
/**
* The clock value in seconds relative to the parent time container begin.
* This indicates the resolved time relationship to the parent time
* container. This is only valid if resolved is true.
*/
public double getResolvedOffset();
// TimeTypes
public static final short SMIL_TIME_INDEFINITE = 0;
public static final short SMIL_TIME_OFFSET = 1;
public static final short SMIL_TIME_SYNC_BASED = 2;
public static final short SMIL_TIME_EVENT_BASED = 3;
public static final short SMIL_TIME_WALLCLOCK = 4;
public static final short SMIL_TIME_MEDIA_MARKER = 5;
/**
* A code representing the type of the underlying object, as defined
* above.
*/
public short getTimeType();
/**
* The clock value in seconds relative to the syncbase or eventbase.
* Default value is 0
.
* @exception DOMException
* NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this
* readonly attribute.
*/
public double getOffset();
public void setOffset(double offset)
throws DOMException;
/**
* The base element for a sync-based or event-based time.
* @exception DOMException
* NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this
* readonly attribute.
*/
public Element getBaseElement();
public void setBaseElement(Element baseElement)
throws DOMException;
/**
* If true
, indicates that a sync-based time is relative to
* the begin of the baseElement. If false
, indicates that a
* sync-based time is relative to the active end of the baseElement.
* @exception DOMException
* NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this
* readonly attribute.
*/
public boolean getBaseBegin();
public void setBaseBegin(boolean baseBegin)
throws DOMException;
/**
* The name of the event for an event-based time. Default value is
* null
.
* @exception DOMException
* NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this
* readonly attribute.
*/
public String getEvent();
public void setEvent(String event)
throws DOMException;
/**
* The name of the marker from the media element, for media marker times.
* Default value is null
.
* @exception DOMException
* NO_MODIFICATION_ALLOWED_ERR: Raised on attempts to modify this
* readonly attribute.
*/
public String getMarker();
public void setMarker(String marker)
throws DOMException;
}