This is ScoreBoardBackground.m in view mode; [Download] [Up]
// ScoreBoardBackground.m
// Project: Cribbage
// Stephan Wacker
// 93-10-13
#import "ScoreBoardBackground.h"
@implementation ScoreBoardBackground
- makeImage: (BOOL) fromScratch
{
NXRect rect;
if( fromScratch ) {
[image free];
image = nil;
}
if( !icon ) return nil;
[icon getSize: &rect.size];
rect.origin.x = rect.origin.y = 0;
if( !image ) {
image = [[NXImage alloc] initSize: &rect.size];
[image useCacheWithDepth: NX_TwelveBitRGBDepth];
}
[image lockFocus];
[icon composite: NX_COPY toPoint: &rect.origin];
[decoration composite: NX_SOVER toPoint: &rect.origin];
[image unlockFocus];
return self;
}
- setIcon: (const char *) iconName
{
id newIcon = [NXImage findImageNamed: iconName];
if( newIcon ) {
icon = newIcon;
[self makeImage: YES];
[self displayFromOpaqueAncestor: &bounds : 1 : YES];
}
return self;
}
- setDecoration: (const char *) decorationName
{
id newDecoration = [NXImage findImageNamed: decorationName];
if( newDecoration ) {
decoration = newDecoration;
[self makeImage: NO];
[self displayFromOpaqueAncestor: &bounds : 1 : YES];
}
return self;
}
- initFrame: (const NXRect *) frameRect
{
[super initFrame: frameRect];
[self setOpaque: NO];
icon = [NXImage findImageNamed: "board"];
decoration = [NXImage findImageNamed: "boardDecoration"];
[self makeImage: YES];
return self;
}
- drawSelf: (const NXRect *) rects : (int) nRect
{
if( nRect == 3 ) {
[self drawSelf: rects+1 : 1];
[self drawSelf: rects+2 : 1];
} else {
[image composite: NX_SOVER fromRect: rects toPoint: &rects->origin];
}
return self;
}
@end // ScoreBoardBackground
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.