[plain text]
//#import <AppKit/AppKit.h>
// own interface
#import "ResponseMeter.h"
// PS
#import <AppKit/NSGraphics.h>
// portability layer
#import "gnuglue.h" // response_time, elapsed_time
@implementation ResponseMeter
- (void)displayFilled
{
NSRect f = [self bounds];
[self lockFocus];
PSgsave();
PSsetgray( NSWhite );
PSrectfill(0.0, 0.0, f.size.width, f.size.height);
PSsetlinewidth( (float)2.0 );
PSsetgray( NSBlack );
PSrectstroke(0.0, 0.0, f.size.width, f.size.height);
PSgrestore();
[[self window] flushWindow];
[self unlockFocus];
return;
}
- (void)drawRect: (NSRect)f
{
int res_time;
PSgsave();
PSsetgray( (float)0.5 );
PSrectfill(0.0, 0.0, f.size.width, f.size.height);
if( res_time = response_time() ) {
float ratio = elapsed_time() / (float)res_time;
PSsetgray( NSWhite );
PSrectfill( (float)0.0, (float)0.0,
(float)( f.size.width * ratio ), f.size.height );
}
PSsetlinewidth( (float)2.0 );
PSsetgray( NSBlack );
PSrectstroke(0.0, 0.0, f.size.width, f.size.height);
PSgrestore();
return;
}
@end
Generated by GNU enscript 1.6.4.