This is Tiff.m in view mode; [Download] [Up]
#import "draw.h"
@implementation Tiff
- replaceWithImage
{
Image *retval = [[Image allocFromZone:[self zone]] initFromStream:newStream];
[retval setBounds:&bounds];
if (!gFlags.selected) [retval deselect];
if (gFlags.locked) [retval lock];
[self free];
return retval;
}
- read:(NXTypedStream *)stream
{
int length;
char *data;
NXImageInfo info;
[super read:stream];
NXReadTypes(stream, "iiiiii", &info.width, &info.height,
&info.bitsPerSample, &info.samplesPerPixel,
&info.planarConfig, &info.photoInterp);
length = info.height * (info.samplesPerPixel) * ((info.bitsPerSample * info.width + 7) / 8);
NX_ZONEMALLOC([self zone], data, char, length+1);
NXReadArray(stream, "c", length, data);
data[length] = '\0';
newStream = NXOpenMemory(NULL, 0, NX_READWRITE);
NXWriteTIFF(newStream, &info, data);
NXSeek(newStream, 0, NX_FROMSTART);
NX_FREE(data);
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.