ftp.nice.ch/Attic/openStep/implementation/gnustep/sources/objcX-0.87.tgz#/objcX-0.87/dpsclient/DrawContext.h

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

/* Generic drawing DrawContext class.

   Copyright (C) 1995 Free Software Foundation, Inc.

   Written by:  Adam Fedor <fedor@boulder.colorado.edu>
   Date: Nov 1995
   
   This file is part of the GNU Objective C User interface library.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.
   
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.
   
   You should have received a copy of the GNU Library General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   */

#ifndef _DrawContext_h_INCLUDE
#define _DrawContext_h_INCLUDE

#include <Foundation/NSObject.h>
#include "dpsclient.h"

#define INVOKE_ERROR(DPSerror, reason) \
  do { \
       [errorDict setObject: reason forKey: @"errorreason"]; \
       [self DPSerror]; \
       return; \
     } while (0)

#define INVOKE_ERROR_VAL(DPSerror, reason, errvalue) \
  do { \
       [errorDict setObject: reason forKey: @"errorreason"]; \
       [self DPSerror]; \
       return errvalue; \
     } while (0)

@class NSMutableDictionary;

@interface DrawContext : NSObject
{
  DPSContextRec dpsctxt;
  NSMutableDictionary *errorDict;
}

+ (void) setContext: (DPSContext)ctxt;
+ (DPSContext) currentContext;

+ defaultContext: (const char *)hostName : (const char *)serverName
	: (DPSTextProc)textProc : (DPSErrorProc)errorProc
	timeout: (int)timeout withZone: (NSZone *)zone;

+ streamContext: (NXStream *)stream 
	programEnc: (DPSProgramEncoding)progEnc
	nameEnc: (DPSNameEncoding)nameEnc
	errorProc: (DPSErrorProc)erorrProc;

- initContext: (const char *)hostName : (const char *)serverName
	: (DPSTextProc)textProc : (DPSErrorProc)errorProc
	timeout: (int)timeout;

- (DPSContext) context;

- (int) contextId;

@end

extern DrawContext *currentContext;

@interface DrawContext (ColorOps)

- (void) DPScolorimage;

- (void) DPScurrentblackgeneration;

- (void) DPScurrentcmykcolor: (float *)c : (float *)m : (float *)y : (float *)k;

- (void) DPScurrentcolorscreen;

- (void) DPScurrentcolortransfer;

- (void) DPScurrentundercolorremoval;

- (void) DPSsetblackgeneration;

- (void) DPSsetcmykcolor: (float)c : (float)m : (float)y : (float)k;

- (void) DPSsetcolorscreen;

- (void) DPSsetcolortransfer;

- (void) DPSsetundercolorremoval;

@end

@interface DrawContext (ControlOps)

- (void) DPSeq;

- (void) DPSexit;

- (void) DPSfalse;

- (void) DPSfor;

- (void) DPSforall;

- (void) DPSge;

- (void) DPSgt;

- (void) DPSif;

- (void) DPSifelse;

- (void) DPSle;

- (void) DPSloop;

- (void) DPSlt;

- (void) DPSne;

- (void) DPSnot;

- (void) DPSor;

- (void) DPSrepeat;

- (void) DPSstop;

- (void) DPSstopped;

- (void) DPStrue;

@end

@interface DrawContext (CtxOps)

- (void) DPScondition;

- (void) DPScurrentcontext: (int *)cid;

- (void) DPScurrentobjectformat: (int *)code;

- (void) DPSdefineusername: (int)i : (const char *)username;

- (void) DPSdefineuserobject;

- (void) DPSdetach;

- (void) DPSexecuserobject: (int)index;

- (void) DPSfork;

- (void) DPSjoin;

- (void) DPSlock;

- (void) DPSmonitor;

- (void) DPSnotify;

- (void) DPSsetobjectformat: (int)code;

- (void) DPSsetvmthreshold: (int)i;

- (void) DPSundefineuserobject: (int)index;

- (void) DPSuserobject;

- (void) DPSwait;

- (void) DPSyield;

@end

@interface DrawContext (DataOps)

- (void) DPSaload;

- (void) DPSanchorsearch: (int *)truth;

- (void) DPSarray: (int)len;

- (void) DPSastore;

- (void) DPSbegin;

- (void) DPSclear;

- (void) DPScleartomark;

- (void) DPScopy: (int)n;

