This is Indicator.m in view mode; [Download] [Up]
#import "Indicator.h"
#import <dpsclient/wraps.h>
#import <appkit/Application.h>
@implementation Indicator
- initFrame:(NXRect *)frameRect
{
[super initFrame:frameRect];
on=NO;
return self;
}
- drawSelf:(NXRect *)rects :(int)count
{
if (on)
PSsetrgbcolor(1,0,0);
else
PSsetgray(NX_WHITE);
NXRectFill(&bounds);
PSsetgray(NX_BLACK);
NXFrameRect(&bounds);
return self;
}
- flash
{
void endLight ();
on=YES;
[self display];
if (timer) DPSRemoveTimedEntry(timer);
timer=DPSAddTimedEntry(.2,&endLight,self,NX_BASETHRESHOLD);
return self;
}
- turnOff
{
on=NO;
[self display];
return self;
}
void endLight (DPSTimedEntry timedEntry, double timeNow, void *data)
{
[(id)data turnOff];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.