aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/include/DPS/dpsclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/include/DPS/dpsclient.h')
-rw-r--r--nx-X11/include/DPS/dpsclient.h392
1 files changed, 0 insertions, 392 deletions
diff --git a/nx-X11/include/DPS/dpsclient.h b/nx-X11/include/DPS/dpsclient.h
deleted file mode 100644
index 4538a677c..000000000
--- a/nx-X11/include/DPS/dpsclient.h
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * dpsclient.h - Application interface to the Display PostScript Library.
- *
- * (c) Copyright 1988-1994 Adobe Systems Incorporated.
- * All rights reserved.
- *
- * Permission to use, copy, modify, distribute, and sublicense this software
- * and its documentation for any purpose and without fee is hereby granted,
- * provided that the above copyright notices appear in all copies and that
- * both those copyright notices and this permission notice appear in
- * supporting documentation and that the name of Adobe Systems Incorporated
- * not be used in advertising or publicity pertaining to distribution of the
- * software without specific, written prior permission. No trademark license
- * to use the Adobe trademarks is hereby granted. If the Adobe trademark
- * "Display PostScript"(tm) is used to describe this software, its
- * functionality or for any other purpose, such use shall be limited to a
- * statement that this software works in conjunction with the Display
- * PostScript system. Proper trademark attribution to reflect Adobe's
- * ownership of the trademark shall be given whenever any such reference to
- * the Display PostScript system is made.
- *
- * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
- * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
- * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
- * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
- * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
- *
- * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
- * Incorporated which may be registered in certain jurisdictions
- *
- * Author: Adobe Systems Incorporated
- */
-/* $XFree86: xc/include/DPS/dpsclient.h,v 1.3 2000/06/07 22:02:56 tsi Exp $ */
-
-#ifndef DPSCLIENT_H
-#define DPSCLIENT_H
-
-#include <DPS/dpsfriends.h>
-
-/*=== TYPES ===*/
-
-typedef int DPSErrorCode;
-
-/* Standard error codes (type DPSErrorCode)
- * These are intended to be used with dpsexcept.h
- * System-specific extensions can be made. Codes 1000 through 1099 are
- * reserved for use by Adobe.
- */
-
-#define dps_err_ps 1000
-#define dps_err_nameTooLong 1001
-#define dps_err_resultTagCheck 1002
-#define dps_err_resultTypeCheck 1003
-#define dps_err_invalidContext 1004
-#define dps_err_invalidAccess 1005
-
- /* The above definitions specify the error codes passed to a DPSErrorProc:
-
- dps_err_ps identifies standard PostScript language interpreter
- errors. The arg1 argument to the errorProc is the address of the
- binary object sequence sent by the handleerror (or resynchandleerror)
- operator to report the error. The sequence has 1 object, which is an
- array of 4 objects. See the language extensions document for details
- on the contents of this sequence. arg2 is the number of bytes in the
- entire binary object sequence.
-
- dps_err_nameTooLong flags user names that are too long. 128 chars
- is the maximum length for PostScript language names. The name and its
- length are passed as arg1 and arg2 to the error proc.
-
- dps_err_resultTagCheck flags erroneous result tags, most likely
- due to erroneous explicit use of the printobject operator. The
- pointer to the binary object sequence and its length are passed
- as arg1 and arg2 to the error proc. There is one object in the
- sequence.
-
- dps_err_resultTypeCheck flags incompatible result types. A pointer
- to the offending binary object is passed as arg1; arg2 is unused.
-
- dps_err_invalidContext flags an invalid DPSContext argument. An
- attempt to send PostScript language code to a context that has
- terminated is the most likely cause of this error. arg1 to the
- DPSErrorProc is the context id (see the fork operator); arg2 is
- unused.
-
- dps_err_invalidAccess flags an attempt to access a context in
- a way that it does not support. An example is waiting for return
- values on a text context.
- */
-
-typedef void (*DPSTextProc)(
- struct _t_DPSContextRec *ctxt, char *buf,
- long unsigned int count
-);
-
- /* Call-back procedure to handle text from the PostScript interpreter.
- 'buf' contains 'count' bytes of ASCII text. */
-
-typedef void (*DPSErrorProc)(
- struct _t_DPSContextRec *ctxt,
- DPSErrorCode errorCode,
- long unsigned int arg1, long unsigned int arg2
-);
-
- /* Call-back procedure to report errors from the PostScript interpreter.
- The meaning of arg1 and arg2 depend on 'errorCode', as described above.
- See DPSDefaultErrorProc, below.
- */
-
-typedef struct {
- int systemNameIndex;
- char *operatorName;
- char *abbrev;
-} DPSAbbrevRec;
-
- /* Abbreviation table for standard context abbreviations. See
- DPSFetchAbbrevList, below.
- */
-
-typedef enum {dps_context_execution, dps_context_text} DPSContextType;
-
- /* See DPSGetContextType below */
-
-/*=== PROCEDURES ===*/
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-extern void DPSversion(DPSContext ctxt, int bufsize, char buf[]);
-
-extern void DPSDefaultErrorProc(DPSContext ctxt, DPSErrorCode errorCode,
- long unsigned int arg1,
- long unsigned int arg2);
-
- /* A sample DPSErrorProc for handling errors from the PostScript interpreter.
- The meaning of arg1 and arg2 depend on 'errorCode'. See DPSErrorCode,
- above.
-
- DPSDefaultErrorProc formulates a text message and passes it to the
- text backstop proc (see DPSSetTextBackstop).
-
- If errorCode == dps_err_ps AND the application had previously caused
- resyncstart to be executed by ctxt, DPSDefaultErrorProc calls
- RAISE(dps_err_ps, ctxt) after invoking the text backstop proc.
- DPSDefaultErrorProc is the only procedure in the Display PostScript
- library that calls RAISE, and it calls RAISE only in the case outlined
- above.
-
- When DPSDefaultErrorProc is used as a context's errorProc, the exception
- to report dps_err_ps can be raised by any of the procedures in the Display
- PostScript library, even ones invoked to deal with other contexts. Note
- therefore that wraps might raise this exception. Applications that use
- resyncstart must be prepared to handle exceptions.
-
- See DPSResetContext for details on what to do when an exception to
- report dps_err_ps is raised.
-
- See dpsexcept.h for general information on RAISE and exception handling */
-
-extern void DPSSetTextBackstop(DPSTextProc textProc);
-
- /* Call this to establish textProc as the handler for text output from
- DPSDefaultErrorProc or from contexts created by the 'fork' operator but
- not made known to the dps client library. NULL will be passed as the ctxt
- argument to textProc in the latter case. */
-
-extern DPSTextProc DPSGetCurrentTextBackstop(void);
-
- /* Returns the textProc passed most recently to DPSSetTextBackstop, or NULL
- if none */
-
-extern void DPSSetErrorBackstop(DPSErrorProc errorProc);
-
- /* Call this to establish errorProc as the handler for PostScript interpreter
- errors from contexts created by the 'fork' operator but not made
- known to the dps client library. NULL will be passed as the ctxt
- argument to errorProc. */
-
-extern DPSErrorProc DPSGetCurrentErrorBackstop(void);
-
- /* Returns the errorProc passed most recently to DPSSetErrorBackstop, or NULL
- if none */
-
-extern DPSContext DPSGetCurrentContext(void);
-
- /* Get the default context. Used in conjunction with psops.h and with
- wraps that are defined without an explicit DPSContext argument.
- Initially NULL. */
-
-extern void DPSSetContext(DPSContext ctxt);
-
- /* Set the default context. Used in conjunction with psops.h and with
- wraps that are defined without an explicit DPSContext argument. */
-
-extern void DPSWritePostScript(DPSContext ctxt, char *buf,
- unsigned int count);
-
- /* Send as input to 'ctxt' 'count' bytes of PostScript language contained
- in 'buf'. The code may be in either of the 3 encodings for PostScript
- language programs: plain text, encoded tokens, or binary object sequence.
- If the form is encoded tokens or binary object sequence, an entire
- one of these must be sent (perhaps in a series of calls on
- DPSWritePostScript) before PostScript language in a different encoding
- can be sent.
-
- DPSWritePostScript may transform the PostScript language to a different
- encoding, depending on the characteristics established for 'ctxt' when
- it was created. For example, a context created to store its PostScript
- in an ASCII file would convert binary object sequences to ASCII.
-
- If 'ctxt' represents an invalid context, for example because
- the context has terminated in the server, the dps_err_invalidContext
- error will be reported via ctxt's error proc.
-
- If 'ctxt' is incapable of accepting more PostScript language, for example
- because it is backlogged with code that was sent earlier to be executed,
- this will block until transmission of 'count' bytes can be completed. */
-
-extern void DPSPrintf(DPSContext ctxt, char *fmt, ...);
-
- /* Write string 'fmt' to ctxt with the optional arguments converted,
- formatted and logically inserted into the string in a manner
- identical to the C library routine printf.
-
- If 'ctxt' represents an invalid context, for example because
- the context has terminated in the server, the dps_err_invalidContext
- error will be reported via ctxt's error proc.
-
- If 'ctxt' is incapable of accepting more PostScript language, for example
- because it is backlogged with code that was sent earlier to be executed,
- this will block until transmission of the string can be completed. */
-
-extern void DPSWriteData(DPSContext ctxt, char *buf, unsigned int count);
-
- /* Write 'count' bytes of data from 'buf' to 'ctxt'. This will not
- change the data.
-
- If 'ctxt' represents an invalid context, for example because
- the context has terminated in the server, the dps_err_invalidContext
- error will be reported via ctxt's error proc.
-
- If 'ctxt' is incapable of accepting more PostScript language, for example
- because it is backlogged with code that was sent earlier to be executed,
- this will block until transmission of 'count' bytes can be completed. */
-
-extern void DPSFlushContext(DPSContext ctxt);
-
- /* Force any buffered data to be sent to ctxt.
-
- If 'ctxt' represents an invalid context, for example because
- the context has terminated in the server, the dps_err_invalidContext
- error will be reported via ctxt's error proc.
-
- If 'ctxt' is incapable of accepting more PostScript language, for example
- because it is backlogged with code that was sent earlier to be executed,
- this will block until transmission of all buffered bytes can be completed.
- */
-
-extern int DPSChainContext(DPSContext parent, DPSContext child);
-
- /* This links child and all of child's children onto parent's 'chainChild'
- list. The 'chainChild' list threads those contexts that automatically
- receive copies of any PostScript code sent to parent. A context may
- appear on only one such list.
-
- Normally, DPSChainContext returns 0. It returns -1 if child already
- appears on some other context's 'chainChild' list. */
-
-extern void DPSUnchainContext(DPSContext ctxt);
-
- /* This unlinks ctxt from the chain that it is on, if any. It leaves
- ctxt->chainParent == ctxt->chainChild == NULL
- */
-
-extern void DPSResetContext(DPSContext ctxt);
-
- /* This should be called by the application in its HANDLER clauses
- when Exception.Code == dps_err_ps. See the discussion above about
- DPSDefaultErrorProc. Also see the discussion of error handling in
- the client library documentation.
-
- DPSResetContext closes the input stream to the server for the context
- and discards any pending bytes on the output stream from the server for
- the context. It then waits for this output stream to close, then reopens
- both streams. DPSResetContext is designed to work with resyncstart to
- leave the context ready to read and execute more input after handling
- a PostScript error.
-
- If 'ctxt' represents an invalid context, for example because
- the context has terminated in the server, the dps_err_invalidContext
- error will be reported via ctxt's error proc. */
-
-extern void DPSInterruptContext(DPSContext ctxt);
-
- /* Sends a request to the server to interrupt execution of the context.
- This causes a PostScript language 'interrupt' error in the context.
-
- DPSInterruptContext returns immediately after sending the request.
-
- If 'ctxt' represents an invalid context, for example because
- the context has terminated in the server, the dps_err_invalidContext
- error will be reported via ctxt's error proc. */
-
-extern void DPSDestroyContext(DPSContext ctxt);
-
- /* This calls DPSUnchainContext, then (for an interpreter context) sends a
- request to the interpreter to terminate ctxt, then frees the storage
- referenced by ctxt. The termination request is ignored by the
- server if the context is invalid, for example if it has already
- terminated. */
-
-extern void DPSDestroySpace(DPSSpace spc);
-
- /* Calls DPSDestroyContext for each of the contexts in the space, then
- sends a request to the server to terminate the space, then frees the
- storage referenced by spc. */
-
-extern void DPSSetNumStringConversion(DPSContext ctxt, int flag);
-
- /* Sets the numstring conversion flag, which tells the client library
- to convert numstrings to simple arrays */
-
-extern void DPSSetWrapSynchronization(DPSContext ctxt, int flag);
-
- /* Sets the wrap synchronization flag, which makes all wraps synchronize
- with the server */
-
-extern void DPSSuppressBinaryConversion(DPSContext ctxt, int flag);
-
- /* Sets the no binary convert flag, which makes the client library not
- convert binary object sequences and binary tokens into ASCII */
-
-extern void DPSSetAbbrevMode(DPSContext ctxt, int flag);
-
- /* Sets the abbrev mode flag, which controls whether the client library
- uses abbreviated operator names when converting from binary to ascii */
-
-extern void DPSFetchAbbrevList(DPSAbbrevRec **list, int *count);
-
- /* Returns the list of abbreviations used for binary to ascii conversion.
- The returned list is sorted both by systemNameIndex and by operatorName.
- */
-
-extern char *DPSGetSysnameAbbrev(int n);
-
- /* Returns the abbreviation for the operator with system name n, or
- NULL if there is no such abbreviation */
-
-extern char *DPSGetOperatorAbbrev(char *op);
-
- /* Returns the abbreviation for the operator, or NULL if there is no
- such abbreviation */
-
-extern DPSContextType DPSGetContextType(DPSContext ctxt);
-
- /* Returns whether a context is a text context or an execution context */
-
- /* generated functions used in dpstk */
-extern void DPSrectfill(DPSContext ctxt, double x, double y, double w, double h);
-extern void DPSsetcmykcolor(DPSContext ctxt, double c, double m, double y, double k);
-extern void DPSsetgray(DPSContext ctxt, double gray);
-extern void DPSsethsbcolor(DPSContext ctxt, double h, double s, double b);
-extern void DPSsetrgbcolor(DPSContext ctxt, double r, double g, double b);
-extern void DPSsetXoffset(DPSContext ctxt, int x, int y);
-extern void DPSinitviewclip(DPSContext ctxt);
-extern void DPSinitgraphics(DPSContext ctxt);
-extern void DPSscale(DPSContext ctxt, double x, double y);
-extern void DPSinitclip(DPSContext ctxt);
-
-#if defined(__cplusplus) || defined(c_plusplus)
-}
-#endif
-
-#define DPSSetTextProc(ctxt, tp) ((ctxt)->textProc = (tp))
-
- /* Change ctxt's textProc. */
-
-#define DPSSetErrorProc(ctxt, ep) ((ctxt)->errorProc = (ep))
-
- /* Change ctxt's errorProc. */
-
-#define DPSSpaceFromContext(ctxt) ((ctxt)->space)
-
- /* Extract space handle from context. */
-
-#endif /* DPSCLIENT_H */