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