ftp.nice.ch/pub/next/tools/screen/backspace/old/Qix.N.bs.tar.gz#/Qix/QixView.h

This is QixView.h in view mode; [Download] [Up]

#import	<appkit/View.h>
#import	<appkit/graphics.h>

/*
 *	This class implements what I've heard called, Qix lines.
 *
 *	Please send any suggestions for improving or correcting this
 *	screen saver to larry@netcom.com.  Have fun!
 *
 */
 
/**********************************************************************/

typedef	struct	moveable_point	// All values neccessary to keep track
		{						// of a moving points position and direction.

				int	x;				// x coordinate of the point.
				int	y;				// y coordinate of the point.
				
				int	x_dir;			// Points "x" direction, LEFT or RIGHT.
				int	y_dir;			// Points "y" direction, UP or DOWN.
				
				float	x_inc;		// Amount to move point in x's direction.
				float	y_inc;		// Amount to move point in y's direction.
				
				float	orig_inc;	// Used to reset x_inc and y_inc.
		}
		MVPOINT;


typedef	struct	qix_line		// Two moveable points make a moving line.
		{
			MVPOINT	pointA;
			MVPOINT	pointB;
		}
		QIX;

/*********************************************************************/

@interface QixView : View
{
	QIX		head;			// Head Qix values. Drawn in white.
	QIX		tail;			// Tail Qix values. Drawn in black.
	
	int		tailLen;		// Current length of tail.
}

/*********************************************************************/

//--------------------------------------------------------------//
//																//
- setQixPoint : ( MVPOINT * ) qix;								//
//																//
//	Sets a movable points next position.						//
//																//
//--------------------------------------------------------------//

//--------------------------------------------------------------//
//																//
- resetQix : ( QIX * ) qix : ( BOOL ) resetControls;			//
//																//
//	Resets a qix points fields to default values.				//
//																//
//--------------------------------------------------------------//

//--------------------------------------------------------------//
//																//
- initFrame  : ( const NXRect * ) frameRect;					//
//																//
//	Calls resetQix to reset the head and tail qix. 				//
//																//
//--------------------------------------------------------------//

- (const char *) windowTitle;

//--------------------------------------------------------------//
//																//
- drawSelf : ( NXRect * ) r : ( int ) count;					//
//																//
//	Clears its view to a black background and calls resetQix,	//
//	to reset the head and tail qix to their default values.		//
//																//
//--------------------------------------------------------------//

//--------------------------------------------------------------//
//																//
- drawQix : ( QIX ) qix;										//
//																//
//	Draws a line between the two points in a qix structure.		//
//																//
//--------------------------------------------------------------//

//--------------------------------------------------------------//
//																//
- oneStep;														//
//																//
//	This is it the master method.  This method is the control	//
//	center for animating the qix lines.							//
//																//
//--------------------------------------------------------------//

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.