ftp.nice.ch/pub/next/tools/dock/Fiend.1.0.s.tar.gz#/Fiend/BoinkViewPart.h

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.