Name
page:Concat -- concatenate matrix
Synopsis
status = page:Concat(a, b, c, d, x, y)
Function
page:Concat() concatenates the page's current transformation matrix and the specified matrix.

For example, if you want to rotate the coordinate system of the page by 45 degrees, use page:Concat() as follows:

 
Local rad1 = 45 / 180 * #PI
page:Concat(Cos(rad1),Sin(rad1),-Sin(rad1),Cos(rad1),220,350)

To change the coordinate system of the page to 300 dpi, use page:Concat() as follows:

 
page:Concat(72.0 / 300.0, 0, 0, 72.0 / 300.0, 0, 0)

Invoke page:GSave() before page:Concat(). Then the change by page:Concat() can be restored by invoking page:GRestore().

 
; save the current graphics states
page:GSave(page)

; concatenate the transformation matrix
page:Concat(72.0 / 300.0, 0, 0, 72.0 / 300.0, 0, 0)

; show text on the translated coordinates
page:BeginText()
page:MoveTextPos(50, 100)
page:ShowText("Text on the translated coordinates")
page:EndText(page)

; restore the graphics states
page:GRestore()

An application can invoke page:GSave() when the graphics mode of the page is in #HPDF_GMODE_PAGE_DESCRIPTION.

Returns #HPDF_OK on success. Otherwise, returns an error code and the error handler is invoked.

Inputs
a
scaling x coordinate
b
rotation x coordinate
c
rotation y coordinate
d
scaling y coordinate
x
translation x coordinate
y
translation y coordinate
Results
status
status code

Show TOC