Provided by: ivtools-dev_1.2.11a1-11_amd64 bug

NAME

       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
              manipulation.  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
              Enumerates the three possible transmission methods for connectors: In, Out, or InOut.

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

INSTANCES

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

       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
              position 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 character (nextBeg).

       extern void GetAlignmentPoint(
           Graphic*, Alignment, float&, float&
       )
              Return  the  point  (in floating point canvas coordinates) 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,  creating  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)