Extension [ <persistent> extension #98 ps version 1.4.4 ] {

  - Dependencies {
    Dependency [ gd (Required) ]
  }

  - Constants [6] {
    Constant [ int PS_LINECAP_BUTT ] { 0 }
    Constant [ int PS_LINECAP_ROUND ] { 1 }
    Constant [ int PS_LINECAP_SQUARED ] { 2 }
    Constant [ int PS_LINEJOIN_MITER ] { 0 }
    Constant [ int PS_LINEJOIN_ROUND ] { 1 }
    Constant [ int PS_LINEJOIN_BEVEL ] { 2 }
  }

  - Functions {
    Function [ <internal:ps> function ps_new ] {

      - Parameters [0] {
      }
    }
    Function [ <internal:ps> function ps_delete ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_open_file ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <optional> $filename ]
      }
    }
    Function [ <internal:ps> function ps_get_buffer ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_close ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_begin_page ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $width ]
        Parameter #2 [ <required> $height ]
      }
    }
    Function [ <internal:ps> function ps_end_page ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_get_value ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $key ]
        Parameter #2 [ <optional> $modifier ]
      }
    }
    Function [ <internal:ps> function ps_set_value ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $key ]
        Parameter #2 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_get_parameter ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $key ]
        Parameter #2 [ <optional> $modifier ]
      }
    }
    Function [ <internal:ps> function ps_set_parameter ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $key ]
        Parameter #2 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_findfont ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $fontname ]
        Parameter #2 [ <required> $encoding ]
        Parameter #3 [ <required> $embed ]
      }
    }
    Function [ <internal:ps> function ps_setfont ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $font ]
        Parameter #2 [ <required> $fontsize ]
      }
    }
    Function [ <internal:ps> function ps_show ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
      }
    }
    Function [ <internal:ps> function ps_show_xy ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
        Parameter #2 [ <required> $x-coor ]
        Parameter #3 [ <required> $y-coor ]
      }
    }
    Function [ <internal:ps> function ps_show2 ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
        Parameter #2 [ <required> $length ]
      }
    }
    Function [ <internal:ps> function ps_show_xy2 ] {

      - Parameters [5] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
        Parameter #2 [ <required> $length ]
        Parameter #3 [ <required> $x-coor ]
        Parameter #4 [ <required> $y-coor ]
      }
    }
    Function [ <internal:ps> function ps_continue_text ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
      }
    }
    Function [ <internal:ps> function ps_show_boxed ] {

      - Parameters [8] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
        Parameter #2 [ <required> $x-coor ]
        Parameter #3 [ <required> $y-coor ]
        Parameter #4 [ <required> $width ]
        Parameter #5 [ <required> $height ]
        Parameter #6 [ <required> $mode ]
        Parameter #7 [ <optional> $feature ]
      }
    }
    Function [ <internal:ps> function ps_stringwidth ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
        Parameter #2 [ <optional> $font ]
        Parameter #3 [ <optional> $size ]
      }
    }
    Function [ <internal:ps> function ps_string_geometry ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $text ]
        Parameter #2 [ <optional> $font ]
        Parameter #3 [ <optional> $size ]
      }
    }
    Function [ <internal:ps> function ps_set_text_pos ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
      }
    }
    Function [ <internal:ps> function ps_setdash ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $black ]
        Parameter #2 [ <required> $white ]
      }
    }
    Function [ <internal:ps> function ps_setpolydash ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $darray ]
      }
    }
    Function [ <internal:ps> function ps_setflat ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_setlinejoin ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_setlinecap ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_setmiterlimit ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_setlinewidth ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $width ]
      }
    }
    Function [ <internal:ps> function ps_setoverprintmode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $mode ]
      }
    }
    Function [ <internal:ps> function ps_save ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_restore ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_translate ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
      }
    }
    Function [ <internal:ps> function ps_scale ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-scale ]
        Parameter #2 [ <required> $y-scale ]
      }
    }
    Function [ <internal:ps> function ps_rotate ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $angle ]
      }
    }
    Function [ <internal:ps> function ps_moveto ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
      }
    }
    Function [ <internal:ps> function ps_lineto ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
      }
    }
    Function [ <internal:ps> function ps_curveto ] {

      - Parameters [7] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x1 ]
        Parameter #2 [ <required> $y1 ]
        Parameter #3 [ <required> $x2 ]
        Parameter #4 [ <required> $y2 ]
        Parameter #5 [ <required> $x3 ]
        Parameter #6 [ <required> $y3 ]
      }
    }
    Function [ <internal:ps> function ps_circle ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
        Parameter #3 [ <required> $radius ]
      }
    }
    Function [ <internal:ps> function ps_arc ] {

      - Parameters [6] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
        Parameter #3 [ <required> $radius ]
        Parameter #4 [ <required> $start ]
        Parameter #5 [ <required> $end ]
      }
    }
    Function [ <internal:ps> function ps_arcn ] {

      - Parameters [6] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
        Parameter #3 [ <required> $radius ]
        Parameter #4 [ <required> $alpha ]
        Parameter #5 [ <required> $beta ]
      }
    }
    Function [ <internal:ps> function ps_rect ] {

      - Parameters [5] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $x-coor ]
        Parameter #2 [ <required> $y-coor ]
        Parameter #3 [ <required> $width ]
        Parameter #4 [ <required> $height ]
      }
    }
    Function [ <internal:ps> function ps_closepath ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_stroke ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_closepath_stroke ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_fill ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_fill_stroke ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_clip ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_open_image_file ] {

      - Parameters [5] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $type ]
        Parameter #2 [ <required> $filename ]
        Parameter #3 [ <required> $stringparam ]
        Parameter #4 [ <optional> $intparam ]
      }
    }
    Function [ <internal:ps> function ps_open_image ] {

      - Parameters [10] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $type ]
        Parameter #2 [ <required> $source ]
        Parameter #3 [ <required> $data ]
        Parameter #4 [ <required> $length ]
        Parameter #5 [ <required> $width ]
        Parameter #6 [ <required> $height ]
        Parameter #7 [ <required> $components ]
        Parameter #8 [ <required> $bpc ]
        Parameter #9 [ <required> $params ]
      }
    }
    Function [ <internal:ps> function ps_close_image ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $image ]
      }
    }
    Function [ <internal:ps> function ps_place_image ] {

      - Parameters [5] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $image ]
        Parameter #2 [ <required> $x-coor ]
        Parameter #3 [ <required> $y-coor ]
        Parameter #4 [ <required> $scale ]
      }
    }
    Function [ <internal:ps> function ps_add_bookmark ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $string ]
        Parameter #2 [ <optional> $parent ]
        Parameter #3 [ <optional> $open ]
      }
    }
    Function [ <internal:ps> function ps_set_info ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $fieldname ]
        Parameter #2 [ <required> $value ]
      }
    }
    Function [ <internal:ps> function ps_include_file ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $filename ]
      }
    }
    Function [ <internal:ps> function ps_add_note ] {

      - Parameters [9] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $llx ]
        Parameter #2 [ <required> $lly ]
        Parameter #3 [ <required> $urx ]
        Parameter #4 [ <required> $ury ]
        Parameter #5 [ <required> $contents ]
        Parameter #6 [ <required> $title ]
        Parameter #7 [ <required> $icon ]
        Parameter #8 [ <required> $open ]
      }
    }
    Function [ <internal:ps> function ps_add_pdflink ] {

      - Parameters [8] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $llx ]
        Parameter #2 [ <required> $lly ]
        Parameter #3 [ <required> $urx ]
        Parameter #4 [ <required> $ury ]
        Parameter #5 [ <required> $filename ]
        Parameter #6 [ <required> $page ]
        Parameter #7 [ <required> $dest ]
      }
    }
    Function [ <internal:ps> function ps_add_locallink ] {

      - Parameters [7] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $llx ]
        Parameter #2 [ <required> $lly ]
        Parameter #3 [ <required> $urx ]
        Parameter #4 [ <required> $ury ]
        Parameter #5 [ <required> $page ]
        Parameter #6 [ <required> $dest ]
      }
    }
    Function [ <internal:ps> function ps_add_launchlink ] {

      - Parameters [6] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $llx ]
        Parameter #2 [ <required> $lly ]
        Parameter #3 [ <required> $urx ]
        Parameter #4 [ <required> $ury ]
        Parameter #5 [ <required> $filename ]
      }
    }
    Function [ <internal:ps> function ps_add_weblink ] {

      - Parameters [6] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $llx ]
        Parameter #2 [ <required> $lly ]
        Parameter #3 [ <required> $urx ]
        Parameter #4 [ <required> $ury ]
        Parameter #5 [ <required> $url ]
      }
    }
    Function [ <internal:ps> function ps_set_border_style ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $style ]
        Parameter #2 [ <required> $width ]
      }
    }
    Function [ <internal:ps> function ps_set_border_color ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $red ]
        Parameter #2 [ <required> $green ]
        Parameter #3 [ <required> $blue ]
      }
    }
    Function [ <internal:ps> function ps_set_border_dash ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $black ]
        Parameter #2 [ <required> $white ]
      }
    }
    Function [ <internal:ps> function ps_setcolor ] {

      - Parameters [7] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $type ]
        Parameter #2 [ <required> $colorspace ]
        Parameter #3 [ <required> $c1 ]
        Parameter #4 [ <required> $c2 ]
        Parameter #5 [ <required> $c3 ]
        Parameter #6 [ <required> $c4 ]
      }
    }
    Function [ <internal:ps> function ps_makespotcolor ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $spotcolor ]
      }
    }
    Function [ <internal:ps> function ps_begin_pattern ] {

      - Parameters [6] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $width ]
        Parameter #2 [ <required> $height ]
        Parameter #3 [ <required> $xstep ]
        Parameter #4 [ <required> $ystep ]
        Parameter #5 [ <required> $painttype ]
      }
    }
    Function [ <internal:ps> function ps_end_pattern ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_begin_template ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $width ]
        Parameter #2 [ <required> $height ]
      }
    }
    Function [ <internal:ps> function ps_end_template ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_shfill ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $psshading ]
      }
    }
    Function [ <internal:ps> function ps_shading ] {

      - Parameters [11] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $type ]
        Parameter #2 [ <required> $x0 ]
        Parameter #3 [ <required> $y0 ]
        Parameter #4 [ <required> $x1 ]
        Parameter #5 [ <required> $y1 ]
        Parameter #6 [ <required> $c1 ]
        Parameter #7 [ <required> $c2 ]
        Parameter #8 [ <required> $c3 ]
        Parameter #9 [ <required> $c4 ]
        Parameter #10 [ <required> $optlist ]
      }
    }
    Function [ <internal:ps> function ps_shading_pattern ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $psshading ]
      }
    }
    Function [ <internal:ps> function ps_begin_font ] {

      - Parameters [9] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $fontname ]
        Parameter #2 [ <required> $a ]
        Parameter #3 [ <required> $b ]
        Parameter #4 [ <required> $c ]
        Parameter #5 [ <required> $d ]
        Parameter #6 [ <required> $e ]
        Parameter #7 [ <required> $f ]
        Parameter #8 [ <optional> $optlist ]
      }
    }
    Function [ <internal:ps> function ps_end_font ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_begin_glyph ] {

      - Parameters [7] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $name ]
        Parameter #2 [ <required> $wx ]
        Parameter #3 [ <required> $llx ]
        Parameter #4 [ <required> $lly ]
        Parameter #5 [ <required> $urx ]
        Parameter #6 [ <required> $ury ]
      }
    }
    Function [ <internal:ps> function ps_end_glyph ] {

      - Parameters [1] {
        Parameter #0 [ <optional> $psdoc ]
      }
    }
    Function [ <internal:ps> function ps_open_memory_image ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $psimage ]
      }
    }
    Function [ <internal:ps> function ps_hyphenate ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $word ]
      }
    }
    Function [ <internal:ps> function ps_symbol ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $ord ]
      }
    }
    Function [ <internal:ps> function ps_symbol_name ] {

      - Parameters [3] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $ord ]
        Parameter #2 [ <optional> $font ]
      }
    }
    Function [ <internal:ps> function ps_symbol_width ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $ord ]
        Parameter #2 [ <optional> $font ]
        Parameter #3 [ <optional> $width ]
      }
    }
    Function [ <internal:ps> function ps_glyph_show ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $name ]
      }
    }
    Function [ <internal:ps> function ps_glyph_width ] {

      - Parameters [4] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $name ]
        Parameter #2 [ <optional> $font ]
        Parameter #3 [ <optional> $size ]
      }
    }
    Function [ <internal:ps> function ps_glyph_list ] {

      - Parameters [2] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <optional> $font ]
      }
    }
    Function [ <internal:ps> function ps_add_kerning ] {

      - Parameters [5] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $glyphname1 ]
        Parameter #2 [ <required> $glyphname2 ]
        Parameter #3 [ <required> $kern ]
        Parameter #4 [ <optional> $font ]
      }
    }
    Function [ <internal:ps> function ps_add_ligature ] {

      - Parameters [5] {
        Parameter #0 [ <required> $psdoc ]
        Parameter #1 [ <required> $glyphname1 ]
        Parameter #2 [ <required> $glyphname2 ]
        Parameter #3 [ <required> $glyphname3 ]
        Parameter #4 [ <optional> $font ]
      }
    }
  }
}