This is BoinkViewPart.h in view mode; [Download] [Up]
#import <appkit/View.h> #import "Thinker.h" typedef struct { float l,b,r,t; } BRECT; typedef struct { float hue; float pos; } LineInfo; // maximum number number of grid lines #define NVERT 8 #define NHORIZ 10 #define DECREASING 0 #define INCREASING 1 void horizLineWithAvoidance(float x1, float y1, float x2,float y2, float hue,float brightness, const NXRect *r); void verticalLineWithAvoidance(float x1, float y1, float x2,float y2, float hue,float brightness, const NXRect *r); @interface BoinkView:View { float xpos; float xspeed; float ypos; float yspeed; float accel; int ballNum; int spinDir; int rebound; float viewHeight; float viewWidth; BRECT old; NXPoint ballTo; NXPoint redrawTo; NXRect redraw; NXSize oldSize; id buffer; id balls; int nvert, nhoriz; int vcount, hcount; LineInfo vertLines[NVERT]; LineInfo horizLines[NHORIZ]; int toggle; int reboundMode; float lastLaunchSpeed; BStimeval now, then; BStimeval nextRotationTime; BStimeval nextLineDrawTime; } - oneStep; - newSpeed; - initFrame:(const NXRect *)frameRect; - setAccel:(float)val; - sizeTo:(NXCoord)width :(NXCoord)height; - drawSelf:(const NXRect *)rects :(int)rectCount; - newViewSize; - incrementBallNumber; - (float) getRandomXspeed; - (float) timeCorrectedXSpeed; - checkXspeed:(float *)speed; - (const char *)windowTitle; - updateGrid; - drawGrid; - drawLinesInBuffer; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.