Function GraScale() Foundation
Calculates scaling transformation for a matrix.
GraScale( [<oPS>], <aMatrix>, <aScale>, ;
<aPoint> , [<nMode>] ) > lSuccess
Constant  Description 

GRA_TRANSFORM_REPLACE  Replaces the existing <aMatrix> transformation after the transformation 
GRA_TRANSFORM_ADD  Keeps the existing <aMatrix> transformation and calculates an additional transformation 

The return value of GraScale() is .T. (true) when the scaling transformation was calculated, otherwise it is .F. (false). If the return value equals .F., the cause of error can be determined using GraError().
The function GraScale() performs the matrix calculations required for scaling graphic segments (enlarging, reducing or creating a mirror image). A matrix must be passed to the function to hold the values resulting from the calculations. The matrix is a three dimensional array which must be generated by GraInitMatrix() before it is used for matrix calculations.
Graphic segments which are scaled must have been previously generated from graphic primitives. The functions GraSegOpen() and GraSegClose() are used to define a graphic segment. GraScale() performs calculations for the scaling and the function GraSegDraw() makes the scaling visible. Scaling factors larger than 1 enlarge a segment, factors between 0 and 1 reduce a segment and negative values produce a mirror image.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.