ftp.nice.ch/pub/next/games/strategic/TileSlide.s.tar.gz#/TileSlide/TileControl.h

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

	// TileSlide v1.0
	// By Kevin Brain (ksbrain@zeus.UWaterloo.ca)
	//  with SoundGenerator class by Ali Ozer 
	// Released to the public domain September, 1991

#import <objc/Object.h>
#import <dpsclient/dpsNeXT.h>	//DPSTimedEntry
#import <appkit/NXImage.h>

#define MAXSIZEX 5
#define MAXSIZEY 5
#define ROW 1
#define COL 2
#define NUMOFCHALLENGES 4
#define MAXMOVES 999
#define RANDOMFLAG 1000
#define INFOTIMERPERIOD 0.3
#define NUMBERMINWIDTH 155
#define NUMBERMINHEIGHT 110
#define IMAGEMINWIDTH 155
#define IMAGEMINHEIGHT 50
#define IMAGEMAXWIDTH 1030
#define IMAGEMAXHEIGHT 725
#define TYPENONE 0
#define TYPETIFF 1
#define TYPEEPS 2


@interface TileControl:Object

{
	id	infoPanelOut;
	id	slideWindowOut;
	id	bestsPanelOut;
	id	bestsMatrixOut;
	id	tileSlideCV;
	id	infoPanelCV;
	id	tileBox;
	id	tile[MAXSIZEX * MAXSIZEY];
	id	clearBox;
    id	movesOut;
	id	myFontManager;
	id	soundSwitch;
	id	usePicturesSwitch;
	id	useNumbersSwitch;
	id	stripe1;
	id	stripe1Blanker;
	id	stripe2;
	id	stripe2Blanker;
    id	listener;	/* the icon-dragging listener */
	id	soundGenerator;
	id	picture;
    id	myOpenPanel;

	NXSize	windowSize;	
	int	sizex,sizey;
	int	bottomMargin, topMargin;
	int	leftMargin, rightMargin;
	int	interTileDistance;
	int	buttonBorderWidth;
	int	NumTilesX, NumTilesY;
	int	rowOfSpace,colOfSpace;
	int movementSteps,currentStep;		// for sliding animation
	int slideRowOrCol,fromRow,fromCol,howManyToMove;
	int numberOfMoves;
	int	mixPattern;
	int stripe1Positiony,stripe2Positiony;
	int stripe1Positionx,stripe2Positionx;
    int	filePathLength;
	int files;
	int stripe1Movement,stripe2Movement;
	int pictureType;
	int	bests[3][NUMOFCHALLENGES];
    char	*filePath;
	
	BOOL sliding;					// flag: are we sliding?
	BOOL solved;					// flag: in the 'solved' state?
	BOOL usePictures;				// flag: display pictures on tiles?
	BOOL useNumbers;				// flag: display numbers on tiles?
	BOOL pictureLoaded;				// flag: NXImage loaded with picture
	double slidePeriod;
	
    NXZone *zone;
    DPSTimedEntry slideTimer;
    DPSTimedEntry infoTimer;
	struct _tileInfo{
		int tileNumber;
		id invisibleID;
		NXCoord xPosition;
		NXCoord yPosition;
		} tileInPosition[MAXSIZEY][MAXSIZEX];
}

- appDidInit:sender;
- appDidHide:app;
- appDidUnhide:app;
- init;
- free;
- openInfoPanel:sender;
- windowWillClose:sender;
- windowDidMove:sender;
- (void)changeInfoPanel;
- infoPanelNotes:sender;
- openBackground:sender;
- togglePictures:sender;
- toggleNumbers:sender;
- sizeSlideBoard;
- slideTile:sender;
- (void) slideABit;
- playFinishMusic;
- selectSize:sender;
- shuffle:(int)pattern;
- challengeMix:sender;
- randomMix:sender;
- (int)iconEntered:(int)windowNum at:(double)x :(double)y
    iconWindow:(int)iconWindowNum iconX:(double)iconX iconY:(double)iconY
    iconWidth:(double)iconWidth iconHeight:(double)iconHeight
    pathList:(char *)pathList;
- (int)iconReleasedAt:(double)x :(double)y ok:(int *)flag;
- (BOOL)initAndCheckPicture:(char *)pictureName;
- windowWillResize:sender toSize:(NXSize *)frameSize;
- windowDidResize:sender;

@end

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