This is SpiralView.m in view mode; [Download] [Up]
/* File: SpiralView.m - View object for 'PrimeSpiral' * * By: Christopher Lane * Symbolic Systems Resources Group * Knowledge Systems Laboratory * Stanford University * * Date: 26 February 1990 * * Copyright: 1990 by The Leland Stanford Junior University. This program * may be distributed without restriction for non-commercial use. */ #import "SpiralView.h" #import <math.h> #import <appkit/Cell.h> #import <appkit/Cursor.h> #import <dpsclient/psops.h> #import "PrimeGenerator.h" #import "SpiralGenerator.h" #import "SpiralOps.h" @implementation SpiralView - spiral:sender { NXPoint point; PrimeGenerator *prime = [PrimeGenerator new]; SpiralGenerator *spiral = [SpiralGenerator new]; point.x = (float) rint((double) (bounds.size.width / 2.0)); point.y = (float) rint((double) (bounds.size.height / 2.0)); [self lockFocus]; PSclearToGray(NX_LTGRAY); while(point.x > bounds.origin.x || point.y > bounds.origin.y) { [spiral generate:[prime generate] :&point]; PSdrawAt(point.x, point.y); } [self unlockFocus]; [prime free]; [spiral free]; return self; } - setVersion:anObject { [(version = anObject) setStringValue:VERSION]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.