This is ImageView.m in view mode; [Download] [Up]
#import "ImageView.h"
@implementation ImageView
- initWithFrame:(NSRect)frameRect
{
[super initWithFrame:frameRect];
_image = nil;
_imageName = nil;
return self;
}
- (void)dealloc
{
if(_image)
[_image release];
if(_imageName)
[_imageName release];
return [super dealloc];
}
- (NSImage *)image
{
return _image;
}
- (NSString *)imageName
{
return _imageName;
}
- (void)setImage:(NSImage *)anImage
{
NSScrollView *sv = [self enclosingScrollView];
if(anImage == _image)
return;
[_image release];
_image = [anImage retain];
if(sv)
[self setFrameSize:[_image size]];
[[self window] display];
}
- (void)setImageName:(NSString *)anImageName
{
if(anImageName == _imageName)
return;
[_imageName release];
_imageName = [anImageName retain];
}
- (void)drawRect:(NSRect)r
{
PSsetgray(NSLightGray);
NSRectFill([self bounds]);
if(_image)
[_image compositeToPoint:NSZeroPoint operation:NSCompositeCopy];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.