globals - Unidraw global constants, types, instances, and
functions.
#include <Unidraw/globals.h>
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.
- 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.
- 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.
CSolver(3U), Catalog(3U), Graphic(3U), GraphicView(3U), Pin(3U),
Resource(3I), Unidraw(3U), InterViews(3I), pspaint(3U)