home *** CD-ROM | disk | FTP | other *** search
- #import "BackApp.h"
- #import <appkit/Window.h>
- #import "Animator.h"
- #import "BounceView.h"
- #import <defaults/defaults.h>
- #import <stdlib.h>
- #import <appkit/Bitmap.h>
- #import <appkit/Control.h>
-
- @implementation BackApp
-
- + new // create the new application, and make us its delegate.
- {
- self = [super new];
- [self setDelegate:self];
- return self;
- }
- - setIconView:anObject // let me know where the view is.
- // Note that the View is in the Speed window,
- // but "hidden" below the bottom. Resize from
- // IB to "find" it. Size makes no difference here.
- // It may not need to be hidden, either, as it
- // is moved right away anyway.
- {
- iconView=anObject;
- return self;
- }
- - setSpeedSlider:anObject // let me know where the slider is.
- {
- speedSlider=anObject;
- return self;
- }
- - appDidInit:sender // set up in the icon, and set the timing.
- {
- NXRect r;
- const char *t;
- // So that clicking in background doesn't
- // activate BackBounce.
- [[iconView window] removeFromEventMask:NX_LMOUSEDOWNMASK];
- // Moves background behind everyone else.
- _NXSetWindowLevel([[iconView window] windowNum], -1);
-
- if( t=NXGetDefaultValue( [NXApp appName], "Speed")) // set the speed.
- [[iconView animator] setTiming:atof( t)];
- [[iconView animator] start:iconView]; // and start the animator.
-
- [speedSlider setDoubleValue:[[iconView animator] timing]]; // fix the slider.
-
- [[iconView window] orderFront:self]; // get us visible.
-
- return self;
- }
- - terminate:sender // store the defaults, and go away.
- {
- char s[ 20];
- sprintf( s, "%f", [[iconView animator] timing]); // write to string,
- NXWriteDefault( [self appName], "Speed", s); // and store it.
- return [super terminate:sender];
- }
- - appPowerOffIn:(int)ms andSave:(int)aFlag // catch Workspace logout.
- {
- return [self terminate:self];
- }
-
- - windowWillResize:sender toSize:(NXSize *)s // Just limits a window's size.
- {
- NXRect r;
- [sender getFrame:&r];
- s->height=r.size.height; // kindly change it back.
- return self;
- }
-
- @end
-