Package org.apache.batik.anim.timing
Class TimedDocumentRoot
java.lang.Object
org.apache.batik.anim.timing.TimedElement
org.apache.batik.anim.timing.TimeContainer
org.apache.batik.anim.timing.TimedDocumentRoot
- All Implemented Interfaces:
SMILConstants
- Direct Known Subclasses:
SVGAnimationEngine.AnimationRoot
An abstract base class for the root time container element
for a document.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Calendar
The wallclock time that the document began.protected boolean
Whether the document is currently being sampled for a hyperlink.protected boolean
Whether the document is currently being sampled.protected LinkedList
List of {link TimegraphListener}s to be notified of changes to the timed elements in this document.protected DoublyIndexedSet
A set to determine when propagation of new Instance times should be stopped.protected boolean
Allows the use of accessKey() timing specifiers with a single character, as specified in SVG 1.1.protected boolean
Allows the use of accessKey() timing specifiers with a DOM 3 key name, as specified in SVG 1.2.Fields inherited from class org.apache.batik.anim.timing.TimeContainer
children
Fields inherited from class org.apache.batik.anim.timing.TimedElement
beginDependents, beginInstanceTimes, beginTimes, currentInterval, currentRepeatIteration, durMedia, endDependents, endInstanceTimes, endTimes, FILL_FREEZE, FILL_REMOVE, fillMode, handledEvents, hasParsed, hasPropagated, INDEFINITE, isActive, isFrozen, lastIntervalEnd, lastRepeatTime, lastSampleTime, localizableSupport, max, maxMedia, min, minMedia, parent, previousInterval, repeatCount, repeatDur, repeatDuration, RESOURCES, RESTART_ALWAYS, RESTART_NEVER, RESTART_WHEN_NOT_ACTIVE, restartMode, root, shouldUpdateCurrentInterval, simpleDur, UNRESOLVED
Fields inherited from interface org.apache.batik.util.SMILConstants
SMIL_ACCUMULATE_ATTRIBUTE, SMIL_ADDITIVE_ATTRIBUTE, SMIL_ALWAYS_VALUE, SMIL_ANIMATE_COLOR_TAG, SMIL_ANIMATE_MOTION_TAG, SMIL_ANIMATE_TAG, SMIL_ATTRIBUTE_NAME_ATTRIBUTE, SMIL_ATTRIBUTE_TYPE_ATTRIBUTE, SMIL_AUTO_VALUE, SMIL_BEGIN_ATTRIBUTE, SMIL_BEGIN_DEFAULT_VALUE, SMIL_BEGIN_EVENT_NAME, SMIL_BY_ATTRIBUTE, SMIL_CALC_MODE_ATTRIBUTE, SMIL_CSS_VALUE, SMIL_DEFAULT_VALUE, SMIL_DISCRETE_VALUE, SMIL_DUR_ATTRIBUTE, SMIL_END_ATTRIBUTE, SMIL_END_EVENT_NAME, SMIL_FILL_ATTRIBUTE, SMIL_FREEZE_VALUE, SMIL_FROM_ATTRIBUTE, SMIL_HOLD_VALUE, SMIL_INDEFINITE_VALUE, SMIL_KEY_POINTS_ATTRIBUTE, SMIL_KEY_SPLINES_ATTRIBUTE, SMIL_KEY_TIMES_ATTRIBUTE, SMIL_LINEAR_VALUE, SMIL_MAX_ATTRIBUTE, SMIL_MEDIA_VALUE, SMIL_MIN_ATTRIBUTE, SMIL_NEVER_VALUE, SMIL_NONE_VALUE, SMIL_ORIGIN_ATTRIBUTE, SMIL_PACED_VALUE, SMIL_PATH_ATTRIBUTE, SMIL_REMOVE_VALUE, SMIL_REPEAT_COUNT_ATTRIBUTE, SMIL_REPEAT_DUR_ATTRIBUTE, SMIL_REPEAT_EVENT_ALT_NAME, SMIL_REPEAT_EVENT_NAME, SMIL_REPLACE_VALUE, SMIL_RESTART_ATTRIBUTE, SMIL_SET_TAG, SMIL_SPLINE_VALUE, SMIL_SUM_VALUE, SMIL_TO_ATTRIBUTE, SMIL_VALUES_ATTRIBUTE, SMIL_WHEN_NOT_ACTIVE_VALUE, SMIL_XML_VALUE
-
Constructor Summary
ConstructorsConstructorDescriptionTimedDocumentRoot
(boolean useSVG11AccessKeys, boolean useSVG12AccessKeys) Creates a new TimedDocumentRoot. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds aTimegraphListener
to the document.float
convertEpochTime
(long t) Converts an epoch time to document time.float
convertWallclockTime
(Calendar time) Converts a wallclock time to document time.protected void
Invoked by timed elements in this document to indicate that the current interval will be re-evaluated at the next sample.float
Returns the last sampled document time.float
getDefaultBegin
(TimedElement child) Returns the default begin time for the given child timed element.Returns the wallclock time that the document began.protected abstract String
getEventNamespaceURI
(String eventName) Returns the namespace URI of the event that corresponds to the given animation event name.protected abstract String
getEventType
(String eventName) Returns the type of the event that corresponds to the given animation event name.protected float
Returns the implicit duration of the element.protected abstract String
Returns the name of the repeat event.boolean
Returns whether the document is currently being sampled for a hyperlink.boolean
Returns whether the document is currently being sampled.void
Removes aTimegraphListener
from the document.void
resetDocument
(Calendar documentBeginTime) Resets the entire timegraph.float
seekTo
(float time, boolean hyperlinking) Samples the entire timegraph at the given time.Methods inherited from class org.apache.batik.anim.timing.TimeContainer
addChild, getChildren, isConstantAnimation, removeChild, reset, sampleAt, sampleChildren, setRoot
Methods inherited from class org.apache.batik.anim.timing.TimedElement
addDependent, addInstanceTime, beginElement, beginElement, canBegin, canEnd, computeInterval, createException, deinitialize, endElement, endElement, endHasEventConditions, fireTimeEvent, fireTimeEvent, formatMessage, getActiveDur, getActiveTime, getAnimationEventTarget, getBeginTimingSpecifiers, getCurrentBeginTime, getElement, getEndTimingSpecifiers, getEventTargetById, getHyperlinkBeginTime, getLastSampleTime, getLocale, getRoot, getRootEventTarget, getSimpleDur, getSimpleTime, getTimedElementById, initialize, instanceTimeChanged, isBefore, isUnresolved, maxTime, minTime, minusTime, multiplyTime, notifyNewInterval, notifyRemoveInterval, parseAttributes, parseBegin, parseClockValue, parseDur, parseEnd, parseFill, parseMax, parseMin, parseRepeatCount, parseRepeatDur, parseRestart, removeDependent, removeFill, removeInstanceTime, sampledAt, sampledLastValue, selectNewInterval, setLocale, toActive, toInactive, toString
-
Field Details
-
documentBeginTime
The wallclock time that the document began. -
useSVG11AccessKeys
protected boolean useSVG11AccessKeysAllows the use of accessKey() timing specifiers with a single character, as specified in SVG 1.1. -
useSVG12AccessKeys
protected boolean useSVG12AccessKeysAllows the use of accessKey() timing specifiers with a DOM 3 key name, as specified in SVG 1.2. -
propagationFlags
A set to determine when propagation of new Instance times should be stopped. -
listeners
List of {link TimegraphListener}s to be notified of changes to the timed elements in this document. -
isSampling
protected boolean isSamplingWhether the document is currently being sampled. -
isHyperlinking
protected boolean isHyperlinkingWhether the document is currently being sampled for a hyperlink.
-
-
Constructor Details
-
TimedDocumentRoot
public TimedDocumentRoot(boolean useSVG11AccessKeys, boolean useSVG12AccessKeys) Creates a new TimedDocumentRoot.- Parameters:
useSVG11AccessKeys
- allows the use of accessKey() timing specifiers with a single characteruseSVG12AccessKeys
- allows the use of accessKey() with a DOM 3 key name
-
-
Method Details
-
getImplicitDur
protected float getImplicitDur()Returns the implicit duration of the element. The document root has anTimedElement.INDEFINITE
implicit duration.- Overrides:
getImplicitDur
in classTimedElement
-
getDefaultBegin
Returns the default begin time for the given child timed element. In SVG, this is always 0, since the only time container is the root SVG element, which acts like a 'par'.- Specified by:
getDefaultBegin
in classTimeContainer
-
getCurrentTime
public float getCurrentTime()Returns the last sampled document time. -
isSampling
public boolean isSampling()Returns whether the document is currently being sampled. -
isHyperlinking
public boolean isHyperlinking()Returns whether the document is currently being sampled for a hyperlink. -
seekTo
public float seekTo(float time, boolean hyperlinking) Samples the entire timegraph at the given time. -
resetDocument
Resets the entire timegraph. -
getDocumentBeginTime
Returns the wallclock time that the document began. -
convertEpochTime
public float convertEpochTime(long t) Converts an epoch time to document time. -
convertWallclockTime
Converts a wallclock time to document time. -
addTimegraphListener
Adds aTimegraphListener
to the document. -
removeTimegraphListener
Removes aTimegraphListener
from the document. -
currentIntervalWillUpdate
protected void currentIntervalWillUpdate()Invoked by timed elements in this document to indicate that the current interval will be re-evaluated at the next sample. This should be overridden in a concrete class so that ticks can be scheduled immediately if they are currently paused due to no animations being active. -
getEventNamespaceURI
Returns the namespace URI of the event that corresponds to the given animation event name. -
getEventType
Returns the type of the event that corresponds to the given animation event name. -
getRepeatEventName
Returns the name of the repeat event.- Returns:
- either "repeat" or "repeatEvent"
-