Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

DynaPDF Manual - Page 721

Previous Page 720   Index   Next Page 722

Function Reference
Page 721 of 750
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