/*
* @(#)StartEvent.java 1.2 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media;
/**
* <code>StartEvent</code> is a <code>TransitionEvent</code> that indicates that
* a <code>Controller</code> has entered the <i>Started</i> state.
* Entering the <i>Started</i> state implies that
* <code>syncStart</code> has been invoked, providing a new
* <i>media time</i> to <i>time-base time</i> mapping.
* <code>StartEvent</code> provides the <I>time-base time</I>
* and the <I>media-time</I> that <i>Started</i> this <CODE>Controller</CODE>.
*
* @see Controller
* @see ControllerListener
* @version 1.2, 02/08/21
*/
public class StartEvent extends TransitionEvent {
private Time mediaTime, timeBaseTime;
/**
* Construct a new <code>StartEvent</code>.
* The <code>from</code> argument identifies the <code>Controller</code> that
* is generating this event.
* The <code>mediaTime</code> and the <code>tbTime</code> identify the <I>media-time</I> to
* <I>time-base-time</I> mapping that <i>Started</i> the <code>Controller</code>
* @param from The <code>Controller</code> that has <I>Started</I>.
* @param mediaTime The media time when the <code>Controller</code> <I>Started</I>.
* @param tbTime The time-base time when the <code>Controller</code> <I>Started</I>.
*
*/
public StartEvent(Controller from,
int previous, int current, int target,
Time mediaTime, Time tbTime) {
super(from, previous, current, target);
this.mediaTime = mediaTime;
this.timeBaseTime = tbTime;
}
/**
* Get the clock time (<I>media time</I>) when the <code>Controller</code> started.
*
* @return The <code>Controller's</code> <I>media time</I> when it started.
*/
public Time getMediaTime() {
return mediaTime;
}
/**
* Get the time-base time that started the <code>Controller</code>.
* @return The <I>time-base time</I> associated with the <code>Controller</code> when it started.
*/
public Time getTimeBaseTime() {
return timeBaseTime;
}
/**
* Returns the String representation of this event's values.
*/
public String toString() {
return getClass().getName() + "[source=" + eventSrc +
",previous=" + stateName(previousState) +
",current=" + stateName(currentState) +
",target=" + stateName(targetState) +
",mediaTime=" + mediaTime +
",timeBaseTime=" + timeBaseTime +
"]";
}
}
|