This is ConnectBrowserCell.m in view mode; [Download] [Up]
#import "ConnectBrowserCell.h"
@implementation ConnectBrowserCell
- initTextCell:(const char *)aString
{
if ([super initTextCell:aString] == nil)
return nil;
branchImage = nil;
branchImageH = nil;
return self;
}
- setBranchImage:image
{
branchImage = image;
return self;
}
- setBranchImageH:image
{
branchImageH = image;
return self;
}
- branchImage
{
return branchImage;
}
- branchImageH
{
return branchImageH;
}
- drawInside:(const NXRect *)cellFrame inView:aView
{
[super drawInside:cellFrame inView:aView];
[self drawImage:cellFrame inView:aView usingImage:
(branchImageH!=nil && [self state]) ? branchImageH:branchImage];
return self;
}
- drawSelf:(const NXRect *)cellFrame inView:aView
{
[self drawInside:cellFrame inView:aView];
return self;
}
- highlight:(const NXRect *)cellFrame inView:aView lit:(BOOL)lit
{
[super highlight:cellFrame inView:aView lit:lit];
if (lit)
[self drawImage:cellFrame inView:aView usingImage:
(branchImageH==nil)?branchImage:branchImageH];
return self;
}
- drawImage:(const NXRect *)cellFrame inView:aView usingImage:image
{
NXRect bounds;
NXPoint point;
if (image != nil)
{
point.x = point.y = 0;
[image getSize:&bounds.size];
if (bounds.size.height > cellFrame->size.height)
bounds.size.height = cellFrame->size.height;
point.y = cellFrame->origin.y + cellFrame->size.height -
(cellFrame->size.height-bounds.size.height)/2;
if (bounds.size.width > cellFrame->size.width)
{
bounds.size.width = cellFrame->size.width;
point.x = 0;
}
else
{
point.x = cellFrame->size.width-bounds.size.width;
if (bounds.size.width < 20)
point.x -= (20-bounds.size.width)/2;
}
// [image composite:NX_COPY fromRect:&bounds toPoint:&point];
[image composite:NX_COPY toPoint:&point];
}
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.