- (void) DPScount: (int *)n;

- (void) DPScounttomark: (int *)n;

- (void) DPScvi;

- (void) DPScvlit;

- (void) DPScvn;

- (void) DPScvr;

- (void) DPScvrs;

- (void) DPScvs;

- (void) DPScvx;

- (void) DPSdef;

- (void) DPSdict: (int)len;

- (void) DPSdictstack;

- (void) DPSdup;

- (void) DPSend;

- (void) DPSexch;

- (void) DPSexecstack;

- (void) DPSexecuteonly;

- (void) DPSget;

- (void) DPSgetinterval;

- (void) DPSindex: (int)i;

- (void) DPSknown: (int *)b;

- (void) DPSlength: (int *)len;

- (void) DPSload;

- (void) DPSmark;

- (void) DPSmatrix;

- (void) DPSmaxlength: (int *)len;

- (void) DPSnoaccess;

- (void) DPSnull;

- (void) DPSpackedarray;

- (void) DPSpop;

- (void) DPSput;

- (void) DPSputinterval;

- (void) DPSrcheck: (int *)b;

- (void) DPSreadonly;

- (void) DPSroll: (int)n : (int)j;

- (void) DPSscheck: (int *)b;

- (void) DPSsearch: (int *)b;

- (void) DPSshareddict;

- (void) DPSstatusdict;

- (void) DPSstore;

- (void) DPSstring: (int)len;

- (void) DPSstringwidth: (const char *)s : (float *)xp : (float *)yp;

- (void) DPSsystemdict;

- (void) DPSuserdict;

- (void) DPSwcheck: (int *)b;

- (void) DPSwhere: (int *)b;

- (void) DPSxcheck: (int *)b;

@end

@interface DrawContext (FontOps)

- (void) DPSFontDirectory;

- (void) DPSISOLatin1Encoding;

- (void) DPSSharedFontDirectory;

- (void) DPSStandardEncoding;

- (void) DPScachestatus: (int *)bsize : (int *)bmax : (int *)msize;

- (void) DPScurrentcacheparams;

- (void) DPScurrentfont;

- (void) DPSdefinefont;

- (void) DPSfindfont: (const char *)name;

- (void) DPSmakefont;

- (void) DPSscalefont: (float)size;

- (void) DPSselectfont: (const char *)name : (float)scale;

- (void) DPSsetcachedevice: (float)wx : (float)wy : (float)llx : (float)lly : (float)urx : (float)ury;

- (void) DPSsetcachelimit: (float)n;

- (void) DPSsetcacheparams;

- (void) DPSsetcharwidth: (float)wx : (float)wy;

- (void) DPSsetfont: (int)f;

- (void) DPSundefinefont: (const char *)name;

@end

@interface DrawContext (GStateOps)

- (void) DPSconcat: (const float *)m;

- (void) DPScurrentdash;

- (void) DPScurrentflat: (float *)flatness;

- (void) DPScurrentgray: (float *)gray;

- (void) DPScurrentgstate: (int)gst;

- (void) DPScurrenthalftone;

- (void) DPScurrenthalftonephase: (float *)x : (float *)y;

- (void) DPScurrenthsbcolor: (float *)h : (float *)s : (float *)b;

- (void) DPScurrentlinecap: (int *)linecap;

- (void) DPScurrentlinejoin: (int *)linejoin;

- (void) DPScurrentlinewidth: (float *)width;

- (void) DPScurrentmatrix;

- (void) DPScurrentmiterlimit: (float *)limit;

- (void) DPScurrentpoint: (float *)x : (float *)y;

- (void) DPScurrentrgbcolor: (float *)r : (float *)g : (float *)b;

- (void) DPScurrentscreen;

- (void) DPScurrentstrokeadjust: (int *)b;

- (void) DPScurrenttransfer;

- (void) DPSdefaultmatrix;

- (void) DPSgrestore;

- (void) DPSgrestoreall;

- (void) DPSgsave;

- (void) DPSgstate;

- (void) DPSinitgraphics;

- (void) DPSinitmatrix;

- (void) DPSrotate: (float)angle;

- (void) DPSscale: (float)x : (float)y;

- (void) DPSsetdash: (const float *)pat : (int)size : (float)offset;

- (void) DPSsetflat: (float)flatness;

- (void) DPSsetgray: (float)gray;

