234 lines
9.1 KiB
C
234 lines
9.1 KiB
C
/*
|
|
* dpsNXargs.h -- constant values for XDPSNXSetClientArg()
|
|
*
|
|
* (c) Copyright 1993-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 DPSNXARGS_H
|
|
#define DPSNXARGS_H
|
|
|
|
/* XDPSNXSetClientArg arg values */
|
|
|
|
#define XDPSNX_AGENT 0 /* val := (char *), default := NULL
|
|
* val is a string in the form:
|
|
* transport/host:[:]port
|
|
* specifying the agent to establish a
|
|
* connection with.
|
|
*/
|
|
#define XDPSNX_EXEC_FILE 1 /* val := (char *), default := (see docs)
|
|
* val is a string giving the name of the
|
|
* agent executable to launch if
|
|
* XDPSNX_AUTO_LAUNCH is set to true. The
|
|
* caller may explicity give the full path to
|
|
* the agent in val or just the name - which
|
|
* will cause the user's search path to
|
|
* searched for the named program file.
|
|
*/
|
|
#define XDPSNX_EXEC_ARGS 2 /* val := (char **), default := NULL
|
|
* val is expected to be a pointer to an array
|
|
* of pointers to the arguments to be given to
|
|
* the program specified by
|
|
* XDPSNX_EXEC_FILE.
|
|
* Last array member must be (char *) NULL.
|
|
*/
|
|
#define XDPSNX_AUTO_LAUNCH 3 /* val := Bool, default := False
|
|
* val specifies if library cannot find a
|
|
* suitable agent to connect to then it should
|
|
* try to start the one defined by
|
|
* XDPSNX_EXEC_FILE with XDPSNX_EXEC_ARGS as
|
|
* arguments.
|
|
*/
|
|
#define XDPSNX_LAUNCHED_AGENT_TRANS 4
|
|
/* val := int, default := XDPSNX_USE_BEST
|
|
* val specifies the transport a new, auto-
|
|
* launched agent is to use. See values
|
|
* below.
|
|
*/
|
|
#define XDPSNX_LAUNCHED_AGENT_PORT 5
|
|
/* val := int, default := XDPSNX_USE_BEST
|
|
* val specifies the port that a new, auto-
|
|
* launched agent is to use for advertising in
|
|
* the transport protocol specified by
|
|
* XDPSNX_LAUNCHED_AGENT_TRANS. The default
|
|
* port of XDPXNX_USE_BEST specifies that
|
|
* the agent is to use its default
|
|
* "well-known" port.
|
|
*/
|
|
#define XDPSNX_REQUEST_XSYNC 6
|
|
/* val := (Display *), default := NULL
|
|
* val specifies a Display handle whose DPS
|
|
* request handling mode should be changed.
|
|
* When ANY DPS request is called,
|
|
* an unconditional XSync is done on the
|
|
* Display before sending the DPS request.
|
|
* This guarantees that any buffered X requests
|
|
* are processed by the server before the
|
|
* DPS request is sent to the agent.
|
|
* The DPS request itself is flushed to the
|
|
* agent. This mode is primarily useful
|
|
* for debugging.
|
|
*/
|
|
#define XDPSNX_REQUEST_RECONCILE 7
|
|
/* val := (Display *), default := NULL
|
|
* val specifies a Display handle whose DPS
|
|
* request handling mode should be changed.
|
|
* When ANY DPS request is called,
|
|
* the logical equivalent of the routine
|
|
* XDPSReconcileRequests is done on the
|
|
* Display before sending the DPS request.
|
|
* This guarantees that any buffered X requests
|
|
* will be processed by the server before the
|
|
* DPS request is processed by the agent.
|
|
* Connections to the server and agent are
|
|
* flushed. This is the default mode.
|
|
*/
|
|
#define XDPSNX_REQUEST_BUFFER 8
|
|
/* val := (Display *), default := NULL
|
|
* val specifies a display handle whose DPS
|
|
* request handling mode should be changed.
|
|
* When ANY DPS request is called,
|
|
* the DPS request is simply buffered as
|
|
* usual. This is equivalent to what happens
|
|
* when the Client Library drives a DPS/X
|
|
* server extension. This mode should
|
|
* only be used when the app has adequate
|
|
* synchronization through explicit calls
|
|
* to XDPSReconcileRequests.
|
|
*/
|
|
/* DPS NX 2.0 */
|
|
#define XDPSNX_GC_UPDATES_SLOW 9
|
|
/* val := (Display *), default := NULL
|
|
* val specifies a Display handle whose GC
|
|
* update handling mode should be changed.
|
|
* The library automatically tracks changes
|
|
* to the GCs used by the application.
|
|
* When ANY GC is changed by any component
|
|
* of the application (widget, toolkit, etc.),
|
|
* a notification of the change is sent
|
|
* to the agent. This guarantees that
|
|
* the agent tracks all GC changes that
|
|
* it cares about correctly, at the cost
|
|
* of sending unnecessary updates for GC's
|
|
* that the agent doesn't care about.
|
|
* Connections to the server and agent are
|
|
* are both syncronized.
|
|
* This is the default mode.
|
|
*/
|
|
#define XDPSNX_GC_UPDATES_FAST 10
|
|
/* val := (Display *), default := NULL
|
|
* val specifies a Display handle whose GC
|
|
* update handling mode should be changed.
|
|
* No automatic tracking of GC changes is
|
|
* done. The library depends upon the
|
|
* application to do explicit notification
|
|
* of relevant GC changes by using the
|
|
* XDPSFlushGC() function. Setting this
|
|
* mode means that the application commits
|
|
* to all updates, including components
|
|
* linked in (widgets, toolkits), with the
|
|
* benefit of substantial performance
|
|
* enhancement in certain situations. Do
|
|
* not use this mode unless you are sure
|
|
* that all components of your application
|
|
* use XDPSFlushGC() properly, or else
|
|
* inaccurate display renderings will occur.
|
|
* No additional synchronization occurs.
|
|
*/
|
|
#define XDPSNX_SEND_BUF_SIZE 11
|
|
/* val := int, default := XDPSNX_USE_BEST
|
|
* val specifies the size in bytes that
|
|
* the library should use for low-level
|
|
* output buffering on the agent connection.
|
|
* Sizes less than 4096 or greater than
|
|
* 65536 are ignored.
|
|
*/
|
|
|
|
#define XDPSNXLASTARG XDPSNX_SEND_BUF_SIZE
|
|
|
|
/* ---Special Values--- */
|
|
|
|
#define XDPSNX_USE_BEST -1
|
|
|
|
/* ---Transport Values--- */
|
|
|
|
#define XDPSNX_TRANS_UNIX 0
|
|
#define XDPSNX_TRANS_TCP 1
|
|
#define XDPSNX_TRANS_DECNET 2
|
|
|
|
|
|
/* XDPSNXSetAgentArg arg values */
|
|
|
|
#define AGENT_ARG_SMALLFONTS -1
|
|
/* val := (AGENT_SMALLFONTS_*, see below),
|
|
* default := AGENT_SMALLFONTS_ACCURATE.
|
|
* The value of this argument tells the
|
|
* agent whether fonts with small sizes
|
|
* (6-24 points) should be shown with
|
|
* accurate spacing but slowly, or as
|
|
* fast as possible with potentially
|
|
* inaccurate spacing. This argument
|
|
* is a hint: the agent may not be able
|
|
* to satisfy the request for fast showing
|
|
* if matching screen fonts cannot be found.
|
|
*/
|
|
|
|
#define AGENT_ARG_PIXMEM -2
|
|
/* val := (AGENT_PIXMEM_*, see below),
|
|
* default := AGENT_PIXMEM_LIMITED.
|
|
* The value of this argument is a hint
|
|
* to the agent about the availability
|
|
* of pixmap storage on the X server.
|
|
* If there is ample pixmap memory, the
|
|
* agent can use various caching techniques
|
|
* to improve performance. If memory
|
|
* is limited, the agent will minimize its
|
|
* use of pixmaps. This argument is
|
|
* a hint: the agent may not be able to
|
|
* do anything about the specified value.
|
|
*/
|
|
|
|
#define AGENTLASTARG AGENT_ARG_PIXMEM
|
|
|
|
/* ---AGENT_ARG_SMALLFONTS Values--- */
|
|
#define AGENT_SMALLFONTS_ACCURATE 0
|
|
#define AGENT_SMALLFONTS_FAST 1
|
|
|
|
/* ---AGENT_ARG_PIXMEM--- */
|
|
#define AGENT_PIXMEM_LIMITED 0
|
|
#define AGENT_PIXMEM_MODERATE 1
|
|
#define AGENT_PIXMEM_UNLIMITED 2
|
|
|
|
#endif /* DPSNXARGS_H */
|