		DISPLAY POSTSCRIPT CLIENT SOFTWARE
			June 3, 1994

This directory contains the libraries and utilities for writing applications
that use the Display PostScript extension to X.  The contents are

  doc - documentation updates
  include - include files needed for writing DPS/X applications
  clients
    pswrap - a utility to compile PostScript code fragments into C procedures
    makepsres - a utility to create PostScript resource location files
  lib
    dps - the interface library to the Display PostScript extension
    dpstk - a toolkit of useful routines for Display PostScript programmers
    psres - utilities to locate fonts and other PostScript resources
  demos
    dpsexec - interact directly with the PostScript interpreter
    texteroids - sort of like the game asteroids, but with text
    xepsf - display an EPSF file on your screen
  motifdemos
    dpsclock - scalable clock a la Salvador Dali
    draw - simple drawing editor with text, ellipses, and rectangles
    fontview - preview the various fonts available on your system
    scratchpad - graphical editor for manipulating text
    wonderland - show off DPS/X imaging capabilities
  examples - example programs from the "Orange Book"
    hello - "Hello world" in DPS/X
    stroke - show effects of stroke adjustment
    line - show performance effects of different ways of drawing lines
    dial - more options for line drawing
    clock - show effects of double buffering and similar issues
    control - how to draw small objects
    hit - hit detection operators and smooth user interface feedback
    scrolling - issues in scrolling and drawing
    text - issues in text rendering
    import - importing and exporting Encapulated PostScript files
    art - data files for the scrolling and import applications

The software included here is described in the book "Programming the
Display PostScript System with X" by Adobe Systems Incorporated,
Addison-Wesley, 1993, ISBN 0-201-62203-3 (commonly known as the 
"Orange Book").  The doc directory contains documentation of things 
included here that are newer than the Orange Book.

The libraries and demos included here also work with Display PostScript 
NX software, which provides Display PostScript functionality in the absence 
of the extension.

This distribution does not contain the source for the Display PostScript
extension or the Display PostScript NX agent.  The extension and agent
are available for workstations and X terminals from many different vendors.

The libraries in this distribution contain new features not yet included
in the libraries supplied by Display PostScript OEMs.  Many of the demo
programs included here use new features of the libraries and so may not 
work with the vendor-supplied DPS/X libraries.

To obtain a Display PostScript Developer Information packet, please send
your name, company, phone, and address to dps-info@adobe.com.

WHAT'S NEW

This distribution contains many features added since the publication of
the Orange Book:

Level 2 functionality in the client library
  The file doc/TechNoteVol1.ps.Z contains a description of new 
  functionality added to Level 2 implementations of the Display 
  PostScript system and the changes made to libdps.a to support them.

DPS NX support in the client library
  The client library now handles connections to the DPS NX agent, a
  process that provides Display PostScript functionality when the
  extension is not present.  See doc/DPSNXDoc.ps.Z and 
  doc/NXLevel2API.doc for information on DPS NX software.

DPS Scrolling widget
  This is a variant of the Motif ScrolledWindow widget that directly
  supports Display PostScript drawing.  This widget greatly simplifies
  Display PostScript programming, and should be used by any application
  that does its drawing using the Display PostScript system.  The 
  documentation is in doc/DPSScrollW.doc.  This widget has been incorporated
  into the draw demo and into a variant of the Orange Book scrolling
  application.  See examples/scrolling2/README for more information.

Multiple Master support in font panel
  The font selection panel now supports Multiple Master fonts and allows
  users to create new Multiple Master blends.  This is described in
  doc/TechNoteVol1.ps.Z.

Color Picker widget
  This is a new color selection widget that make use of DPS.  It is
  described in doc/ColorPicker.doc.  See the draw demo for an example
  of this widget in used.

R6 Xt extension dispatching
  If you want to use the new extension event dispatching facilities in
  Xt, see doc/R6Intrinsics.doc.

BUILDING THIS PACKAGE

