globals  - Unidraw global constants, types, instances, and
       functions.


SYNOPSIS

       #include <Unidraw/globals.h>


DESCRIPTION

       Several  constants  and  types  are  used  throughout  the
       Unidraw  library.   It also provides global access to one-
       of-a-kind instances such as the unidraw object as well  as
       shared  graphics  resources.   Finally,  there are several
       global functions for common data  manipulations.   All  of
       these are declared one file for inclusion into other files
       where they are needed.


CONSTANTS

       static const int CHARBUFSIZE
              Size of standard character buffer.

       static const int HANDLE_SIZE
              Size of selection handles, in pixels.

       static const char MARK[]
              String that delineates data boundaries in the ASCII
              representation  that  Catalog  generates.  Used for
              error checking.

       static const int PIN_RAD
              The radius of a pin, used in its default  graphical
              representation, in pixels.

       static const int SLOP
              Tolerance  within which a hit on a graphical object
              will be detected, in pixels.


TYPES

       enum DragConstraint
              Enumerates orthogonal ways in which cursor movement
              may be constrained, usually during direct manipula-
              tion.   Possible  values  include   None,   XFixed,
              YFixed, XYEqual, HorizOrVert, or Gravity.

       enum Mobility
              Enumerates the three possible component mobilities:
              Fixed, Floating, or Undef (undefined).

       typedef unsigned Orientation
              Specifies two kinds  of  orientation:  Portrait  or
              Vertical  (synonymous), and Landscape or Horizontal
              (synonymous).

       enum TransMethod

       typedef unsigned long ClassId
              Type  for representing unique class names for cata-
              log-managed objects.


INSTANCES

       extern Unidraw* unidraw
       extern CSolver* csolver
              The global unidraw and csolver objects.  These  and
              all other global instances are initialized automat-
              ically.

       extern PSColor* psblack
       extern PSColor* pswhite
       extern PSPattern* pssolid
       extern PSPattern* psclear
       extern PSPattern* psnonepat
       extern PSBrush* pssingle
       extern PSBrush* psnonebr
       extern PSFont* psstdfont
              Predefined graphics  resource  objects.   The  None
              operation on psnonepat and psnonebr returns true.

       extern Graphic* stdgraphic
              A  FullGraphic instance with its graphics state set
              to  the  global  values  listed  above,   excluding
              psnonepat and psnonebr.


FUNCTIONS

       extern void NormalRect(Coord& l, Coord& b, Coord& r,
              Coord& t)
              Given two coordinate pairs (l, b) and  (r,  t),  it
              checks  whether  l < r and b < t.  If not, it swaps
              the values in  the  offending  inequalities.   This
              function is useful for ensuring that a rectangle is
              defined by its lower-left and upper-right vertices.

       extern void GetLine(
           const char* buf, int len, int beg, int& end,
           int& size, int& nextBeg
       )
              This  function  is  convenient for extracting lines
              from a buffer with a  minimum  of  additional  math
              operations.  Given  a  buffer  of characters buf of
              length len, search for the first newline  character
              (or  the  last  character  in the buffer) after the
              character at index beg; return the newline's  posi-
              tion in end, the size of the run of text terminated
              by a newline (end + 1 - beg), and  the  index  with
              which  to begin a search for the next newline char-
              acter (nextBeg).

           Graphic*, Alignment, float&, float&
       )
              Return the point (in floating point canvas  coordi-
              nates)  on  a  graphic  corresponding  to the given
              alignment.  For example, to obtain the  coordinates
              of  the  lower-left of a rectangle graphic, specify
              the graphic and a BottomLeft alignment.

       extern void Ref(Resource*)
              Call the Reference operation on the given  instance
              of a resource subclass if the pointer is non-nil.

       extern char* strnew(const char*)
              Duplicate  the given null-terminated string, creat-
              ing a buffer of the appropriate size and  returning
              the null-terminated result.


SEE ALSO

       CSolver(3U),  Catalog(3U),  Graphic(3U),  GraphicView(3U),
       Pin(3U),   Resource(3I),   Unidraw(3U),    InterViews(3I),
       pspaint(3U)
































Man(1) output converted with man2html