This is TeXfigImageView.m in view mode; [Download] [Up]
#import "TeXfigImageView.h" @implementation TeXfigImageView static char textbuffer[1024]="blah I hope this works"; -initFrame:(const NXRect*)r { [super initFrame: r]; // select a font for the text font = [Font newFont: "Times-Bold" size:15 matrix:NX_IDENTITYMATRIX]; imageid = 0; pb = [Pasteboard new]; return self; } - newImage:(id) image { imageid = image; [self display]; return self; } - drawSelf:(const NXRect *)rects :(int)rectCount { NXRect aRect=rects[0]; // if the image is null, then simplay clear // the background, and write something // useful if(imageid==0){ PSgsave(); NXSetColor(NX_COLORWHITE); NXRectFill(rects); PSmoveto(0.0,0.0); [font set]; PSshow("No image to display"); PSgrestore(); } else { // clear what's there NXPoint pt = {0.0, 0.0}; PSgsave(); NXSetColor(NX_COLORWHITE); NXRectFill(rects); [imageid composite:NX_SOVER toPoint:&pt]; PSgrestore(); } return self; } - copy: sender { NXStream *stream; int length, maxlength=10000; char *data; id aList, anImageRep; int i; aList = [imageid representationList]; anImageRep = nil; for(i=0;i<[aList count]; i++) if([[aList objectAt: i] class] == [NXEPSImageRep class]) anImageRep = [aList objectAt: i]; if(anImageRep==nil) return self; [pb declareTypes: &NXPostScriptPboardType num: 1 owner: sender]; [anImageRep getEPS: &data length: &length]; [pb writeType:NXPostScriptPboardType data:data length:length]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.