The default configuration of this package builds the clients, non-Motif
libraries, and non-Motif demos.  The following parameters in site.def
control the build process

HasMotif - controls whether to build the widgets and demos that rely
	upon having Motif (also see below)

BuildExamples - controls whether to build the Orange Book example
	applications.  HasMotif must be YES for this parameter to
	have an effect.  Note:  doing a "make install" does not install
	the examples; you need to be in the appropriate directory to
	run the examples, or you can install them somewhere else using 
	the install-examples script in the examples directory.  Since
	the example programs do not do anything particularly useful they
	don't get installed in the normal place.

DebugLibDps - controls whether to build debugging versions of the various
	libraries.
ProfileLibDps - controls whether to build profiled versions of the various
	libraries.
SharedLibDps - controls whether to build shared versions of the various
	libraries.
NormalLibDps - controls whether to build unshared versions of the various
	libraries.  Unlike the previous 3 variables, this defaults to
	YES.

SharedDpsRev - if SharedLibDps is YES, defines the shared library version
	number.

ImageDir - defines where to install the images used by the demo programs.
	Defaults to $(LIBDIR)/images.

DefaultResourcePath - the default library for the Font Selection Box to use
	when searching for downloadable fonts.  Defaults to NULL.

NoStrstr - define this on systems that do not have strstr in libc.  (Some
	early sun3 versions of SunOS.)

If your C compiler does not support function prototyes, you must add
-D_NO_PROTO to the StandardDefines entry for your architecture.

To build the Motif demos, you must define XMLIB to be the Motif library
(normally -lXm).  To build the example applications you must also define
UIL and MRESOURCELIB.  If you have Motif installed in /usr/Motif, the
following definitions should work (EXTRAMOTIFLIB here should be defined
to be any additional libraries needed for Motif, for example -lgen under
Solaris 2.)

#define MotifLibDir /usr/Motif/lib
#define MotifIncDir /usr/Motif/include
#define MotifBinDir /usr/Motif/bin

#ifdef MotifIncDir
   MOTIFINCDIR = MotifIncDir
#define StandardIncludes  -I$(MOTIFINCDIR)
#endif
 
#ifdef MotifLibDir
    MOTIFLIBDIR = MotifLibDir
          XMLIB = -L$(MOTIFLIBDIR) -lXm $(EXTRAMOTIFLIB)
   MRESOURCELIB = -L$(MOTIFLIBDIR) -lMrm
#else
          XMLIB = -lXm $(EXTRAMOTIFLIB)
   MRESOURCELIB = -lMrm
#endif
 
#ifdef MotifBinDir
    MOTIFBINDIR = MotifBinDir
            UIL = $(MOTIFBINDIR)/uil
#else
            UIL = uil
#endif

The files clients/makepsres/makepsres.c and lib/psres/PSres.c need to include
the header file for use with opendir/readdir/closedir.  This is not the same
on all systems; on some it's <dirent.h>, on others <direct.h> and on others
<sys/dir.h>.  If your system does not comply with POSIX (i.e. use <dirent.h>)
you may need to edit these two files.

If you are not using one of the following machine architectures, you may
need to edit the file include/dpsconfig.h to support your configuration:
	mc680x0 series, i80x86 series, IBM R6000, MIPS Rx000 series,
	Sparc, VAX, Alpha, HPPA

The default configuration is for an architecture that uses IEEE floating
point and big-endian byte order.   If your architecture qualifies you
don't need to edit dpsconfig.h; the default will work for you.

This software has been tested on SunOS 4.1, Solaris 5.3, Ultrix 4.2,
DEC Alpha OSF/1 X3.0-7, IRIX 5.2, HP-UX 9.01, and IBM AIX 3.2.

Please send any bug reports on this software to dps-contrib-bugs@adobe.com.

Any updates to this software will appear on the Adobe file server, 
ftp.adobe.com, under the name pub/adobe/Programs/DPS.R6.Update.tar.Z

/*
 * Copyright (C) 1984-1994 by 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
 */

