home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula
/
nebula.bin
/
SourceCode
/
Palettes
/
PAScrollViewDeluxePalette
/
PARuler.m
< prev
next >
Wrap
Text File
|
1993-04-28
|
1KB
|
75 lines
#import "PARuler.h"
@implementation PARuler : View
- initFrame:(const NXRect *)rect
{
[super initFrame:rect];
return self;
}
- (int)direction { return direction; }
- setDirection:(int)value { direction = value; return self; }
- (BOOL)isHorizontal { return direction == DIRECTION_HORIZONTAL; }
- setHorizontal { return [self setDirection:DIRECTION_HORIZONTAL]; }
- (BOOL)isVertical { return direction == DIRECTION_VERTICAL; }
- setVertical { return [self setDirection:DIRECTION_VERTICAL]; }
- drawSelf:(const NXRect *)rect :(int)count
{
int i;
NXSetColor(NX_COLORLTGRAY);
NXRectFill(rect);
NXRectClip(rect);
if([self isHorizontal]) {
PSnewpath();
for(i=NX_X(&bounds); i<NX_MAXX(&bounds); i+=20) {
PSmoveto(i, NX_Y(&bounds));
PSlineto(i, NX_MAXY(&bounds)/2);
}
PSgsave();
NXSetColor(NX_COLORDKGRAY);
PSstroke();
PSgrestore();
PStranslate(1,0);
NXSetColor(NX_COLORWHITE);
PSstroke();
}
else {
PSnewpath();
for(i=NX_Y(&bounds); i<NX_MAXY(&bounds); i+=20) {
PSmoveto(NX_X(&bounds), i);
PSlineto(NX_MAXX(&bounds)/2, i);
}
PSgsave();
NXSetColor(NX_COLORDKGRAY);
PSstroke();
PSgrestore();
PStranslate(0,-1);
NXSetColor(NX_COLORWHITE);
PSstroke();
}
return self;
}
- write:(NXTypedStream *)stream
{
[super write:stream];
NXWriteType(stream, "i", &direction);
return self;
}
- read:(NXTypedStream *)stream
{
[super read:stream];
NXReadType(stream, "i", &direction);
return self;
}
@end