This is RightSubView.m in view mode; [Download] [Up]
/* * RightSubView.m * * Purpose: * This object simply blasts an image to itself. Knows the name of the * image, too. * * You may freely copy, distribute, and reuse the code in this example. * NeXT disclaims any warranty of any kind, expressed or implied, as to its * fitness for any particular use. * * Written by: Mary McNabb * Created: Apr 91 * */ #import "RightSubView.h" #import <dpsclient/psops.h> #import <appkit/NXImage.h> #import <string.h> @implementation RightSubView - drawSelf:(const NXRect *)r :(int)c { NXPoint position; NXSize animalSize; id image = [NXImage findImageNamed:animalName]; /* figure out the position of the lower left hand corner */ [image getSize:&animalSize]; position.x = bounds.size.width / 2.0 - animalSize.width / 2.0; position.y = bounds.size.height / 2.0 - animalSize.height / 2.0; if (position.x < 0) position.x = bounds.origin.x; if (position.y < 0) position.y = bounds.origin.y; /* draw background first to cover up old image */ PSsetgray(NX_LTGRAY); NXRectFill(r); [image composite:NX_SOVER toPoint:&position]; [image free]; PSsetgray(NX_DKGRAY); NXFrameRect(r); return self; } /* * just remember the name of the picture */ - setAnimalPicture:(char *) path { strcpy(animalName, path); [self display]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.