This is DialView.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.
* ************************************************************************
*/
/*
* DialView.h
*
* This class, a subclass of view, contains the methods to draw an object in
* several ways: using the PostScript operator rotate, using rotate and
* uappend, calculating the trig on the client side and calculating the
* trig into a large user path. Times are available for comparison
* between methods.
*
*/
#import <appkit/View.h>
#define RADIANS ((2 * 3.1415)/360)
#define CLRVIEW NX_LTGRAY
#define CLRCIRC NX_DKGRAY
#define WIDCIRCBRD 5.0
#define CLRCIRCBRD NX_BLACK
#define CIRCFF 5
#define WID1 0.5
#define CLR1 NX_LTGRAY
#define LEN1 (10.0/11.0)
#define DEG1 1.0
#define WID10 1.5
#define CLR10 NX_LTGRAY
#define LEN10 (6.0/7.0)
#define DEG10 10.0
#define WID45 2.5
#define CLR45 NX_BLACK
#define LEN45 (0.75)
#define DEG45 45.0
#define WID90 3.5
#define CLR90 NX_BLACK
#define LEN90 (0.7)
#define DEG90 90.0
#define MAX_PTS 1500
#define MAX_OPS 750
#define DRAWALL 0xfc /* Draw with all methods */
/*
* The id's are for the buttons and text fields. The pts and ops variables
* are for the arrays to hold the user path points and operators.
*/
@interface DialView:View
{
id matrixDegreeTypes, matrixDisplayTimes;
float maxdim;
float *pts;
char *ops;
NXPoint viewcenter;
union {
struct {
unsigned char rotate:1;
unsigned char uappend:1;
unsigned char trig:1;
unsigned char userpaths:1;
unsigned char server:1;
unsigned char dpsuserpath:1;
unsigned char PADDING:2;
} flags;
unsigned char field;
} drawFlags;
}
+ newFrame:(NXRect *) frm;
- free;
- setMatrixDegreeTypes:anObject;
- setMatrixDisplayTimes:anObject;
- setupUserPaths;
- eraseTimes:sender;
- drawViewOne:sender;
- drawViewAll:sender;
- drawRotate:(int) cell;
- drawRotateUserPaths:(int) cell;
- drawTrig:(int) cell;
- drawTrigUserPaths:(int) cell;
- drawTrigUserPathsServer:(int) cell;
- drawDPSUserPaths:(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.