Provided by: ivtools-dev_2.0.11d.a1-1build4_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)