ftp.nice.ch/pub/next/developer/objc/dps/AdobeExamples.N.bs.tar.gz#/AdobeExamples/NX_Binary/Graphic.h

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

/*
 * (a)  (C) 1990 by Adobe Systems Incorporated. All rights reserved.
 *
 * (b)  If this Sample Code is distributed as part of the Display PostScript
 *	System Software Development Kit from Adobe Systems Incorporated,
 *	then this copy is designated as Development Software and its use is
 *	subject to the terms of the License Agreement attached to such Kit.
 *
 * (c)  If this Sample Code is distributed independently, then the following
 *	terms apply:
 *
 * (d)  This file may be freely copied and redistributed as long as:
 *	1) Parts (a), (d), (e) and (f) continue to be included in the file,
 *	2) If the file has been modified in any way, a notice of such
 *      modification is conspicuously indicated.
 *
 * (e)  PostScript, Display PostScript, and Adobe are registered trademarks of
 *	Adobe Systems Incorporated.
 * 
 * (f) 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 NONINFRINGEMENT
 *	OF THIRD PARTY RIGHTS.
 */

/*
*	Graphic.h
 *
 *	Version:	2.0
 *	Author:	Ken Fromm
 *	History:
 *			03-07-91		Added this comment.
*/

#import "FormatApp.h"
#import "DrawingView.h"
#import <objc/Object.h>
#import <appkit/graphics.h>

#define FILL		0
#define STROKE	1
#define CLIP		2

#define GRAY	0
#define RGB		1
#define HSB		2
#define CMYK	3

typedef struct _GParms {
	unsigned char		path_type;
	unsigned char		color_type;
	float				gray;
	float				red;
	float				green;
	float				blue;
	float				linewidth;
	float				miterlimit;
	unsigned char		linejoin;
	unsigned char		linecap;
} GParms;

@interface Graphic : Object
{
	NXRect 	bounds;			/* the bounds */

	GParms	parms;			/* the graphic state parameters for the object */

	UPath	path;			/* the path */
}

/* Factory methods */
+ new;
- free;

- installGparms:(const GParms *) gParms;
- installUpath:(const UPath *) aUpath andBounds:(const NXRect *) aRect;
- getBounds:(NXRect *)theRect;

- setPathType:(int) value;
- (int)pathType;

- setLineWidth:(float) value;
- (float)lineWidth;
- setLineJoin:(int) value;
- (int)lineJoin;
- setLineCap:(int) value;
- (int)lineCap;
- setMiterLimit:(float) value;
- (float)miterLimit;

- (int) colorType;
- setGray:(float)value;
- (float)gray;
- setRGBColor:(int)r  : (int)g  :(int)b;
- getRGBColor:(int *)r  : (int *)g  :(int *)b;
- setHGBColor:(int)h  :(int)s  :(int)b;
- getHGBColor:(int *)h  :(int *)s  :(int *)b;
- setCMYKColor:(int)c  : (int)m :(int)y  :(int)k;
- getCMYKColor:(int *)c  : (int *)m :(int *)y  :(int *)k;

- drawObject:(NXRect *) r  currentParms:(GParms *) gParms  withFormat:(int) format;

@end

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