- (void) DPSsetgstate: (int)gst;

- (void) DPSsethalftone;

- (void) DPSsethalftonephase: (float)x : (float)y;

- (void) DPSsethsbcolor: (float)h : (float)s : (float)b;

- (void) DPSsetlinecap: (int)linecap;

- (void) DPSsetlinejoin: (int)linejoin;

- (void) DPSsetlinewidth: (float)width;

- (void) DPSsetmatrix;

- (void) DPSsetmiterlimit: (float)limit;

- (void) DPSsetrgbcolor: (float)r : (float)g : (float)b;

- (void) DPSsetscreen;

- (void) DPSsetstrokeadjust: (int)b;

- (void) DPSsettransfer;

- (void) DPStranslate: (float)x : (float)y;

@end

@interface DrawContext (IOOps)

- (void) DPSequals;

- (void) DPSequalsequals;

- (void) DPSbytesavailable: (int *)n;

- (void) DPSclosefile;

- (void) DPScurrentfile;

- (void) DPSdeletefile: (const char *)filename;

- (void) DPSecho: (int)b;

- (void) DPSfile: (const char *)name : (const char *)access;

- (void) DPSfilenameforall;

- (void) DPSfileposition: (int *)pos;

- (void) DPSflush;

- (void) DPSflushfile;

- (void) DPSprint;

- (void) DPSprintobject: (int)tag;

- (void) DPSpstack;

- (void) DPSread: (int *)b;

- (void) DPSreadhexstring: (int *)b;

- (void) DPSreadline: (int *)b;

- (void) DPSreadstring: (int *)b;

- (void) DPSrenamefile: (const char *)old : (const char *)new;

- (void) DPSresetfile;

- (void) DPSsetfileposition: (int)pos;

- (void) DPSstack;

- (void) DPSstatus: (int *)b;

- (void) DPStoken: (int *)b;

- (void) DPSwrite;

- (void) DPSwritehexstring;

- (void) DPSwriteobject: (int)tag;

- (void) DPSwritestring;

@end

@interface DrawContext (MathOps)

- (void) DPSabs;

- (void) DPSadd;

- (void) DPSand;

- (void) DPSatan;

- (void) DPSbitshift: (int)shift;

- (void) DPSceiling;

- (void) DPScos;

- (void) DPSdiv;

- (void) DPSexp;

- (void) DPSfloor;

- (void) DPSidiv;

- (void) DPSln;

- (void) DPSlog;

- (void) DPSmod;

- (void) DPSmul;

- (void) DPSneg;

- (void) DPSround;

- (void) DPSsin;

- (void) DPSsqrt;

- (void) DPSsub;

- (void) DPStruncate;

- (void) DPSxor;

@end

@interface DrawContext (MatrixOps)

- (void) DPSconcatmatrix;

- (void) DPSdtransform: (float)x1 : (float)y1 : (float *)x2 : (float *)y2;

- (void) DPSidentmatrix;

- (void) DPSidtransform: (float)x1 : (float)y1 : (float *)x2 : (float *)y2;

- (void) DPSinvertmatrix;

- (void) DPSitransform: (float)x1 : (float)y1 : (float *)x2 : (float *)y2;

- (void) DPStransform: (float)x1 : (float)y1 : (float *)x2 : (float *)y2;

@end

@interface DrawContext (MiscOps)

- (void) DPSbanddevice;

- (void) DPSframedevice;

- (void) DPSnulldevice;

- (void) DPSrenderbands;

@end

@interface DrawContext (Opstack)

- (void) DPSgetboolean: (int *)it;

- (void) DPSgetchararray: (int)size : (char *)s;

- (void) DPSgetfloat: (float *)it;

- (void) DPSgetfloatarray: (int)size : (float *)a;

- (void) DPSgetint: (int *)it;

- (void) DPSgetintarray: (int)size : (int *)a;

- (void) DPSgetstring: (char *)s;

- (void) DPSsendboolean: (int)it;

- (void) DPSsendchararray: (const char *)s : (int)size;

- (void) DPSsendfloat: (float)it;

- (void) DPSsendfloatarray: (const float *)a : (int)size;

- (void) DPSsendint: (int)it;

- (void) DPSsendintarray: (const int *)a : (int)size;

- (void) DPSsendstring: (const char *)s;

@end

@interface DrawContext (PaintOps)

