This is Animator.h in view mode; [Download] [Up]
/* Not generated by Interface Builder */
/*
* This is an Animator class which is sort of different from the
* Animator found in the Stopwatch program. It is a bit more standalone,
* as I wanted to be able to create objects which only animated if they
* were the target of an Animator, or if they had an Animator as an outlet.
* (The Animator class allows the Animator to be either an outlet, or to
* have a target, and animate in much the same way.) See the accompanying
* documentation for more help (Animator.wn).
*/
#import <objc/Object.h>
#import <appkit/Application.h>
@interface Animator:Object
{
id target; // The thing we are animating.
DPSTimedEntry te; // the timed entry we are using.
BOOL running; // YES if we are running.
float timing; // the current timing we are using.
float threshold; // the threshold we are running at.
SEL action; // message to send to target.
double startTime; // when we started.
double elapsed; // time between current call and the original.
BOOL continuous; // Continuous, or one shot calling.
}
+ new; // create a new Animator.
// These routines allow the user to set up the default values for Animator
// objects. Using these factory methods, a subclass may easily change the
// Animator's actions by calling these methods in an initialize factory
// method.
+ setDefaultTiming:(float)dtiming;
+ setDefaultThreshold:(float)dthreshold;
+ setDefaultAction:(SEL)daction;
+ setDefaultRunning:(BOOL)state;
+ setDefaultContinuous:(BOOL)state;
- free; // free the Animator up.
// These routines set up the animator according to the user's desires.
- setTarget:anObject; // calls setAnimator if anObject implements.
- target;
- setTiming:(float)timing;
-(float)timing;
- setThreshold:(float)threshold;
-(float)threshold;
- setAction:(SEL)aSelector;
-(SEL)action;
- setRunning:(BOOL)state;
-(BOOL)running;
-(double)doubleValue; // return the amount of time since last call.
-(float)floatValue; // return as a float.
-(int)intValue;
- resetValue:(double)value; // reset the start time to value.
- resetValue; // reset start time to now.
-(BOOL)continuous; // return the continuous flag.
- setContinuous:(BOOL)state; // set the continuous flag.
// These both force non-continuous.
- callAfter:(double)sec; // wait and call me then.
- callAt:(double)absSec; // call at this time.
// Time is given in seconds, since midnight. If the
// time given is before the current time, it waits
// until the next day. (ie, wraps around).
// sendAction:to: sends theAction with parameter self to theTarget. If
// theAction is NULL, or theTarget is nil, nothing is sent. sendAction
// sends the animator's action to its target.
- sendAction:(SEL)theAction to:theTarget;
- sendAction;
// These are to be hooked up to various user interface objects, such as
// buttons and sliders.
- start:sender; // start the Animator.
- stop:sender; // stop the Animator.
- toggleRun:sender; // toggle the Animator's state.
- takeTimingFrom:sender; // to hook up a slider.
- takeRunningFrom:sender; // set state by sender.
- takeContinuousFrom:sender; // set continuous by sender.
// These routines are for reading and writing the animator.
- copy;
- awake;
- write:(NXTypedStream *)stream;
- read:(NXTypedStream *)stream;
@end
// This is stuff which the target may wish to implement. The Animator class
// checks to see that the target can run them before calling it.
@interface AnimatorTarget:Object
{
}
- setAnimator:sender;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.