This is EyeApp.m in view mode; [Download] [Up]
/* Generated by Interface Builder */
#import "EyeApp.h"
#import "EyeView.h"
#import <appkit/Window.h>
#import <dpsclient/dpsclient.h>
#define BORDER 3
#define TIME 0.02
extern void startTimer(DPSTimedEntry, double, id), notifyTimer(DPSTimedEntry, double, id);
@implementation EyeApp
- run
{
timedEntry = DPSAddTimedEntry(1.0L, (DPSTimedEntryProc) &startTimer, self, NX_BASETHRESHOLD);
return [super run];
}
- initializeIcon:icon
{
NXRect cRect, fRect;
id view;
DPSRemoveTimedEntry(timedEntry);
[icon getFrame:&fRect];
[Window getContentRect:&cRect forFrameRect:&fRect style:[icon style]];
cRect.origin.x = BORDER;
cRect.origin.y = BORDER;
cRect.size.width -= BORDER * 2;
cRect.size.height -= BORDER * 2;
[[icon contentView] addSubview:(view = [EyeView newFrame:&cRect])];
[view init];
[view drawBalls];
timedEntry = DPSAddTimedEntry((double) TIME, (DPSTimedEntryProc) ¬ifyTimer, view, NX_BASETHRESHOLD);
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.