- (void) DPSashow: (float)x : (float)y : (const char *)s;

- (void) DPSawidthshow: (float)cx : (float)cy : (int)c : (float)ax : (float)ay : (const char *)s;

- (void) DPScopypage;

- (void) DPSeofill;

- (void) DPSerasepage;

- (void) DPSfill;

- (void) DPSimage;

- (void) DPSimagemask;

- (void) DPSkshow: (const char *)s;

- (void) DPSrectfill: (float)x : (float)y : (float)w : (float)h;

- (void) DPSrectstroke: (float)x : (float)y : (float)w : (float)h;

- (void) DPSshow: (const char *)s;

- (void) DPSshowpage;

- (void) DPSstroke;

- (void) DPSstrokepath;

- (void) DPSueofill: (const char *)nums : (int)n : (const char *)ops : (int)l;

- (void) DPSufill: (const char *)nums : (int)n : (const char *)ops : (int)l;

- (void) DPSustroke: (const char *)nums : (int)n : (const char *)ops : (int)l;

- (void) DPSustrokepath: (const char *)nums : (int)n : (const char *)ops : (int)l;

- (void) DPSwidthshow: (float)x : (float)y : (int)c : (const char *)s;

- (void) DPSxshow: (const char *)s : (const float *)numarray : (int)size;

- (void) DPSxyshow: (const char *)s : (const float *)numarray : (int)size;

- (void) DPSyshow: (const char *)s : (const float *)numarray : (int)size;

@end

@interface DrawContext (PathOps)

- (void) DPSarc: (float)x : (float)y : (float)r : (float)angle1 : (float)angle2;

- (void) DPSarcn: (float)x : (float)y : (float)r : (float)angle1 : (float)angle2;

- (void) DPSarct: (float)x1 : (float)y1 : (float)x2 : (float)y2 : (float)r;

- (void) DPSarcto: (float)x1 : (float)y1 : (float)x2 : (float)y2 : (float)r : (float *)xt1 : (float *)yt1 : (float *)xt2 : (float *)yt2;

- (void) DPScharpath: (const char *)s : (int)b;

- (void) DPSclip;

- (void) DPSclippath;

- (void) DPSclosepath;

- (void) DPScurveto: (float)x1 : (float)y1 : (float)x2 : (float)y2 : (float)x3 : (float)y3;

- (void) DPSeoclip;

- (void) DPSeoviewclip;

- (void) DPSflattenpath;

- (void) DPSinitclip;

- (void) DPSinitviewclip;

- (void) DPSlineto: (float)x : (float)y;

- (void) DPSmoveto: (float)x : (float)y;

- (void) DPSnewpath;

- (void) DPSpathbbox: (float *)llx : (float *)lly : (float *)urx : (float *)ury;

- (void) DPSpathforall;

- (void) DPSrcurveto: (float)x1 : (float)y1 : (float)x2 : (float)y2 : (float)x3 : (float)y3;

- (void) DPSrectclip: (float)x : (float)y : (float)w : (float)h;

- (void) DPSrectviewclip: (float)x : (float)y : (float)w : (float)h;

- (void) DPSreversepath;

- (void) DPSrlineto: (float)x : (float)y;

- (void) DPSrmoveto: (float)x : (float)y;

- (void) DPSsetbbox: (float)llx : (float)lly : (float)urx : (float)ury;

- (void) DPSsetucacheparams;

- (void) DPSuappend: (const char *)nums : (int)n : (const char *)ops : (int)l;

- (void) DPSucache;

- (void) DPSucachestatus;

- (void) DPSupath: (int)b;

- (void) DPSviewclip;

- (void) DPSviewclippath;

@end

@interface DrawContext (SysOps)

- (void) DPSbind;

- (void) DPScountdictstack: (int *)n;

- (void) DPScountexecstack: (int *)n;

- (void) DPScurrentdict;

- (void) DPScurrentpacking: (int *)b;

- (void) DPScurrentshared: (int *)b;

- (void) DPSdeviceinfo;

- (void) DPSerrordict;

- (void) DPSexec;

- (void) DPSprompt;

- (void) DPSquit;

- (void) DPSrand;

- (void) DPSrealtime: (int *)i;

- (void) DPSrestore;

- (void) DPSrrand;

- (void) DPSrun: (const char *)filename;

- (void) DPSsave;

