ftp.nice.ch/peanuts/GeneralData/Documents/adobe/Lines.tar.gz#/DrawView.h

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

/*
 * (C) 1990 by Adobe Systems Incorporated. All rights reserved.
 *
 * This file may be freely copied and redistributed as long as:
 *   1) This entire notice continues to be included in the file, 
 *   2) If the file has been modified in any way, a notice of such
 *      modification is conspicuously indicated.
 *
 * PostScript, Display PostScript, and Adobe are registered trademarks of
 * Adobe Systems Incorporated.
 * 
 * ************************************************************************
 * THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO CHANGE WITHOUT
 * NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ADOBE SYSTEMS
 * INCORPORATED. ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY OR 
 * LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO WARRANTY OF ANY 
 * KIND (EXPRESS, IMPLIED OR STATUTORY) WITH RESPECT TO THIS INFORMATION, 
 * AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, 
 * FITNESS FOR PARTICULAR PURPOSES AND NONINFINGEMENT OF THIRD PARTY RIGHTS.
 * ************************************************************************
 */


/*
 * DrawView.h
 * Created by Ken Anderson, Ken Fromm
 * 
 * The purpose of the application is to show different methods for 
 * drawing paths and the times obtained for each method.  Lines are used 
 * in the construction of the paths but curves and arcs could be used 
 * as well.
 *
 * This file contains the class definition for DrawView, a subclass of View.
 * Instance Variable:
 *    Each index for the arrays below corresponds to one line.  
 *    X[ ], Y[ ] - Initial points, used with moveto. Selected randomly.
 *    X1[ ], Y1[ ] - End points, used with lineto.  Selected randomly.
 *    C[ ], W[ ] - Line color and line width.  Chosen specifically/selected 
 *        randomly.
 *    LineColor, LineWidth - The current line color and line width as 
 *        passed in by the sliders.
 *		
 *    TotalLines - the number of lines that have been made for a draw 
 *        operation.
 *    PSTrace - Boolean value indicating whether to trace the PostScript.
 *    Random - Boolean value indicating whether to select the line color 
 *        and line width at random or to use the current values of the 
 *        slider controls.
 *    matrixDisplayTimes - id to identify to display the display time fields.
 *    enableSliderColor, enableSliderWidth - id's of sliders.
 */
		
#import <appkit/appkit.h>
#import <appkit/View.h>

#define MAXARRAY   1000				/* Maximum size of line arrays */
#define MAXWIDTH	  5				/* Maximum line width */

#define BGCOLOR      0.333				/* Background color */
#define BGSTRCOLOR   0.0				/* Background stroke color */
#define BGSTRWIDTH     2.0				/* Background stroke width */

#define DRAWALL			0xf8			/* Draw with all methods */ 

@interface DrawView : View
{	
	float		X[MAXARRAY], Y[MAXARRAY], X1[MAXARRAY], Y1[MAXARRAY],
			C[MAXARRAY], W[MAXARRAY], LineColor, LineWidth;

	int		TotalLines;
		
	BOOL	PSTrace, Random;
		
	id		matrixDisplayTimes, sliderColor, sliderWidth, fieldTotalLines;

	union {
		struct {
			unsigned char singleops:1;
			unsigned char wraps:1;
			unsigned char bind:1;
			unsigned char repeat:1;
			unsigned char optimized:1;
			unsigned char PADDING:3;
		} 	flags;
		unsigned char		field;
	} drawFlags;
}

+newFrame:(NXRect *) frm;

-free;

-setMatrixDisplayTimes:anObject;
-setSliderColor:anObject;
-setSliderWidth:anObject;
-setFieldTotalLines:anObject;

-selectColorWidth:sender;
-changeLineColor:sender;
-changeLineWidth:sender;
-psTrace:sender;

-eraseTimes:sender;
-makeLines:sender;
-clearLines:sender;

-drawViewOne:sender;
-drawViewAll:sender;

-drawSingleOps:(int) cell;
-drawWraps:(int) cell;
-drawWrapsBind:(int) cell;
-drawWrapsRepeat:(int) cell;
-drawOptimizedStroke:(int) cell;

-drawSelf:(NXRect *)r :(int) count;

@end

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