Xojo Conferences

DynaPDF Manual - Page 737

Previous Page 736   Index   Next Page 738

Function Reference
Page 737 of 766
LBOOL pdfSkewCoords(
const PPDF* IPDF, // Instance pointer
double alpha,
// Angle alpha in degrees
double beta,
// Angle beta in degrees
double OriginX,
// Origin of the x-axis
double OriginY)
// Origin of the y-axis
The function skews the coordinate system and sets the coordinate origin to the point OriginX,
OriginY. It is highly recommended to save the graphics state beforehand, otherwise it is very difficult
or impossible to restore the coordinate system later.
After the coordinate system was changed by the function, bottom-up coordinates are active. It is not
possible to use top-down coordinates with a skewed coordinate system.
Skewing is internally calculated as follows:
TCTM M; // Transformation matrix, the data type is declared in dynapdf.h
M.a = 1.0;
M.b = tan(alpha / 180 * PI);
M.c = tan(beta
/ 180 * PI);
M.d = 1.0;
M.x = OriginX;
M.y = OriginY;
Because the tangent of the angles alpha and beta represent the skewed coordinate system, the angles
must not be 90, 180, 270, or 360 degrees.
If the graphics state was not saved beforehand the function set a warning but the transformation will
be applied.
Return values:
If the function succeeds the return value is 1. If the function fails the return value is 0. Use an error
callback function or check whether an error occurred with the function GetErrorMessage(). See
Exception handling for further information.

Previous topic: SetWordSpacing

Next topic: SquareAnnot