- (void) DPSsetpacking: (int)b;

- (void) DPSsetshared: (int)b;

- (void) DPSsrand;

- (void) DPSstart;

- (void) DPStype;

- (void) DPSundef: (const char *)name;

- (void) DPSusertime: (int *)milliseconds;

- (void) DPSversion: (int)bufsize : (char *)buf;

- (void) DPSvmreclaim: (int)code;

- (void) DPSvmstatus: (int *)level : (int *)used : (int *)maximum;

@end

@interface DrawContext (WinOps)

- (void) DPSineofill: (float)x : (float)y : (int *)b;

- (void) DPSinfill: (float)x : (float)y : (int *)b;

- (void) DPSinstroke: (float)x : (float)y : (int *)b;

- (void) DPSinueofill: (float)x : (float)y : (const char *)nums : (int)n : (const char *)ops : (int)l : (int *)b;

- (void) DPSinufill: (float)x : (float)y : (const char *)nums : (int)n : (const char *)ops : (int)l : (int *)b;

- (void) DPSinustroke: (float)x : (float)y : (const char *)nums : (int)n  : (const char *)ops : (int)l : (int *)b;

- (void) DPSwtranslation: (float *)x : (float *)y;

@end

@interface DrawContext (L2Ops)

- (void) DPSleftbracket;

- (void) DPSrightbracket;

- (void) DPSleftleft;

- (void) DPSrightright;

- (void) DPScshow: (const char *)s;

- (void) DPScurrentcolor;

- (void) DPScurrentcolorrendering;

- (void) DPScurrentcolorspace;

- (void) DPScurrentdevparams: (const char *)dev;

- (void) DPScurrentglobal: (int *)b;

- (void) DPScurrentoverprint: (int *)b;

- (void) DPScurrentpagedevice;

- (void) DPScurrentsystemparams;

- (void) DPScurrentuserparams;

- (void) DPSdefineresource: (const char *)category;

- (void) DPSexecform;

- (void) DPSfilter;

- (void) DPSfindencoding: (const char *)key;

- (void) DPSfindresource: (const char *)key : (const char *)category;

- (void) DPSgcheck: (int *)b;

- (void) DPSglobaldict;

- (void) DPSGlobalFontDirectory;

- (void) DPSglyphshow: (const char *)name;

- (void) DPSlanguagelevel: (int *)n;

- (void) DPSmakepattern;

- (void) DPSproduct;

- (void) DPSresourceforall: (const char *)category;

- (void) DPSresourcestatus: (const char *)key : (const char *)category : (int *)b;

- (void) DPSrevision: (int *)n;

- (void) DPSrootfont;

- (void) DPSserialnumber: (int *)n;

- (void) DPSsetcolor;

- (void) DPSsetcolorrendering;

- (void) DPSsetcolorspace;

- (void) DPSsetdevparams;

- (void) DPSsetglobal: (int)b;

- (void) DPSsetoverprint: (int)b;

- (void) DPSsetpagedevice;

- (void) DPSsetpattern: (int)patternDict;

- (void) DPSsetsystemparams;

- (void) DPSsetuserparams;

- (void) DPSstartjob: (int)b : (const char *)password;

- (void) DPSundefineresource: (const char *)key : (const char *)category;

@end

/* The "Errors" category is not part of the DPS interface, it is for the
   private use of DrawContexts to provide error handling */
@interface DrawContext (Errors)

- (void) DPSconfigurationerror;

- (void) DPSinvalidaccess;

- (void) DPSinvalidcontext;

- (void) DPSinvalidexit;

- (void) DPSinvalidfileaccess;

- (void) DPSinvalidfont;

- (void) DPSinvalidid;

- (void) DPSinvalidrestore;

- (void) DPSinvalidparam;

- (void) DPSioerror;

- (void) DPSlimitcheck;

- (void) DPSnocurrentpoint;

- (void) DPSnulloutput;

- (void) DPSrangecheck;

- (void) DPSstackoverflow;

- (void) DPSstackunderflow;

- (void) DPStypecheck;

- (void) DPSundefined;

- (void) DPSundefinedfilename;

- (void) DPSundefinedresource;

- (void) DPSundefinedresult;

- (void) DPSunmatchedmark;

- (void) DPSunregistered;

- (void) DPSVMerror;

@end

#endif /* _DrawContext_h_INCLUDE */

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