aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/include/DPS/dpsXclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/include/DPS/dpsXclient.h')
-rw-r--r--nx-X11/include/DPS/dpsXclient.h423
1 files changed, 0 insertions, 423 deletions
diff --git a/nx-X11/include/DPS/dpsXclient.h b/nx-X11/include/DPS/dpsXclient.h
deleted file mode 100644
index afd06f0de..000000000
--- a/nx-X11/include/DPS/dpsXclient.h
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * dpsXclient.h -- XDPS extension interface to the Display Postscript Library.
- *
- * (c) Copyright 1989-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
- */
-
-#ifndef DPSXCLIENT_H
-#define DPSXCLIENT_H
-
-#ifdef VMS
-#include <decw$include/X.h>
-#include <decw$include/Xlib.h>
-#include <decw$include/Xutil.h>
-#else /* VMS */
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#endif /* VMS */
-#include <DPS/XDPS.h>
-#include <DPS/dpsclient.h>
-#include <DPS/dpsNXargs.h>
-
-/* Codes 2000 thru 2099 reserved for XDPS extension error codes */
-
-/* dps_err_invalidAccess was promoted to a general error code; maintain its
- old value for compatibility */
-
-#undef dps_err_invalidAccess
-#define dps_err_invalidAccess 2000
-#define dps_err_encodingCheck 2001
-#define dps_err_closedDisplay 2002
-#define dps_err_deadContext 2003
-#define dps_err_warning 2004
-#define dps_err_fatal 2005
-#define dps_err_recursiveWait 2006
-
- /* The above definitions specify additional error conditions:
-
- dps_err_invalidAccess: signaled when expecting output from a context
- created by another client. Such contexts send their
- output only to the original creator and attempting to
- receive output from them would cause indefinite blocking.
-
- dps_err_encodingCheck: signaled when changing name encoding for a
- context created by another client or a context created
- in a space which was created by another client. Such
- contexts can only accept string name encoding. This
- error is also generated when an attempt is made to change
- name or program encoding to other than acceptable values.
-
- dps_err_closedDisplay: when sending PostScript code to a context
- that has had its 'display' closed.
-
- dps_err_deadContext: signaled when expecting output from a context
- which has died in the server but still has its X resources
- active (a zombie context). Attempting to receive output
- from such a context would cause indefinite blocking.
-
- dps_err_warning: a recoverable error has been found by the Client
- Library. The error proc should display the message
- (text string passed through arg1) and then simply
- return.
-
- dps_err_fatal: a non-recoverable error has been found by the Client
- Library. The error proc should display the message
- (text string passed through arg1), and then call
- abort() or should otherwise exit the application.
- The error proc should not return.
-
- dps_err_recursiveWait: a client has called a wrap that returns
- a value from a status or output handler, and this handler
- was invoked while waiting for the results of another
- value-returning wrap. Such a recursive wait would
- cause indefinite blocking. This error will usually
- cause both wraps to return incorrect values and will
- often trigger further errors.
-
- */
-
-extern long int DPSLastUserObjectIndex;
-
-typedef enum {dps_event_pass_through, dps_event_internal_dispatch,
- dps_event_query} DPSEventDelivery;
-
-/* Event delivery types for XDPSSetEventDelivery */
-
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-extern DPSContext XDPSCreateContext(Display *dpy,
- Drawable drawable,
- GC gc,
- int x,
- int y,
- unsigned int eventmask,
- XStandardColormap *grayramp,
- XStandardColormap *ccube,
- int actual,
- DPSTextProc textProc,
- DPSErrorProc errorProc,
- DPSSpace space);
-
- /* Checks to see if 'dpy' supports the DPS extension. If not, NULL is
- returned. If so, a context associated with 'dpy', 'drawable' and
- 'gc' is created. 'x' and 'y' are offsets from the drawable's origin
- to the PostScript device's origin in X coordinates. 'eventmask' is
- currently ignored. 'grayramp', 'ccube', and 'actual' collectively
- define the colormap that will be associated with the new context.
- 'textProc' is called to dispose of text sent by the context.
- 'errorProc' is called to handle errors reported by the context.
- 'space' determines the execution space of the new context. A null
- space causes a new one to be created. */
-
-extern DPSContext XDPSCreateSimpleContext(Display *dpy,
- Drawable drawable,
- GC gc,
- int x,
- int y,
- DPSTextProc textProc,
- DPSErrorProc errorProc,
- DPSSpace space);
-
- /* Does the same thing as XDPSCreateContext (above) but uses the
- standard colormap information for the new context. */
-
-extern DPSContext DPSCreateTextContext(DPSTextProc textProc,
- DPSErrorProc errorProc);
-
- /* Create a new DPSContext whose PostScript is converted to text and sent
- to 'textProc' (rather than the interpreter). 'errorProc' can
- be used by the implementation of 'textProc' to report any i/o
- errors. */
-
-
-extern DPSContext XDPSCreateSecureContext(Display *dpy,
- Drawable drawable,
- GC gc,
- int x,
- int y,
- unsigned int eventmask,
- XStandardColormap *grayramp,
- XStandardColormap *ccube,
- int actual,
- DPSTextProc textProc,
- DPSErrorProc errorProc,
- DPSSpace space);
-
- /* Identical to XDPSCreateContext, but creates a secure context. */
-
-extern DPSContext DPSContextFromContextID(DPSContext ctxt,
- ContextPSID cid,
- DPSTextProc textProc,
- DPSErrorProc errorProc);
-
- /* Returns a DPSContext that is bound to the PostScript context
- created when the "fork" operator was executed by 'ctxt', resulting
- in the integer value 'cid'.
-
- If a DPSContext has already been created for cid, that DPSContext
- is returned. Otherwise, a new one is created, as follows:
-
- If 'textProc' or 'errorProc' are NULL, the new DPSContext will
- inherit the respective procs from 'ctxt', otherwise the the new
- context gets the 'textProc' and/or 'errorProc' passed in. The new
- DPSContext inherits everything else from 'ctxt', except its
- chaining properties, which are set to NULL.
-
- DPSContextFromContextID will return NULL if it is unable to create
- the context. */
-
-extern DPSContext XDPSFindContext(Display *dpy, ContextPSID cid);
-
- /* Find a known context based on its PostScript id, return its DPSContext. */
-
-
-extern void DPSDefaultTextBackstop(DPSContext ctxt, char *buf,
- long unsigned int count);
-
- /* This is the text backstop proc automatically installed by
- the client library. Since it is a DPSTextProc, you may
- use it as your context textProc. Writes text to stdout
- and flushes stdout. */
-
-extern void DPSChangeEncoding(DPSContext ctxt,
- DPSProgramEncoding newProgEncoding,
- DPSNameEncoding newNameEncoding);
-
- /* Change one or more of the context's 2 encoding parameters.
- If the formats and encodings for the system on which the client
- library is built are different than the formats and encodings
- specified by 'ctxt', DPSWritePostScript (as well as the
- operations BinObjSeqWrite and WriteTypedObjectArray defined
- above, but not WriteData) will convert the bytes of
- code from the former to the latter before sending
- them on to 'ctxt'. */
-
-typedef void (*XDPSStatusProc)(DPSContext ctxt, int code);
-
-extern XDPSStatusProc XDPSRegisterStatusProc(DPSContext ctxt,
- XDPSStatusProc proc);
-
- /* Register a procedure to be called when a XDPSLStatusEvent
- is received by the client. The procedure will be called with two
- parameters: the context it was registered with, and the
- status code derived from the event. The proc may be
- called at any time that the client processes events. Overwrites
- any previously registered routine and returns it. See XDPS.h */
-
-extern int XDPSGetContextStatus(DPSContext ctxt);
-
- /* Returns the status of 'ctxt' as defined in XDPS.h. */
-
-extern long int DPSNewUserObjectIndex(void);
-
- /* Returns a new user object index. The Client Library is
- the sole allocator of new user object indices. User object
- indices are dynamic, and should not be used for computation
- or stored in long term storage, such as a file. */
-
-/* ============================= */
-/* The following items are provided for lower level access to the DPS
- X library extension.
-*/
-
-extern DPSContext XDPSContextFromSharedID(Display *dpy,
- ContextPSID cid,
- DPSTextProc textProc,
- DPSErrorProc errorProc);
-
- /* Create a context record for PostScript "cid" shared by another client. */
-
-extern DPSSpace XDPSSpaceFromSharedID(Display *dpy, SpaceXID sxid);
-
- /* Create a space record for a "sxid" shared by another client. */
-
-extern XID XDPSXIDFromContext(Display **Pdpy, DPSContext ctxt);
-
- /* Get the XID for the given context record. Return its 'dpy' */
-
-extern XID XDPSXIDFromSpace(Display **Pdpy, DPSSpace spc);
-
- /* Get the XID for the given space record. Retunr its 'dpy' */
-
-extern DPSContext XDPSContextFromXID (Display *dpy, XID xid);
-
- /* Get the context record for the given XID on 'dpy'*/
-
-extern DPSSpace XDPSSpaceFromXID (Display *dpy, XID xid);
-
- /* Get the space record for the given XID on 'dpy'*/
-
-extern void XDPSUnfreezeContext(DPSContext ctxt);
-
- /* Notify a context that is in "frozen" mode to continue
- with execution. */
-
-extern void XDPSSetStatusMask(DPSContext ctxt,
- unsigned long enableMask,
- unsigned long disableMask,
- unsigned long nextMask);
-
- /* Set the status reporting mask for the client. The enableMask
- specifies the events the client wants to receive, the
- disableMask specifies the events the client no longer wants
- to receive, and the nextMask specifies the events that
- the client wishes to receive only the next instance of.
- The mask values are specified in XDPS.h */
-
-/* ============================= */
-/* New event dispatching procedures */
-
-extern DPSEventDelivery XDPSSetEventDelivery(Display *dpy,
- DPSEventDelivery newMode);
-
- /* Set or query the event delivery mode */
-
-extern Bool XDPSIsStatusEvent(XEvent *event, DPSContext *ctxt, int *status);
-
- /* Check if an event is a DPS status event; return the context and
- status if so. */
-
-extern Bool XDPSIsOutputEvent(XEvent *event);
-
- /* Check if an event is a DPS output event. */
-
-extern Bool XDPSIsReadyEvent(XEvent *event, DPSContext *ctxt, int *val);
-
- /* Check if an event is a DPS ready event; return the context and
- data if so. */
-
-extern Bool XDPSIsDPSEvent(XEvent *event);
-
- /* Check if an event is a DPS event. */
-
-extern Bool XDPSDispatchEvent(XEvent *event);
-
- /* Check if an event is a DPS event; call the status or output
- handler if so. */
-
-extern void XDPSSyncGCClip(Display *dpy, GC gc);
-
- /* This procedure guarantees that changes made to the GC clip are
- recognized by the DPS contexts associated with them. This is
- particularly important whenever XClipRectangles or XSetRegion is
- used. */
-
-extern void XDPSReconcileRequests(DPSContext ctxt);
-
- /* This procedure guarantees that any X requests sent prior to
- the call are processed before any DPS requests sent after the
- call are processed, without doing a round-trip. */
-
-extern Status XDPSNXSetClientArg(int arg, void *value);
-
- /* Set arguments that alter the behavior of the Client Library
- when using DPS NX. Arguments are detailed in dpsNXargs.h.
- It is assumed that val is of the correct type. Return value
- is Success only if argument is set successfully, or if
- the results are a no-op because DPS NX is not being used. */
-
-extern Status XDPSNXSetAgentArg(Display *dpy, int arg, int value);
-
- /* Set arguments that alter the behavior of a DPS NX agent associated
- with the X server specified by dpy. Arguments are detailed
- in dpsNXargs.h. It is assumed that val is of the correct
- type. Return value is Success only if argument is set
- successfully, or if the results are a no-op because DPS NX
- is not being used. */
-
-/* L2 DPS/PROTO 9 */
-
-extern void XDPSNotifyWhenReady(DPSContext ctxt,
- int i1, int i2, int i3, int i4);
-
- /* Send a ready event with that data */
-
-typedef void (*XDPSReadyProc)(DPSContext ctxt, int data[4]);
-
-extern XDPSReadyProc XDPSRegisterReadyProc(DPSContext ctxt,
- XDPSReadyProc proc);
-
- /* Register a procedure to be called when a XDPSLReadyEvent
- is received by the client. The procedure will be called with two
- parameters: the context it was registered with, and the
- Ready data derived from the event. The proc may be
- called at any time that the client processes events. Overwrites
- any previously registered routine and returns it. See XDPS.h */
-
-extern int XDPSGetProtocolVersion(Display *dpy);
-
- /* Returns the protocol version for that display */
-
-extern Status XDPSCreateStandardColormaps(
- Display *dpy,
- Drawable drawable,
- Visual *visual,
- int reds, int greens, int blues, int grays,
- XStandardColormap *colorCube, XStandardColormap *grayRamp,
- Bool retain);
-
- /* Create a color cube and gray ramp in a colormap, using ICCCM
- properties if present and optionally setting them */
-
-extern void XDPSGetDefaultColorMaps(Display *dpy,
- Screen *screen,
- Drawable drawable,
- XStandardColormap *colorcube,
- XStandardColormap *grayramp);
-
- /* Get the default color maps for the screen, such as they are. If screen
- is NULL, use the drawable to find out which screen. Either colorcube or
- grayramp may be NULL to indicate that you don't want that colormap. */
-
-/* DPS NX 2.0 */
-
-extern void XDPSFlushGC(Display *dpy, GC gc);
-
- /* Update the interpreter's copy of the GC, flushing all changes.
- Whenever the GC associated with a context is changed
- (either the values of the GC are changed, or the entire
- GC is to be changed with setXgcdrawable or setgstate),
- XDPSFlushGC should be called on the changed GC before
- any PostScript language that depends on the change is
- sent to the interpreter. */
-
-#if defined(__cplusplus) || defined(c_plusplus)
-}
-#endif
-
-#endif /* DPSXCLIENT_H */