Hex Artifact Content
Not logged in

Artifact 69d24d252c64f26b231a74c07f98cadb0d049ea3:


0000: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
0010: 6e 63 20 69 6e 74 20 63 61 69 72 6f 2d 76 65 72  nc int cairo-ver
0020: 73 69 6f 6e 20 28 29 20 22 63 61 69 72 6f 5f 76  sion () "cairo_v
0030: 65 72 73 69 6f 6e 22 29 0a 28 64 65 66 69 6e 65  ersion").(define
0040: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 73 74 72 69  -cairo-func stri
0050: 6e 67 20 63 61 69 72 6f 2d 76 65 72 73 69 6f 6e  ng cairo-version
0060: 2d 73 74 72 69 6e 67 20 28 29 20 22 63 61 69 72  -string () "cair
0070: 6f 5f 76 65 72 73 69 6f 6e 5f 73 74 72 69 6e 67  o_version_string
0080: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
0090: 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 74  -func (* cairo-t
00a0: 29 20 63 61 69 72 6f 2d 63 72 65 61 74 65 20 28  ) cairo-create (
00b0: 28 74 61 72 67 65 74 20 28 2a 20 63 61 69 72 6f  (target (* cairo
00c0: 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20 22 63  -surface-t))) "c
00d0: 61 69 72 6f 5f 63 72 65 61 74 65 22 29 0a 28 64  airo_create").(d
00e0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
00f0: 20 28 2a 20 63 61 69 72 6f 2d 74 29 20 63 61 69   (* cairo-t) cai
0100: 72 6f 2d 72 65 66 65 72 65 6e 63 65 20 28 28 63  ro-reference ((c
0110: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20  r (* cairo-t))) 
0120: 22 63 61 69 72 6f 5f 72 65 66 65 72 65 6e 63 65  "cairo_reference
0130: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
0140: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
0150: 2d 64 65 73 74 72 6f 79 20 28 28 63 72 20 28 2a  -destroy ((cr (*
0160: 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69   cairo-t))) "cai
0170: 72 6f 5f 64 65 73 74 72 6f 79 22 29 0a 28 64 65  ro_destroy").(de
0180: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
0190: 75 6e 73 69 67 6e 65 64 2d 69 6e 74 20 63 61 69  unsigned-int cai
01a0: 72 6f 2d 67 65 74 2d 72 65 66 65 72 65 6e 63 65  ro-get-reference
01b0: 2d 63 6f 75 6e 74 20 28 28 63 72 20 28 2a 20 63  -count ((cr (* c
01c0: 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f  airo-t))) "cairo
01d0: 5f 67 65 74 5f 72 65 66 65 72 65 6e 63 65 5f 63  _get_reference_c
01e0: 6f 75 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  ount").(define-c
01f0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 2a 20  airo-func void* 
0200: 63 61 69 72 6f 2d 67 65 74 2d 75 73 65 72 2d 64  cairo-get-user-d
0210: 61 74 61 20 28 28 63 72 20 28 2a 20 63 61 69 72  ata ((cr (* cair
0220: 6f 2d 74 29 29 20 28 6b 65 79 20 28 2a 20 63 61  o-t)) (key (* ca
0230: 69 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65  iro-user-data-ke
0240: 79 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65  y-t))) "cairo_ge
0250: 74 5f 75 73 65 72 5f 64 61 74 61 22 29 0a 28 64  t_user_data").(d
0260: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
0270: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
0280: 63 61 69 72 6f 2d 73 65 74 2d 75 73 65 72 2d 64  cairo-set-user-d
0290: 61 74 61 20 28 28 63 72 20 28 2a 20 63 61 69 72  ata ((cr (* cair
02a0: 6f 2d 74 29 29 20 28 6b 65 79 20 28 2a 20 63 61  o-t)) (key (* ca
02b0: 69 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65  iro-user-data-ke
02c0: 79 2d 74 29 29 20 28 75 73 65 72 5f 64 61 74 61  y-t)) (user_data
02d0: 20 76 6f 69 64 2a 29 20 28 64 65 73 74 72 6f 79   void*) (destroy
02e0: 20 63 61 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66   cairo-destroy-f
02f0: 75 6e 63 2d 74 29 29 20 22 63 61 69 72 6f 5f 73  unc-t)) "cairo_s
0300: 65 74 5f 75 73 65 72 5f 64 61 74 61 22 29 0a 28  et_user_data").(
0310: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
0320: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 61 76  c void cairo-sav
0330: 65 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d  e ((cr (* cairo-
0340: 74 29 29 29 20 22 63 61 69 72 6f 5f 73 61 76 65  t))) "cairo_save
0350: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
0360: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
0370: 2d 72 65 73 74 6f 72 65 20 28 28 63 72 20 28 2a  -restore ((cr (*
0380: 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69   cairo-t))) "cai
0390: 72 6f 5f 72 65 73 74 6f 72 65 22 29 0a 28 64 65  ro_restore").(de
03a0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
03b0: 76 6f 69 64 20 63 61 69 72 6f 2d 70 75 73 68 2d  void cairo-push-
03c0: 67 72 6f 75 70 20 28 28 63 72 20 28 2a 20 63 61  group ((cr (* ca
03d0: 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  iro-t))) "cairo_
03e0: 70 75 73 68 5f 67 72 6f 75 70 22 29 0a 28 64 65  push_group").(de
03f0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
0400: 76 6f 69 64 20 63 61 69 72 6f 2d 70 75 73 68 2d  void cairo-push-
0410: 67 72 6f 75 70 2d 77 69 74 68 2d 63 6f 6e 74 65  group-with-conte
0420: 6e 74 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  nt ((cr (* cairo
0430: 2d 74 29 29 20 28 63 6f 6e 74 65 6e 74 20 63 61  -t)) (content ca
0440: 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 29 29 20  iro-content-t)) 
0450: 22 63 61 69 72 6f 5f 70 75 73 68 5f 67 72 6f 75  "cairo_push_grou
0460: 70 5f 77 69 74 68 5f 63 6f 6e 74 65 6e 74 22 29  p_with_content")
0470: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
0480: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  unc (* cairo-pat
0490: 74 65 72 6e 2d 74 29 20 63 61 69 72 6f 2d 70 6f  tern-t) cairo-po
04a0: 70 2d 67 72 6f 75 70 20 28 28 63 72 20 28 2a 20  p-group ((cr (* 
04b0: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
04c0: 6f 5f 70 6f 70 5f 67 72 6f 75 70 22 29 0a 28 64  o_pop_group").(d
04d0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
04e0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 70 6f 70 2d   void cairo-pop-
04f0: 67 72 6f 75 70 2d 74 6f 2d 73 6f 75 72 63 65 20  group-to-source 
0500: 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29  ((cr (* cairo-t)
0510: 29 29 20 22 63 61 69 72 6f 5f 70 6f 70 5f 67 72  )) "cairo_pop_gr
0520: 6f 75 70 5f 74 6f 5f 73 6f 75 72 63 65 22 29 0a  oup_to_source").
0530: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
0540: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 65  nc void cairo-se
0550: 74 2d 6f 70 65 72 61 74 6f 72 20 28 28 63 72 20  t-operator ((cr 
0560: 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 6f 70  (* cairo-t)) (op
0570: 20 63 61 69 72 6f 2d 6f 70 65 72 61 74 6f 72 2d   cairo-operator-
0580: 74 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 6f  t)) "cairo_set_o
0590: 70 65 72 61 74 6f 72 22 29 0a 28 64 65 66 69 6e  perator").(defin
05a0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
05b0: 64 20 63 61 69 72 6f 2d 73 65 74 2d 73 6f 75 72  d cairo-set-sour
05c0: 63 65 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  ce ((cr (* cairo
05d0: 2d 74 29 29 20 28 73 6f 75 72 63 65 20 28 2a 20  -t)) (source (* 
05e0: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29  cairo-pattern-t)
05f0: 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 73 6f  )) "cairo_set_so
0600: 75 72 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  urce").(define-c
0610: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
0620: 61 69 72 6f 2d 73 65 74 2d 73 6f 75 72 63 65 2d  airo-set-source-
0630: 72 67 62 20 28 28 63 72 20 28 2a 20 63 61 69 72  rgb ((cr (* cair
0640: 6f 2d 74 29 29 20 28 72 65 64 20 64 6f 75 62 6c  o-t)) (red doubl
0650: 65 29 20 28 67 72 65 65 6e 20 64 6f 75 62 6c 65  e) (green double
0660: 29 20 28 62 6c 75 65 20 64 6f 75 62 6c 65 29 29  ) (blue double))
0670: 20 22 63 61 69 72 6f 5f 73 65 74 5f 73 6f 75 72   "cairo_set_sour
0680: 63 65 5f 72 67 62 22 29 0a 28 64 65 66 69 6e 65  ce_rgb").(define
0690: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
06a0: 20 63 61 69 72 6f 2d 73 65 74 2d 73 6f 75 72 63   cairo-set-sourc
06b0: 65 2d 72 67 62 61 20 28 28 63 72 20 28 2a 20 63  e-rgba ((cr (* c
06c0: 61 69 72 6f 2d 74 29 29 20 28 72 65 64 20 64 6f  airo-t)) (red do
06d0: 75 62 6c 65 29 20 28 67 72 65 65 6e 20 64 6f 75  uble) (green dou
06e0: 62 6c 65 29 20 28 62 6c 75 65 20 64 6f 75 62 6c  ble) (blue doubl
06f0: 65 29 20 28 61 6c 70 68 61 20 64 6f 75 62 6c 65  e) (alpha double
0700: 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 73 6f  )) "cairo_set_so
0710: 75 72 63 65 5f 72 67 62 61 22 29 0a 28 64 65 66  urce_rgba").(def
0720: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
0730: 6f 69 64 20 63 61 69 72 6f 2d 73 65 74 2d 73 6f  oid cairo-set-so
0740: 75 72 63 65 2d 73 75 72 66 61 63 65 20 28 28 63  urce-surface ((c
0750: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28  r (* cairo-t)) (
0760: 73 75 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f  surface (* cairo
0770: 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28 78 20  -surface-t)) (x 
0780: 64 6f 75 62 6c 65 29 20 28 79 20 64 6f 75 62 6c  double) (y doubl
0790: 65 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 73  e)) "cairo_set_s
07a0: 6f 75 72 63 65 5f 73 75 72 66 61 63 65 22 29 0a  ource_surface").
07b0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
07c0: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 65  nc void cairo-se
07d0: 74 2d 74 6f 6c 65 72 61 6e 63 65 20 28 28 63 72  t-tolerance ((cr
07e0: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 74   (* cairo-t)) (t
07f0: 6f 6c 65 72 61 6e 63 65 20 64 6f 75 62 6c 65 29  olerance double)
0800: 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 74 6f 6c  ) "cairo_set_tol
0810: 65 72 61 6e 63 65 22 29 0a 28 64 65 66 69 6e 65  erance").(define
0820: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
0830: 20 63 61 69 72 6f 2d 73 65 74 2d 61 6e 74 69 61   cairo-set-antia
0840: 6c 69 61 73 20 28 28 63 72 20 28 2a 20 63 61 69  lias ((cr (* cai
0850: 72 6f 2d 74 29 29 20 28 61 6e 74 69 61 6c 69 61  ro-t)) (antialia
0860: 73 20 63 61 69 72 6f 2d 61 6e 74 69 61 6c 69 61  s cairo-antialia
0870: 73 2d 74 29 29 20 22 63 61 69 72 6f 5f 73 65 74  s-t)) "cairo_set
0880: 5f 61 6e 74 69 61 6c 69 61 73 22 29 0a 28 64 65  _antialias").(de
0890: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
08a0: 76 6f 69 64 20 63 61 69 72 6f 2d 73 65 74 2d 66  void cairo-set-f
08b0: 69 6c 6c 2d 72 75 6c 65 20 28 28 63 72 20 28 2a  ill-rule ((cr (*
08c0: 20 63 61 69 72 6f 2d 74 29 29 20 28 66 69 6c 6c   cairo-t)) (fill
08d0: 5f 72 75 6c 65 20 63 61 69 72 6f 2d 66 69 6c 6c  _rule cairo-fill
08e0: 2d 72 75 6c 65 2d 74 29 29 20 22 63 61 69 72 6f  -rule-t)) "cairo
08f0: 5f 73 65 74 5f 66 69 6c 6c 5f 72 75 6c 65 22 29  _set_fill_rule")
0900: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
0910: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73  unc void cairo-s
0920: 65 74 2d 6c 69 6e 65 2d 77 69 64 74 68 20 28 28  et-line-width ((
0930: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20  cr (* cairo-t)) 
0940: 28 77 69 64 74 68 20 64 6f 75 62 6c 65 29 29 20  (width double)) 
0950: 22 63 61 69 72 6f 5f 73 65 74 5f 6c 69 6e 65 5f  "cairo_set_line_
0960: 77 69 64 74 68 22 29 0a 28 64 65 66 69 6e 65 2d  width").(define-
0970: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
0980: 63 61 69 72 6f 2d 73 65 74 2d 6c 69 6e 65 2d 63  cairo-set-line-c
0990: 61 70 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  ap ((cr (* cairo
09a0: 2d 74 29 29 20 28 6c 69 6e 65 5f 63 61 70 20 63  -t)) (line_cap c
09b0: 61 69 72 6f 2d 6c 69 6e 65 2d 63 61 70 2d 74 29  airo-line-cap-t)
09c0: 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 6c 69 6e  ) "cairo_set_lin
09d0: 65 5f 63 61 70 22 29 0a 28 64 65 66 69 6e 65 2d  e_cap").(define-
09e0: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
09f0: 63 61 69 72 6f 2d 73 65 74 2d 6c 69 6e 65 2d 6a  cairo-set-line-j
0a00: 6f 69 6e 20 28 28 63 72 20 28 2a 20 63 61 69 72  oin ((cr (* cair
0a10: 6f 2d 74 29 29 20 28 6c 69 6e 65 5f 6a 6f 69 6e  o-t)) (line_join
0a20: 20 63 61 69 72 6f 2d 6c 69 6e 65 2d 6a 6f 69 6e   cairo-line-join
0a30: 2d 74 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f  -t)) "cairo_set_
0a40: 6c 69 6e 65 5f 6a 6f 69 6e 22 29 0a 28 64 65 66  line_join").(def
0a50: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
0a60: 6f 69 64 20 63 61 69 72 6f 2d 73 65 74 2d 64 61  oid cairo-set-da
0a70: 73 68 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  sh ((cr (* cairo
0a80: 2d 74 29 29 20 28 64 61 73 68 65 73 20 28 2a 20  -t)) (dashes (* 
0a90: 64 6f 75 62 6c 65 29 29 20 28 6e 75 6d 5f 64 61  double)) (num_da
0aa0: 73 68 65 73 20 69 6e 74 29 20 28 6f 66 66 73 65  shes int) (offse
0ab0: 74 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  t double)) "cair
0ac0: 6f 5f 73 65 74 5f 64 61 73 68 22 29 0a 28 64 65  o_set_dash").(de
0ad0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
0ae0: 76 6f 69 64 20 63 61 69 72 6f 2d 73 65 74 2d 6d  void cairo-set-m
0af0: 69 74 65 72 2d 6c 69 6d 69 74 20 28 28 63 72 20  iter-limit ((cr 
0b00: 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 6c 69  (* cairo-t)) (li
0b10: 6d 69 74 20 64 6f 75 62 6c 65 29 29 20 22 63 61  mit double)) "ca
0b20: 69 72 6f 5f 73 65 74 5f 6d 69 74 65 72 5f 6c 69  iro_set_miter_li
0b30: 6d 69 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  mit").(define-ca
0b40: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
0b50: 69 72 6f 2d 74 72 61 6e 73 6c 61 74 65 20 28 28  iro-translate ((
0b60: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20  cr (* cairo-t)) 
0b70: 28 74 78 20 64 6f 75 62 6c 65 29 20 28 74 79 20  (tx double) (ty 
0b80: 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f  double)) "cairo_
0b90: 74 72 61 6e 73 6c 61 74 65 22 29 0a 28 64 65 66  translate").(def
0ba0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
0bb0: 6f 69 64 20 63 61 69 72 6f 2d 73 63 61 6c 65 20  oid cairo-scale 
0bc0: 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29  ((cr (* cairo-t)
0bd0: 29 20 28 73 78 20 64 6f 75 62 6c 65 29 20 28 73  ) (sx double) (s
0be0: 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  y double)) "cair
0bf0: 6f 5f 73 63 61 6c 65 22 29 0a 28 64 65 66 69 6e  o_scale").(defin
0c00: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
0c10: 64 20 63 61 69 72 6f 2d 72 6f 74 61 74 65 20 28  d cairo-rotate (
0c20: 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29  (cr (* cairo-t))
0c30: 20 28 61 6e 67 6c 65 20 64 6f 75 62 6c 65 29 29   (angle double))
0c40: 20 22 63 61 69 72 6f 5f 72 6f 74 61 74 65 22 29   "cairo_rotate")
0c50: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
0c60: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 74  unc void cairo-t
0c70: 72 61 6e 73 66 6f 72 6d 20 28 28 63 72 20 28 2a  ransform ((cr (*
0c80: 20 63 61 69 72 6f 2d 74 29 29 20 28 6d 61 74 72   cairo-t)) (matr
0c90: 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72  ix (* cairo-matr
0ca0: 69 78 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 74  ix-t))) "cairo_t
0cb0: 72 61 6e 73 66 6f 72 6d 22 29 0a 28 64 65 66 69  ransform").(defi
0cc0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
0cd0: 69 64 20 63 61 69 72 6f 2d 73 65 74 2d 6d 61 74  id cairo-set-mat
0ce0: 72 69 78 20 28 28 63 72 20 28 2a 20 63 61 69 72  rix ((cr (* cair
0cf0: 6f 2d 74 29 29 20 28 6d 61 74 72 69 78 20 28 2a  o-t)) (matrix (*
0d00: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
0d10: 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 6d 61  )) "cairo_set_ma
0d20: 74 72 69 78 22 29 0a 28 64 65 66 69 6e 65 2d 63  trix").(define-c
0d30: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
0d40: 61 69 72 6f 2d 69 64 65 6e 74 69 74 79 2d 6d 61  airo-identity-ma
0d50: 74 72 69 78 20 28 28 63 72 20 28 2a 20 63 61 69  trix ((cr (* cai
0d60: 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 69  ro-t))) "cairo_i
0d70: 64 65 6e 74 69 74 79 5f 6d 61 74 72 69 78 22 29  dentity_matrix")
0d80: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
0d90: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 75  unc void cairo-u
0da0: 73 65 72 2d 74 6f 2d 64 65 76 69 63 65 20 28 28  ser-to-device ((
0db0: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20  cr (* cairo-t)) 
0dc0: 28 78 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  (x (* double)) (
0dd0: 79 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22  y (* double))) "
0de0: 63 61 69 72 6f 5f 75 73 65 72 5f 74 6f 5f 64 65  cairo_user_to_de
0df0: 76 69 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  vice").(define-c
0e00: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
0e10: 61 69 72 6f 2d 75 73 65 72 2d 74 6f 2d 64 65 76  airo-user-to-dev
0e20: 69 63 65 2d 64 69 73 74 61 6e 63 65 20 28 28 63  ice-distance ((c
0e30: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28  r (* cairo-t)) (
0e40: 64 78 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  dx (* double)) (
0e50: 64 79 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20  dy (* double))) 
0e60: 22 63 61 69 72 6f 5f 75 73 65 72 5f 74 6f 5f 64  "cairo_user_to_d
0e70: 65 76 69 63 65 5f 64 69 73 74 61 6e 63 65 22 29  evice_distance")
0e80: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
0e90: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 64  unc void cairo-d
0ea0: 65 76 69 63 65 2d 74 6f 2d 75 73 65 72 20 28 28  evice-to-user ((
0eb0: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20  cr (* cairo-t)) 
0ec0: 28 78 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  (x (* double)) (
0ed0: 79 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22  y (* double))) "
0ee0: 63 61 69 72 6f 5f 64 65 76 69 63 65 5f 74 6f 5f  cairo_device_to_
0ef0: 75 73 65 72 22 29 0a 28 64 65 66 69 6e 65 2d 63  user").(define-c
0f00: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
0f10: 61 69 72 6f 2d 64 65 76 69 63 65 2d 74 6f 2d 75  airo-device-to-u
0f20: 73 65 72 2d 64 69 73 74 61 6e 63 65 20 28 28 63  ser-distance ((c
0f30: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28  r (* cairo-t)) (
0f40: 64 78 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  dx (* double)) (
0f50: 64 79 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20  dy (* double))) 
0f60: 22 63 61 69 72 6f 5f 64 65 76 69 63 65 5f 74 6f  "cairo_device_to
0f70: 5f 75 73 65 72 5f 64 69 73 74 61 6e 63 65 22 29  _user_distance")
0f80: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
0f90: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6e  unc void cairo-n
0fa0: 65 77 2d 70 61 74 68 20 28 28 63 72 20 28 2a 20  ew-path ((cr (* 
0fb0: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
0fc0: 6f 5f 6e 65 77 5f 70 61 74 68 22 29 0a 28 64 65  o_new_path").(de
0fd0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
0fe0: 76 6f 69 64 20 63 61 69 72 6f 2d 6d 6f 76 65 2d  void cairo-move-
0ff0: 74 6f 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  to ((cr (* cairo
1000: 2d 74 29 29 20 28 78 20 64 6f 75 62 6c 65 29 20  -t)) (x double) 
1010: 28 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69  (y double)) "cai
1020: 72 6f 5f 6d 6f 76 65 5f 74 6f 22 29 0a 28 64 65  ro_move_to").(de
1030: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
1040: 76 6f 69 64 20 63 61 69 72 6f 2d 6e 65 77 2d 73  void cairo-new-s
1050: 75 62 2d 70 61 74 68 20 28 28 63 72 20 28 2a 20  ub-path ((cr (* 
1060: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
1070: 6f 5f 6e 65 77 5f 73 75 62 5f 70 61 74 68 22 29  o_new_sub_path")
1080: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
1090: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6c  unc void cairo-l
10a0: 69 6e 65 2d 74 6f 20 28 28 63 72 20 28 2a 20 63  ine-to ((cr (* c
10b0: 61 69 72 6f 2d 74 29 29 20 28 78 20 64 6f 75 62  airo-t)) (x doub
10c0: 6c 65 29 20 28 79 20 64 6f 75 62 6c 65 29 29 20  le) (y double)) 
10d0: 22 63 61 69 72 6f 5f 6c 69 6e 65 5f 74 6f 22 29  "cairo_line_to")
10e0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
10f0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 63  unc void cairo-c
1100: 75 72 76 65 2d 74 6f 20 28 28 63 72 20 28 2a 20  urve-to ((cr (* 
1110: 63 61 69 72 6f 2d 74 29 29 20 28 78 31 20 64 6f  cairo-t)) (x1 do
1120: 75 62 6c 65 29 20 28 79 31 20 64 6f 75 62 6c 65  uble) (y1 double
1130: 29 20 28 78 32 20 64 6f 75 62 6c 65 29 20 28 79  ) (x2 double) (y
1140: 32 20 64 6f 75 62 6c 65 29 20 28 78 33 20 64 6f  2 double) (x3 do
1150: 75 62 6c 65 29 20 28 79 33 20 64 6f 75 62 6c 65  uble) (y3 double
1160: 29 29 20 22 63 61 69 72 6f 5f 63 75 72 76 65 5f  )) "cairo_curve_
1170: 74 6f 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  to").(define-cai
1180: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
1190: 72 6f 2d 61 72 63 20 28 28 63 72 20 28 2a 20 63  ro-arc ((cr (* c
11a0: 61 69 72 6f 2d 74 29 29 20 28 78 63 20 64 6f 75  airo-t)) (xc dou
11b0: 62 6c 65 29 20 28 79 63 20 64 6f 75 62 6c 65 29  ble) (yc double)
11c0: 20 28 72 61 64 69 75 73 20 64 6f 75 62 6c 65 29   (radius double)
11d0: 20 28 61 6e 67 6c 65 31 20 64 6f 75 62 6c 65 29   (angle1 double)
11e0: 20 28 61 6e 67 6c 65 32 20 64 6f 75 62 6c 65 29   (angle2 double)
11f0: 29 20 22 63 61 69 72 6f 5f 61 72 63 22 29 0a 28  ) "cairo_arc").(
1200: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
1210: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 61 72 63  c void cairo-arc
1220: 2d 6e 65 67 61 74 69 76 65 20 28 28 63 72 20 28  -negative ((cr (
1230: 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 78 63 20  * cairo-t)) (xc 
1240: 64 6f 75 62 6c 65 29 20 28 79 63 20 64 6f 75 62  double) (yc doub
1250: 6c 65 29 20 28 72 61 64 69 75 73 20 64 6f 75 62  le) (radius doub
1260: 6c 65 29 20 28 61 6e 67 6c 65 31 20 64 6f 75 62  le) (angle1 doub
1270: 6c 65 29 20 28 61 6e 67 6c 65 32 20 64 6f 75 62  le) (angle2 doub
1280: 6c 65 29 29 20 22 63 61 69 72 6f 5f 61 72 63 5f  le)) "cairo_arc_
1290: 6e 65 67 61 74 69 76 65 22 29 0a 28 64 65 66 69  negative").(defi
12a0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
12b0: 69 64 20 63 61 69 72 6f 2d 72 65 6c 2d 6d 6f 76  id cairo-rel-mov
12c0: 65 2d 74 6f 20 28 28 63 72 20 28 2a 20 63 61 69  e-to ((cr (* cai
12d0: 72 6f 2d 74 29 29 20 28 64 78 20 64 6f 75 62 6c  ro-t)) (dx doubl
12e0: 65 29 20 28 64 79 20 64 6f 75 62 6c 65 29 29 20  e) (dy double)) 
12f0: 22 63 61 69 72 6f 5f 72 65 6c 5f 6d 6f 76 65 5f  "cairo_rel_move_
1300: 74 6f 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  to").(define-cai
1310: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
1320: 72 6f 2d 72 65 6c 2d 6c 69 6e 65 2d 74 6f 20 28  ro-rel-line-to (
1330: 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29  (cr (* cairo-t))
1340: 20 28 64 78 20 64 6f 75 62 6c 65 29 20 28 64 79   (dx double) (dy
1350: 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f   double)) "cairo
1360: 5f 72 65 6c 5f 6c 69 6e 65 5f 74 6f 22 29 0a 28  _rel_line_to").(
1370: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
1380: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72 65 6c  c void cairo-rel
1390: 2d 63 75 72 76 65 2d 74 6f 20 28 28 63 72 20 28  -curve-to ((cr (
13a0: 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 64 78 31  * cairo-t)) (dx1
13b0: 20 64 6f 75 62 6c 65 29 20 28 64 79 31 20 64 6f   double) (dy1 do
13c0: 75 62 6c 65 29 20 28 64 78 32 20 64 6f 75 62 6c  uble) (dx2 doubl
13d0: 65 29 20 28 64 79 32 20 64 6f 75 62 6c 65 29 20  e) (dy2 double) 
13e0: 28 64 78 33 20 64 6f 75 62 6c 65 29 20 28 64 79  (dx3 double) (dy
13f0: 33 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  3 double)) "cair
1400: 6f 5f 72 65 6c 5f 63 75 72 76 65 5f 74 6f 22 29  o_rel_curve_to")
1410: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
1420: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72  unc void cairo-r
1430: 65 63 74 61 6e 67 6c 65 20 28 28 63 72 20 28 2a  ectangle ((cr (*
1440: 20 63 61 69 72 6f 2d 74 29 29 20 28 78 20 64 6f   cairo-t)) (x do
1450: 75 62 6c 65 29 20 28 79 20 64 6f 75 62 6c 65 29  uble) (y double)
1460: 20 28 77 69 64 74 68 20 64 6f 75 62 6c 65 29 20   (width double) 
1470: 28 68 65 69 67 68 74 20 64 6f 75 62 6c 65 29 29  (height double))
1480: 20 22 63 61 69 72 6f 5f 72 65 63 74 61 6e 67 6c   "cairo_rectangl
1490: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
14a0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
14b0: 6f 2d 63 6c 6f 73 65 2d 70 61 74 68 20 28 28 63  o-close-path ((c
14c0: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20  r (* cairo-t))) 
14d0: 22 63 61 69 72 6f 5f 63 6c 6f 73 65 5f 70 61 74  "cairo_close_pat
14e0: 68 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  h").(define-cair
14f0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
1500: 6f 2d 70 61 74 68 2d 65 78 74 65 6e 74 73 20 28  o-path-extents (
1510: 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29  (cr (* cairo-t))
1520: 20 28 78 31 20 28 2a 20 64 6f 75 62 6c 65 29 29   (x1 (* double))
1530: 20 28 79 31 20 28 2a 20 64 6f 75 62 6c 65 29 29   (y1 (* double))
1540: 20 28 78 32 20 28 2a 20 64 6f 75 62 6c 65 29 29   (x2 (* double))
1550: 20 28 79 32 20 28 2a 20 64 6f 75 62 6c 65 29 29   (y2 (* double))
1560: 29 20 22 63 61 69 72 6f 5f 70 61 74 68 5f 65 78  ) "cairo_path_ex
1570: 74 65 6e 74 73 22 29 0a 28 64 65 66 69 6e 65 2d  tents").(define-
1580: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
1590: 63 61 69 72 6f 2d 70 61 69 6e 74 20 28 28 63 72  cairo-paint ((cr
15a0: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22   (* cairo-t))) "
15b0: 63 61 69 72 6f 5f 70 61 69 6e 74 22 29 0a 28 64  cairo_paint").(d
15c0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
15d0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 70 61 69 6e   void cairo-pain
15e0: 74 2d 77 69 74 68 2d 61 6c 70 68 61 20 28 28 63  t-with-alpha ((c
15f0: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28  r (* cairo-t)) (
1600: 61 6c 70 68 61 20 64 6f 75 62 6c 65 29 29 20 22  alpha double)) "
1610: 63 61 69 72 6f 5f 70 61 69 6e 74 5f 77 69 74 68  cairo_paint_with
1620: 5f 61 6c 70 68 61 22 29 0a 28 64 65 66 69 6e 65  _alpha").(define
1630: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
1640: 20 63 61 69 72 6f 2d 6d 61 73 6b 20 28 28 63 72   cairo-mask ((cr
1650: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 70   (* cairo-t)) (p
1660: 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d  attern (* cairo-
1670: 70 61 74 74 65 72 6e 2d 74 29 29 29 20 22 63 61  pattern-t))) "ca
1680: 69 72 6f 5f 6d 61 73 6b 22 29 0a 28 64 65 66 69  iro_mask").(defi
1690: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
16a0: 69 64 20 63 61 69 72 6f 2d 6d 61 73 6b 2d 73 75  id cairo-mask-su
16b0: 72 66 61 63 65 20 28 28 63 72 20 28 2a 20 63 61  rface ((cr (* ca
16c0: 69 72 6f 2d 74 29 29 20 28 73 75 72 66 61 63 65  iro-t)) (surface
16d0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
16e0: 65 2d 74 29 29 20 28 73 75 72 66 61 63 65 5f 78  e-t)) (surface_x
16f0: 20 64 6f 75 62 6c 65 29 20 28 73 75 72 66 61 63   double) (surfac
1700: 65 5f 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61  e_y double)) "ca
1710: 69 72 6f 5f 6d 61 73 6b 5f 73 75 72 66 61 63 65  iro_mask_surface
1720: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
1730: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
1740: 2d 73 74 72 6f 6b 65 20 28 28 63 72 20 28 2a 20  -stroke ((cr (* 
1750: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
1760: 6f 5f 73 74 72 6f 6b 65 22 29 0a 28 64 65 66 69  o_stroke").(defi
1770: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
1780: 69 64 20 63 61 69 72 6f 2d 73 74 72 6f 6b 65 2d  id cairo-stroke-
1790: 70 72 65 73 65 72 76 65 20 28 28 63 72 20 28 2a  preserve ((cr (*
17a0: 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69   cairo-t))) "cai
17b0: 72 6f 5f 73 74 72 6f 6b 65 5f 70 72 65 73 65 72  ro_stroke_preser
17c0: 76 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ve").(define-cai
17d0: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
17e0: 72 6f 2d 66 69 6c 6c 20 28 28 63 72 20 28 2a 20  ro-fill ((cr (* 
17f0: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
1800: 6f 5f 66 69 6c 6c 22 29 0a 28 64 65 66 69 6e 65  o_fill").(define
1810: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
1820: 20 63 61 69 72 6f 2d 66 69 6c 6c 2d 70 72 65 73   cairo-fill-pres
1830: 65 72 76 65 20 28 28 63 72 20 28 2a 20 63 61 69  erve ((cr (* cai
1840: 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 66  ro-t))) "cairo_f
1850: 69 6c 6c 5f 70 72 65 73 65 72 76 65 22 29 0a 28  ill_preserve").(
1860: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
1870: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 63 6f 70  c void cairo-cop
1880: 79 2d 70 61 67 65 20 28 28 63 72 20 28 2a 20 63  y-page ((cr (* c
1890: 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f  airo-t))) "cairo
18a0: 5f 63 6f 70 79 5f 70 61 67 65 22 29 0a 28 64 65  _copy_page").(de
18b0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
18c0: 76 6f 69 64 20 63 61 69 72 6f 2d 73 68 6f 77 2d  void cairo-show-
18d0: 70 61 67 65 20 28 28 63 72 20 28 2a 20 63 61 69  page ((cr (* cai
18e0: 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  ro-t))) "cairo_s
18f0: 68 6f 77 5f 70 61 67 65 22 29 0a 28 64 65 66 69  how_page").(defi
1900: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
1910: 69 72 6f 2d 62 6f 6f 6c 2d 74 20 63 61 69 72 6f  iro-bool-t cairo
1920: 2d 69 6e 2d 73 74 72 6f 6b 65 20 28 28 63 72 20  -in-stroke ((cr 
1930: 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 78 20  (* cairo-t)) (x 
1940: 64 6f 75 62 6c 65 29 20 28 79 20 64 6f 75 62 6c  double) (y doubl
1950: 65 29 29 20 22 63 61 69 72 6f 5f 69 6e 5f 73 74  e)) "cairo_in_st
1960: 72 6f 6b 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  roke").(define-c
1970: 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d  airo-func cairo-
1980: 62 6f 6f 6c 2d 74 20 63 61 69 72 6f 2d 69 6e 2d  bool-t cairo-in-
1990: 66 69 6c 6c 20 28 28 63 72 20 28 2a 20 63 61 69  fill ((cr (* cai
19a0: 72 6f 2d 74 29 29 20 28 78 20 64 6f 75 62 6c 65  ro-t)) (x double
19b0: 29 20 28 79 20 64 6f 75 62 6c 65 29 29 20 22 63  ) (y double)) "c
19c0: 61 69 72 6f 5f 69 6e 5f 66 69 6c 6c 22 29 0a 28  airo_in_fill").(
19d0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
19e0: 63 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74 20 63  c cairo-bool-t c
19f0: 61 69 72 6f 2d 69 6e 2d 63 6c 69 70 20 28 28 63  airo-in-clip ((c
1a00: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28  r (* cairo-t)) (
1a10: 78 20 64 6f 75 62 6c 65 29 20 28 79 20 64 6f 75  x double) (y dou
1a20: 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 69 6e 5f  ble)) "cairo_in_
1a30: 63 6c 69 70 22 29 0a 28 64 65 66 69 6e 65 2d 63  clip").(define-c
1a40: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
1a50: 61 69 72 6f 2d 73 74 72 6f 6b 65 2d 65 78 74 65  airo-stroke-exte
1a60: 6e 74 73 20 28 28 63 72 20 28 2a 20 63 61 69 72  nts ((cr (* cair
1a70: 6f 2d 74 29 29 20 28 78 31 20 28 2a 20 64 6f 75  o-t)) (x1 (* dou
1a80: 62 6c 65 29 29 20 28 79 31 20 28 2a 20 64 6f 75  ble)) (y1 (* dou
1a90: 62 6c 65 29 29 20 28 78 32 20 28 2a 20 64 6f 75  ble)) (x2 (* dou
1aa0: 62 6c 65 29 29 20 28 79 32 20 28 2a 20 64 6f 75  ble)) (y2 (* dou
1ab0: 62 6c 65 29 29 29 20 22 63 61 69 72 6f 5f 73 74  ble))) "cairo_st
1ac0: 72 6f 6b 65 5f 65 78 74 65 6e 74 73 22 29 0a 28  roke_extents").(
1ad0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
1ae0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 66 69 6c  c void cairo-fil
1af0: 6c 2d 65 78 74 65 6e 74 73 20 28 28 63 72 20 28  l-extents ((cr (
1b00: 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 78 31 20  * cairo-t)) (x1 
1b10: 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 79 31 20  (* double)) (y1 
1b20: 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 78 32 20  (* double)) (x2 
1b30: 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 79 32 20  (* double)) (y2 
1b40: 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61  (* double))) "ca
1b50: 69 72 6f 5f 66 69 6c 6c 5f 65 78 74 65 6e 74 73  iro_fill_extents
1b60: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
1b70: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
1b80: 2d 72 65 73 65 74 2d 63 6c 69 70 20 28 28 63 72  -reset-clip ((cr
1b90: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22   (* cairo-t))) "
1ba0: 63 61 69 72 6f 5f 72 65 73 65 74 5f 63 6c 69 70  cairo_reset_clip
1bb0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
1bc0: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
1bd0: 2d 63 6c 69 70 20 28 28 63 72 20 28 2a 20 63 61  -clip ((cr (* ca
1be0: 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  iro-t))) "cairo_
1bf0: 63 6c 69 70 22 29 0a 28 64 65 66 69 6e 65 2d 63  clip").(define-c
1c00: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
1c10: 61 69 72 6f 2d 63 6c 69 70 2d 70 72 65 73 65 72  airo-clip-preser
1c20: 76 65 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  ve ((cr (* cairo
1c30: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 63 6c 69  -t))) "cairo_cli
1c40: 70 5f 70 72 65 73 65 72 76 65 22 29 0a 28 64 65  p_preserve").(de
1c50: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
1c60: 76 6f 69 64 20 63 61 69 72 6f 2d 63 6c 69 70 2d  void cairo-clip-
1c70: 65 78 74 65 6e 74 73 20 28 28 63 72 20 28 2a 20  extents ((cr (* 
1c80: 63 61 69 72 6f 2d 74 29 29 20 28 78 31 20 28 2a  cairo-t)) (x1 (*
1c90: 20 64 6f 75 62 6c 65 29 29 20 28 79 31 20 28 2a   double)) (y1 (*
1ca0: 20 64 6f 75 62 6c 65 29 29 20 28 78 32 20 28 2a   double)) (x2 (*
1cb0: 20 64 6f 75 62 6c 65 29 29 20 28 79 32 20 28 2a   double)) (y2 (*
1cc0: 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61 69 72   double))) "cair
1cd0: 6f 5f 63 6c 69 70 5f 65 78 74 65 6e 74 73 22 29  o_clip_extents")
1ce0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
1cf0: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 72 65 63  unc (* cairo-rec
1d00: 74 61 6e 67 6c 65 2d 6c 69 73 74 2d 74 29 20 63  tangle-list-t) c
1d10: 61 69 72 6f 2d 63 6f 70 79 2d 63 6c 69 70 2d 72  airo-copy-clip-r
1d20: 65 63 74 61 6e 67 6c 65 2d 6c 69 73 74 20 28 28  ectangle-list ((
1d30: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29  cr (* cairo-t)))
1d40: 20 22 63 61 69 72 6f 5f 63 6f 70 79 5f 63 6c 69   "cairo_copy_cli
1d50: 70 5f 72 65 63 74 61 6e 67 6c 65 5f 6c 69 73 74  p_rectangle_list
1d60: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
1d70: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
1d80: 2d 72 65 63 74 61 6e 67 6c 65 2d 6c 69 73 74 2d  -rectangle-list-
1d90: 64 65 73 74 72 6f 79 20 28 28 72 65 63 74 61 6e  destroy ((rectan
1da0: 67 6c 65 5f 6c 69 73 74 20 28 2a 20 63 61 69 72  gle_list (* cair
1db0: 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 6c 69 73 74  o-rectangle-list
1dc0: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65 63  -t))) "cairo_rec
1dd0: 74 61 6e 67 6c 65 5f 6c 69 73 74 5f 64 65 73 74  tangle_list_dest
1de0: 72 6f 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  roy").(define-ca
1df0: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
1e00: 6f 2d 67 6c 79 70 68 2d 74 29 20 63 61 69 72 6f  o-glyph-t) cairo
1e10: 2d 67 6c 79 70 68 2d 61 6c 6c 6f 63 61 74 65 20  -glyph-allocate 
1e20: 28 28 6e 75 6d 5f 67 6c 79 70 68 73 20 69 6e 74  ((num_glyphs int
1e30: 29 29 20 22 63 61 69 72 6f 5f 67 6c 79 70 68 5f  )) "cairo_glyph_
1e40: 61 6c 6c 6f 63 61 74 65 22 29 0a 28 64 65 66 69  allocate").(defi
1e50: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
1e60: 69 64 20 63 61 69 72 6f 2d 67 6c 79 70 68 2d 66  id cairo-glyph-f
1e70: 72 65 65 20 28 28 67 6c 79 70 68 73 20 28 2a 20  ree ((glyphs (* 
1e80: 63 61 69 72 6f 2d 67 6c 79 70 68 2d 74 29 29 29  cairo-glyph-t)))
1e90: 20 22 63 61 69 72 6f 5f 67 6c 79 70 68 5f 66 72   "cairo_glyph_fr
1ea0: 65 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ee").(define-cai
1eb0: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
1ec0: 2d 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 74 29  -text-cluster-t)
1ed0: 20 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 73   cairo-text-clus
1ee0: 74 65 72 2d 61 6c 6c 6f 63 61 74 65 20 28 28 6e  ter-allocate ((n
1ef0: 75 6d 5f 63 6c 75 73 74 65 72 73 20 69 6e 74 29  um_clusters int)
1f00: 29 20 22 63 61 69 72 6f 5f 74 65 78 74 5f 63 6c  ) "cairo_text_cl
1f10: 75 73 74 65 72 5f 61 6c 6c 6f 63 61 74 65 22 29  uster_allocate")
1f20: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
1f30: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 74  unc void cairo-t
1f40: 65 78 74 2d 63 6c 75 73 74 65 72 2d 66 72 65 65  ext-cluster-free
1f50: 20 28 28 63 6c 75 73 74 65 72 73 20 28 2a 20 63   ((clusters (* c
1f60: 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 73 74 65  airo-text-cluste
1f70: 72 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 74 65  r-t))) "cairo_te
1f80: 78 74 5f 63 6c 75 73 74 65 72 5f 66 72 65 65 22  xt_cluster_free"
1f90: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
1fa0: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 66 6f  func (* cairo-fo
1fb0: 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 20 63 61  nt-options-t) ca
1fc0: 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73  iro-font-options
1fd0: 2d 63 72 65 61 74 65 20 28 29 20 22 63 61 69 72  -create () "cair
1fe0: 6f 5f 66 6f 6e 74 5f 6f 70 74 69 6f 6e 73 5f 63  o_font_options_c
1ff0: 72 65 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d  reate").(define-
2000: 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61  cairo-func (* ca
2010: 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73  iro-font-options
2020: 2d 74 29 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f  -t) cairo-font-o
2030: 70 74 69 6f 6e 73 2d 63 6f 70 79 20 28 28 6f 72  ptions-copy ((or
2040: 69 67 69 6e 61 6c 20 28 2a 20 63 61 69 72 6f 2d  iginal (* cairo-
2050: 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 29  font-options-t))
2060: 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 6f 70  ) "cairo_font_op
2070: 74 69 6f 6e 73 5f 63 6f 70 79 22 29 0a 28 64 65  tions_copy").(de
2080: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
2090: 76 6f 69 64 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  void cairo-font-
20a0: 6f 70 74 69 6f 6e 73 2d 64 65 73 74 72 6f 79 20  options-destroy 
20b0: 28 28 6f 70 74 69 6f 6e 73 20 28 2a 20 63 61 69  ((options (* cai
20c0: 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d  ro-font-options-
20d0: 74 29 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74  t))) "cairo_font
20e0: 5f 6f 70 74 69 6f 6e 73 5f 64 65 73 74 72 6f 79  _options_destroy
20f0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
2100: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
2110: 75 73 2d 74 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  us-t cairo-font-
2120: 6f 70 74 69 6f 6e 73 2d 73 74 61 74 75 73 20 28  options-status (
2130: 28 6f 70 74 69 6f 6e 73 20 28 2a 20 63 61 69 72  (options (* cair
2140: 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74  o-font-options-t
2150: 29 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f  ))) "cairo_font_
2160: 6f 70 74 69 6f 6e 73 5f 73 74 61 74 75 73 22 29  options_status")
2170: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
2180: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 66  unc void cairo-f
2190: 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 6d 65 72 67  ont-options-merg
21a0: 65 20 28 28 6f 70 74 69 6f 6e 73 20 28 2a 20 63  e ((options (* c
21b0: 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e  airo-font-option
21c0: 73 2d 74 29 29 20 28 6f 74 68 65 72 20 28 2a 20  s-t)) (other (* 
21d0: 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f  cairo-font-optio
21e0: 6e 73 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 66  ns-t))) "cairo_f
21f0: 6f 6e 74 5f 6f 70 74 69 6f 6e 73 5f 6d 65 72 67  ont_options_merg
2200: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
2210: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f  o-func cairo-boo
2220: 6c 2d 74 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f  l-t cairo-font-o
2230: 70 74 69 6f 6e 73 2d 65 71 75 61 6c 20 28 28 6f  ptions-equal ((o
2240: 70 74 69 6f 6e 73 20 28 2a 20 63 61 69 72 6f 2d  ptions (* cairo-
2250: 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 29  font-options-t))
2260: 20 28 6f 74 68 65 72 20 28 2a 20 63 61 69 72 6f   (other (* cairo
2270: 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29  -font-options-t)
2280: 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 6f  )) "cairo_font_o
2290: 70 74 69 6f 6e 73 5f 65 71 75 61 6c 22 29 0a 28  ptions_equal").(
22a0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
22b0: 63 20 75 6e 73 69 67 6e 65 64 2d 6c 6f 6e 67 20  c unsigned-long 
22c0: 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f  cairo-font-optio
22d0: 6e 73 2d 68 61 73 68 20 28 28 6f 70 74 69 6f 6e  ns-hash ((option
22e0: 73 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  s (* cairo-font-
22f0: 6f 70 74 69 6f 6e 73 2d 74 29 29 29 20 22 63 61  options-t))) "ca
2300: 69 72 6f 5f 66 6f 6e 74 5f 6f 70 74 69 6f 6e 73  iro_font_options
2310: 5f 68 61 73 68 22 29 0a 28 64 65 66 69 6e 65 2d  _hash").(define-
2320: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
2330: 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f  cairo-font-optio
2340: 6e 73 2d 73 65 74 2d 61 6e 74 69 61 6c 69 61 73  ns-set-antialias
2350: 20 28 28 6f 70 74 69 6f 6e 73 20 28 2a 20 63 61   ((options (* ca
2360: 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73  iro-font-options
2370: 2d 74 29 29 20 28 61 6e 74 69 61 6c 69 61 73 20  -t)) (antialias 
2380: 63 61 69 72 6f 2d 61 6e 74 69 61 6c 69 61 73 2d  cairo-antialias-
2390: 74 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f  t)) "cairo_font_
23a0: 6f 70 74 69 6f 6e 73 5f 73 65 74 5f 61 6e 74 69  options_set_anti
23b0: 61 6c 69 61 73 22 29 0a 28 64 65 66 69 6e 65 2d  alias").(define-
23c0: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
23d0: 2d 61 6e 74 69 61 6c 69 61 73 2d 74 20 63 61 69  -antialias-t cai
23e0: 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d  ro-font-options-
23f0: 67 65 74 2d 61 6e 74 69 61 6c 69 61 73 20 28 28  get-antialias ((
2400: 6f 70 74 69 6f 6e 73 20 28 2a 20 63 61 69 72 6f  options (* cairo
2410: 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29  -font-options-t)
2420: 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 6f  )) "cairo_font_o
2430: 70 74 69 6f 6e 73 5f 67 65 74 5f 61 6e 74 69 61  ptions_get_antia
2440: 6c 69 61 73 22 29 0a 28 64 65 66 69 6e 65 2d 63  lias").(define-c
2450: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
2460: 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e  airo-font-option
2470: 73 2d 73 65 74 2d 73 75 62 70 69 78 65 6c 2d 6f  s-set-subpixel-o
2480: 72 64 65 72 20 28 28 6f 70 74 69 6f 6e 73 20 28  rder ((options (
2490: 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74  * cairo-font-opt
24a0: 69 6f 6e 73 2d 74 29 29 20 28 73 75 62 70 69 78  ions-t)) (subpix
24b0: 65 6c 5f 6f 72 64 65 72 20 63 61 69 72 6f 2d 73  el_order cairo-s
24c0: 75 62 70 69 78 65 6c 2d 6f 72 64 65 72 2d 74 29  ubpixel-order-t)
24d0: 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 6f 70  ) "cairo_font_op
24e0: 74 69 6f 6e 73 5f 73 65 74 5f 73 75 62 70 69 78  tions_set_subpix
24f0: 65 6c 5f 6f 72 64 65 72 22 29 0a 28 64 65 66 69  el_order").(defi
2500: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
2510: 69 72 6f 2d 73 75 62 70 69 78 65 6c 2d 6f 72 64  iro-subpixel-ord
2520: 65 72 2d 74 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  er-t cairo-font-
2530: 6f 70 74 69 6f 6e 73 2d 67 65 74 2d 73 75 62 70  options-get-subp
2540: 69 78 65 6c 2d 6f 72 64 65 72 20 28 28 6f 70 74  ixel-order ((opt
2550: 69 6f 6e 73 20 28 2a 20 63 61 69 72 6f 2d 66 6f  ions (* cairo-fo
2560: 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 29 29 20  nt-options-t))) 
2570: 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 6f 70 74 69  "cairo_font_opti
2580: 6f 6e 73 5f 67 65 74 5f 73 75 62 70 69 78 65 6c  ons_get_subpixel
2590: 5f 6f 72 64 65 72 22 29 0a 28 64 65 66 69 6e 65  _order").(define
25a0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
25b0: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69   cairo-font-opti
25c0: 6f 6e 73 2d 73 65 74 2d 68 69 6e 74 2d 73 74 79  ons-set-hint-sty
25d0: 6c 65 20 28 28 6f 70 74 69 6f 6e 73 20 28 2a 20  le ((options (* 
25e0: 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f  cairo-font-optio
25f0: 6e 73 2d 74 29 29 20 28 68 69 6e 74 5f 73 74 79  ns-t)) (hint_sty
2600: 6c 65 20 63 61 69 72 6f 2d 68 69 6e 74 2d 73 74  le cairo-hint-st
2610: 79 6c 65 2d 74 29 29 20 22 63 61 69 72 6f 5f 66  yle-t)) "cairo_f
2620: 6f 6e 74 5f 6f 70 74 69 6f 6e 73 5f 73 65 74 5f  ont_options_set_
2630: 68 69 6e 74 5f 73 74 79 6c 65 22 29 0a 28 64 65  hint_style").(de
2640: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
2650: 63 61 69 72 6f 2d 68 69 6e 74 2d 73 74 79 6c 65  cairo-hint-style
2660: 2d 74 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70  -t cairo-font-op
2670: 74 69 6f 6e 73 2d 67 65 74 2d 68 69 6e 74 2d 73  tions-get-hint-s
2680: 74 79 6c 65 20 28 28 6f 70 74 69 6f 6e 73 20 28  tyle ((options (
2690: 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74  * cairo-font-opt
26a0: 69 6f 6e 73 2d 74 29 29 29 20 22 63 61 69 72 6f  ions-t))) "cairo
26b0: 5f 66 6f 6e 74 5f 6f 70 74 69 6f 6e 73 5f 67 65  _font_options_ge
26c0: 74 5f 68 69 6e 74 5f 73 74 79 6c 65 22 29 0a 28  t_hint_style").(
26d0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
26e0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 66 6f 6e  c void cairo-fon
26f0: 74 2d 6f 70 74 69 6f 6e 73 2d 73 65 74 2d 68 69  t-options-set-hi
2700: 6e 74 2d 6d 65 74 72 69 63 73 20 28 28 6f 70 74  nt-metrics ((opt
2710: 69 6f 6e 73 20 28 2a 20 63 61 69 72 6f 2d 66 6f  ions (* cairo-fo
2720: 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 29 20 28  nt-options-t)) (
2730: 68 69 6e 74 5f 6d 65 74 72 69 63 73 20 63 61 69  hint_metrics cai
2740: 72 6f 2d 68 69 6e 74 2d 6d 65 74 72 69 63 73 2d  ro-hint-metrics-
2750: 74 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f  t)) "cairo_font_
2760: 6f 70 74 69 6f 6e 73 5f 73 65 74 5f 68 69 6e 74  options_set_hint
2770: 5f 6d 65 74 72 69 63 73 22 29 0a 28 64 65 66 69  _metrics").(defi
2780: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
2790: 69 72 6f 2d 68 69 6e 74 2d 6d 65 74 72 69 63 73  iro-hint-metrics
27a0: 2d 74 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70  -t cairo-font-op
27b0: 74 69 6f 6e 73 2d 67 65 74 2d 68 69 6e 74 2d 6d  tions-get-hint-m
27c0: 65 74 72 69 63 73 20 28 28 6f 70 74 69 6f 6e 73  etrics ((options
27d0: 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f   (* cairo-font-o
27e0: 70 74 69 6f 6e 73 2d 74 29 29 29 20 22 63 61 69  ptions-t))) "cai
27f0: 72 6f 5f 66 6f 6e 74 5f 6f 70 74 69 6f 6e 73 5f  ro_font_options_
2800: 67 65 74 5f 68 69 6e 74 5f 6d 65 74 72 69 63 73  get_hint_metrics
2810: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
2820: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
2830: 2d 73 65 6c 65 63 74 2d 66 6f 6e 74 2d 66 61 63  -select-font-fac
2840: 65 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d  e ((cr (* cairo-
2850: 74 29 29 20 28 66 61 6d 69 6c 79 20 73 74 72 69  t)) (family stri
2860: 6e 67 29 20 28 73 6c 61 6e 74 20 63 61 69 72 6f  ng) (slant cairo
2870: 2d 66 6f 6e 74 2d 73 6c 61 6e 74 2d 74 29 20 28  -font-slant-t) (
2880: 77 65 69 67 68 74 20 63 61 69 72 6f 2d 66 6f 6e  weight cairo-fon
2890: 74 2d 77 65 69 67 68 74 2d 74 29 29 20 22 63 61  t-weight-t)) "ca
28a0: 69 72 6f 5f 73 65 6c 65 63 74 5f 66 6f 6e 74 5f  iro_select_font_
28b0: 66 61 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  face").(define-c
28c0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
28d0: 61 69 72 6f 2d 73 65 74 2d 66 6f 6e 74 2d 73 69  airo-set-font-si
28e0: 7a 65 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  ze ((cr (* cairo
28f0: 2d 74 29 29 20 28 73 69 7a 65 20 64 6f 75 62 6c  -t)) (size doubl
2900: 65 29 29 20 22 63 61 69 72 6f 5f 73 65 74 5f 66  e)) "cairo_set_f
2910: 6f 6e 74 5f 73 69 7a 65 22 29 0a 28 64 65 66 69  ont_size").(defi
2920: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
2930: 69 64 20 63 61 69 72 6f 2d 73 65 74 2d 66 6f 6e  id cairo-set-fon
2940: 74 2d 6d 61 74 72 69 78 20 28 28 63 72 20 28 2a  t-matrix ((cr (*
2950: 20 63 61 69 72 6f 2d 74 29 29 20 28 6d 61 74 72   cairo-t)) (matr
2960: 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72  ix (* cairo-matr
2970: 69 78 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  ix-t))) "cairo_s
2980: 65 74 5f 66 6f 6e 74 5f 6d 61 74 72 69 78 22 29  et_font_matrix")
2990: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
29a0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 67  unc void cairo-g
29b0: 65 74 2d 66 6f 6e 74 2d 6d 61 74 72 69 78 20 28  et-font-matrix (
29c0: 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29  (cr (* cairo-t))
29d0: 20 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72   (matrix (* cair
29e0: 6f 2d 6d 61 74 72 69 78 2d 74 29 29 29 20 22 63  o-matrix-t))) "c
29f0: 61 69 72 6f 5f 67 65 74 5f 66 6f 6e 74 5f 6d 61  airo_get_font_ma
2a00: 74 72 69 78 22 29 0a 28 64 65 66 69 6e 65 2d 63  trix").(define-c
2a10: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
2a20: 61 69 72 6f 2d 73 65 74 2d 66 6f 6e 74 2d 6f 70  airo-set-font-op
2a30: 74 69 6f 6e 73 20 28 28 63 72 20 28 2a 20 63 61  tions ((cr (* ca
2a40: 69 72 6f 2d 74 29 29 20 28 6f 70 74 69 6f 6e 73  iro-t)) (options
2a50: 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f   (* cairo-font-o
2a60: 70 74 69 6f 6e 73 2d 74 29 29 29 20 22 63 61 69  ptions-t))) "cai
2a70: 72 6f 5f 73 65 74 5f 66 6f 6e 74 5f 6f 70 74 69  ro_set_font_opti
2a80: 6f 6e 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ons").(define-ca
2a90: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
2aa0: 69 72 6f 2d 67 65 74 2d 66 6f 6e 74 2d 6f 70 74  iro-get-font-opt
2ab0: 69 6f 6e 73 20 28 28 63 72 20 28 2a 20 63 61 69  ions ((cr (* cai
2ac0: 72 6f 2d 74 29 29 20 28 6f 70 74 69 6f 6e 73 20  ro-t)) (options 
2ad0: 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70  (* cairo-font-op
2ae0: 74 69 6f 6e 73 2d 74 29 29 29 20 22 63 61 69 72  tions-t))) "cair
2af0: 6f 5f 67 65 74 5f 66 6f 6e 74 5f 6f 70 74 69 6f  o_get_font_optio
2b00: 6e 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ns").(define-cai
2b10: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
2b20: 72 6f 2d 73 65 74 2d 66 6f 6e 74 2d 66 61 63 65  ro-set-font-face
2b30: 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74   ((cr (* cairo-t
2b40: 29 29 20 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a  )) (font_face (*
2b50: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65   cairo-font-face
2b60: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 65 74  -t))) "cairo_set
2b70: 5f 66 6f 6e 74 5f 66 61 63 65 22 29 0a 28 64 65  _font_face").(de
2b80: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
2b90: 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61  (* cairo-font-fa
2ba0: 63 65 2d 74 29 20 63 61 69 72 6f 2d 67 65 74 2d  ce-t) cairo-get-
2bb0: 66 6f 6e 74 2d 66 61 63 65 20 28 28 63 72 20 28  font-face ((cr (
2bc0: 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61  * cairo-t))) "ca
2bd0: 69 72 6f 5f 67 65 74 5f 66 6f 6e 74 5f 66 61 63  iro_get_font_fac
2be0: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
2bf0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
2c00: 6f 2d 73 65 74 2d 73 63 61 6c 65 64 2d 66 6f 6e  o-set-scaled-fon
2c10: 74 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d  t ((cr (* cairo-
2c20: 74 29 29 20 28 73 63 61 6c 65 64 5f 66 6f 6e 74  t)) (scaled_font
2c30: 20 28 2a 20 63 61 69 72 6f 2d 73 63 61 6c 65 64   (* cairo-scaled
2c40: 2d 66 6f 6e 74 2d 74 29 29 29 20 22 63 61 69 72  -font-t))) "cair
2c50: 6f 5f 73 65 74 5f 73 63 61 6c 65 64 5f 66 6f 6e  o_set_scaled_fon
2c60: 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  t").(define-cair
2c70: 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  o-func (* cairo-
2c80: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 20 63  scaled-font-t) c
2c90: 61 69 72 6f 2d 67 65 74 2d 73 63 61 6c 65 64 2d  airo-get-scaled-
2ca0: 66 6f 6e 74 20 28 28 63 72 20 28 2a 20 63 61 69  font ((cr (* cai
2cb0: 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 67  ro-t))) "cairo_g
2cc0: 65 74 5f 73 63 61 6c 65 64 5f 66 6f 6e 74 22 29  et_scaled_font")
2cd0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
2ce0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73  unc void cairo-s
2cf0: 68 6f 77 2d 74 65 78 74 20 28 28 63 72 20 28 2a  how-text ((cr (*
2d00: 20 63 61 69 72 6f 2d 74 29 29 20 28 75 74 66 38   cairo-t)) (utf8
2d10: 20 73 74 72 69 6e 67 29 29 20 22 63 61 69 72 6f   string)) "cairo
2d20: 5f 73 68 6f 77 5f 74 65 78 74 22 29 0a 28 64 65  _show_text").(de
2d30: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
2d40: 76 6f 69 64 20 63 61 69 72 6f 2d 73 68 6f 77 2d  void cairo-show-
2d50: 67 6c 79 70 68 73 20 28 28 63 72 20 28 2a 20 63  glyphs ((cr (* c
2d60: 61 69 72 6f 2d 74 29 29 20 28 67 6c 79 70 68 73  airo-t)) (glyphs
2d70: 20 28 2a 20 63 61 69 72 6f 2d 67 6c 79 70 68 2d   (* cairo-glyph-
2d80: 74 29 29 20 28 6e 75 6d 5f 67 6c 79 70 68 73 20  t)) (num_glyphs 
2d90: 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 73 68 6f  int)) "cairo_sho
2da0: 77 5f 67 6c 79 70 68 73 22 29 0a 28 64 65 66 69  w_glyphs").(defi
2db0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
2dc0: 69 64 20 63 61 69 72 6f 2d 73 68 6f 77 2d 74 65  id cairo-show-te
2dd0: 78 74 2d 67 6c 79 70 68 73 20 28 28 63 72 20 28  xt-glyphs ((cr (
2de0: 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 75 74 66  * cairo-t)) (utf
2df0: 38 20 73 74 72 69 6e 67 29 20 28 75 74 66 38 5f  8 string) (utf8_
2e00: 6c 65 6e 20 69 6e 74 29 20 28 67 6c 79 70 68 73  len int) (glyphs
2e10: 20 28 2a 20 63 61 69 72 6f 2d 67 6c 79 70 68 2d   (* cairo-glyph-
2e20: 74 29 29 20 28 6e 75 6d 5f 67 6c 79 70 68 73 20  t)) (num_glyphs 
2e30: 69 6e 74 29 20 28 63 6c 75 73 74 65 72 73 20 28  int) (clusters (
2e40: 2a 20 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75  * cairo-text-clu
2e50: 73 74 65 72 2d 74 29 29 20 28 6e 75 6d 5f 63 6c  ster-t)) (num_cl
2e60: 75 73 74 65 72 73 20 69 6e 74 29 20 28 63 6c 75  usters int) (clu
2e70: 73 74 65 72 5f 66 6c 61 67 73 20 63 61 69 72 6f  ster_flags cairo
2e80: 2d 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 66 6c  -text-cluster-fl
2e90: 61 67 73 2d 74 29 29 20 22 63 61 69 72 6f 5f 73  ags-t)) "cairo_s
2ea0: 68 6f 77 5f 74 65 78 74 5f 67 6c 79 70 68 73 22  how_text_glyphs"
2eb0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
2ec0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
2ed0: 74 65 78 74 2d 70 61 74 68 20 28 28 63 72 20 28  text-path ((cr (
2ee0: 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 75 74 66  * cairo-t)) (utf
2ef0: 38 20 73 74 72 69 6e 67 29 29 20 22 63 61 69 72  8 string)) "cair
2f00: 6f 5f 74 65 78 74 5f 70 61 74 68 22 29 0a 28 64  o_text_path").(d
2f10: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
2f20: 20 76 6f 69 64 20 63 61 69 72 6f 2d 67 6c 79 70   void cairo-glyp
2f30: 68 2d 70 61 74 68 20 28 28 63 72 20 28 2a 20 63  h-path ((cr (* c
2f40: 61 69 72 6f 2d 74 29 29 20 28 67 6c 79 70 68 73  airo-t)) (glyphs
2f50: 20 28 2a 20 63 61 69 72 6f 2d 67 6c 79 70 68 2d   (* cairo-glyph-
2f60: 74 29 29 20 28 6e 75 6d 5f 67 6c 79 70 68 73 20  t)) (num_glyphs 
2f70: 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 67 6c 79  int)) "cairo_gly
2f80: 70 68 5f 70 61 74 68 22 29 0a 28 64 65 66 69 6e  ph_path").(defin
2f90: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
2fa0: 64 20 63 61 69 72 6f 2d 74 65 78 74 2d 65 78 74  d cairo-text-ext
2fb0: 65 6e 74 73 20 28 28 63 72 20 28 2a 20 63 61 69  ents ((cr (* cai
2fc0: 72 6f 2d 74 29 29 20 28 75 74 66 38 20 73 74 72  ro-t)) (utf8 str
2fd0: 69 6e 67 29 20 28 65 78 74 65 6e 74 73 20 28 2a  ing) (extents (*
2fe0: 20 63 61 69 72 6f 2d 74 65 78 74 2d 65 78 74 65   cairo-text-exte
2ff0: 6e 74 73 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  nts-t))) "cairo_
3000: 74 65 78 74 5f 65 78 74 65 6e 74 73 22 29 0a 28  text_extents").(
3010: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
3020: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 67 6c 79  c void cairo-gly
3030: 70 68 2d 65 78 74 65 6e 74 73 20 28 28 63 72 20  ph-extents ((cr 
3040: 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 67 6c  (* cairo-t)) (gl
3050: 79 70 68 73 20 28 2a 20 63 61 69 72 6f 2d 67 6c  yphs (* cairo-gl
3060: 79 70 68 2d 74 29 29 20 28 6e 75 6d 5f 67 6c 79  yph-t)) (num_gly
3070: 70 68 73 20 69 6e 74 29 20 28 65 78 74 65 6e 74  phs int) (extent
3080: 73 20 28 2a 20 63 61 69 72 6f 2d 74 65 78 74 2d  s (* cairo-text-
3090: 65 78 74 65 6e 74 73 2d 74 29 29 29 20 22 63 61  extents-t))) "ca
30a0: 69 72 6f 5f 67 6c 79 70 68 5f 65 78 74 65 6e 74  iro_glyph_extent
30b0: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
30c0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
30d0: 6f 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 20 28  o-font-extents (
30e0: 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29  (cr (* cairo-t))
30f0: 20 28 65 78 74 65 6e 74 73 20 28 2a 20 63 61 69   (extents (* cai
3100: 72 6f 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 2d  ro-font-extents-
3110: 74 29 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74  t))) "cairo_font
3120: 5f 65 78 74 65 6e 74 73 22 29 0a 28 64 65 66 69  _extents").(defi
3130: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
3140: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65   cairo-font-face
3150: 2d 74 29 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66  -t) cairo-font-f
3160: 61 63 65 2d 72 65 66 65 72 65 6e 63 65 20 28 28  ace-reference ((
3170: 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20 63 61 69  font_face (* cai
3180: 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 29  ro-font-face-t))
3190: 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 66 61  ) "cairo_font_fa
31a0: 63 65 5f 72 65 66 65 72 65 6e 63 65 22 29 0a 28  ce_reference").(
31b0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
31c0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 66 6f 6e  c void cairo-fon
31d0: 74 2d 66 61 63 65 2d 64 65 73 74 72 6f 79 20 28  t-face-destroy (
31e0: 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20 63 61  (font_face (* ca
31f0: 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29  iro-font-face-t)
3200: 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 66  )) "cairo_font_f
3210: 61 63 65 5f 64 65 73 74 72 6f 79 22 29 0a 28 64  ace_destroy").(d
3220: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
3230: 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74 20 63 61   unsigned-int ca
3240: 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65  iro-font-face-ge
3250: 74 2d 72 65 66 65 72 65 6e 63 65 2d 63 6f 75 6e  t-reference-coun
3260: 74 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a  t ((font_face (*
3270: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65   cairo-font-face
3280: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e  -t))) "cairo_fon
3290: 74 5f 66 61 63 65 5f 67 65 74 5f 72 65 66 65 72  t_face_get_refer
32a0: 65 6e 63 65 5f 63 6f 75 6e 74 22 29 0a 28 64 65  ence_count").(de
32b0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
32c0: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63  cairo-status-t c
32d0: 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 73  airo-font-face-s
32e0: 74 61 74 75 73 20 28 28 66 6f 6e 74 5f 66 61 63  tatus ((font_fac
32f0: 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  e (* cairo-font-
3300: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
3310: 5f 66 6f 6e 74 5f 66 61 63 65 5f 73 74 61 74 75  _font_face_statu
3320: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
3330: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 66 6f 6e  o-func cairo-fon
3340: 74 2d 74 79 70 65 2d 74 20 63 61 69 72 6f 2d 66  t-type-t cairo-f
3350: 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 74 79 70  ont-face-get-typ
3360: 65 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a  e ((font_face (*
3370: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65   cairo-font-face
3380: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e  -t))) "cairo_fon
3390: 74 5f 66 61 63 65 5f 67 65 74 5f 74 79 70 65 22  t_face_get_type"
33a0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
33b0: 66 75 6e 63 20 76 6f 69 64 2a 20 63 61 69 72 6f  func void* cairo
33c0: 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 75  -font-face-get-u
33d0: 73 65 72 2d 64 61 74 61 20 28 28 66 6f 6e 74 5f  ser-data ((font_
33e0: 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f  face (* cairo-fo
33f0: 6e 74 2d 66 61 63 65 2d 74 29 29 20 28 6b 65 79  nt-face-t)) (key
3400: 20 28 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d 64   (* cairo-user-d
3410: 61 74 61 2d 6b 65 79 2d 74 29 29 29 20 22 63 61  ata-key-t))) "ca
3420: 69 72 6f 5f 66 6f 6e 74 5f 66 61 63 65 5f 67 65  iro_font_face_ge
3430: 74 5f 75 73 65 72 5f 64 61 74 61 22 29 0a 28 64  t_user_data").(d
3440: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
3450: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
3460: 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d  cairo-font-face-
3470: 73 65 74 2d 75 73 65 72 2d 64 61 74 61 20 28 28  set-user-data ((
3480: 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20 63 61 69  font_face (* cai
3490: 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 29  ro-font-face-t))
34a0: 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f 2d 75   (key (* cairo-u
34b0: 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74 29 29  ser-data-key-t))
34c0: 20 28 75 73 65 72 5f 64 61 74 61 20 76 6f 69 64   (user_data void
34d0: 2a 29 20 28 64 65 73 74 72 6f 79 20 63 61 69 72  *) (destroy cair
34e0: 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63 2d 74  o-destroy-func-t
34f0: 29 29 20 22 63 61 69 72 6f 5f 66 6f 6e 74 5f 66  )) "cairo_font_f
3500: 61 63 65 5f 73 65 74 5f 75 73 65 72 5f 64 61 74  ace_set_user_dat
3510: 61 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  a").(define-cair
3520: 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  o-func (* cairo-
3530: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 20 63  scaled-font-t) c
3540: 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74  airo-scaled-font
3550: 2d 63 72 65 61 74 65 20 28 28 66 6f 6e 74 5f 66  -create ((font_f
3560: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e  ace (* cairo-fon
3570: 74 2d 66 61 63 65 2d 74 29 29 20 28 66 6f 6e 74  t-face-t)) (font
3580: 5f 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72 6f  _matrix (* cairo
3590: 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 63 74 6d  -matrix-t)) (ctm
35a0: 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78   (* cairo-matrix
35b0: 2d 74 29 29 20 28 6f 70 74 69 6f 6e 73 20 28 2a  -t)) (options (*
35c0: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69   cairo-font-opti
35d0: 6f 6e 73 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  ons-t))) "cairo_
35e0: 73 63 61 6c 65 64 5f 66 6f 6e 74 5f 63 72 65 61  scaled_font_crea
35f0: 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  te").(define-cai
3600: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
3610: 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 20  -scaled-font-t) 
3620: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e  cairo-scaled-fon
3630: 74 2d 72 65 66 65 72 65 6e 63 65 20 28 28 73 63  t-reference ((sc
3640: 61 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69  aled_font (* cai
3650: 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74  ro-scaled-font-t
3660: 29 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65  ))) "cairo_scale
3670: 64 5f 66 6f 6e 74 5f 72 65 66 65 72 65 6e 63 65  d_font_reference
3680: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
3690: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
36a0: 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 64 65 73  -scaled-font-des
36b0: 74 72 6f 79 20 28 28 73 63 61 6c 65 64 5f 66 6f  troy ((scaled_fo
36c0: 6e 74 20 28 2a 20 63 61 69 72 6f 2d 73 63 61 6c  nt (* cairo-scal
36d0: 65 64 2d 66 6f 6e 74 2d 74 29 29 29 20 22 63 61  ed-font-t))) "ca
36e0: 69 72 6f 5f 73 63 61 6c 65 64 5f 66 6f 6e 74 5f  iro_scaled_font_
36f0: 64 65 73 74 72 6f 79 22 29 0a 28 64 65 66 69 6e  destroy").(defin
3700: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 75 6e 73  e-cairo-func uns
3710: 69 67 6e 65 64 2d 69 6e 74 20 63 61 69 72 6f 2d  igned-int cairo-
3720: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 67 65 74 2d  scaled-font-get-
3730: 72 65 66 65 72 65 6e 63 65 2d 63 6f 75 6e 74 20  reference-count 
3740: 28 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20 28 2a  ((scaled_font (*
3750: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f   cairo-scaled-fo
3760: 6e 74 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  nt-t))) "cairo_s
3770: 63 61 6c 65 64 5f 66 6f 6e 74 5f 67 65 74 5f 72  caled_font_get_r
3780: 65 66 65 72 65 6e 63 65 5f 63 6f 75 6e 74 22 29  eference_count")
3790: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
37a0: 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73  unc cairo-status
37b0: 2d 74 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d  -t cairo-scaled-
37c0: 66 6f 6e 74 2d 73 74 61 74 75 73 20 28 28 73 63  font-status ((sc
37d0: 61 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69  aled_font (* cai
37e0: 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74  ro-scaled-font-t
37f0: 29 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65  ))) "cairo_scale
3800: 64 5f 66 6f 6e 74 5f 73 74 61 74 75 73 22 29 0a  d_font_status").
3810: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
3820: 6e 63 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 74 79  nc cairo-font-ty
3830: 70 65 2d 74 20 63 61 69 72 6f 2d 73 63 61 6c 65  pe-t cairo-scale
3840: 64 2d 66 6f 6e 74 2d 67 65 74 2d 74 79 70 65 20  d-font-get-type 
3850: 28 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20 28 2a  ((scaled_font (*
3860: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f   cairo-scaled-fo
3870: 6e 74 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  nt-t))) "cairo_s
3880: 63 61 6c 65 64 5f 66 6f 6e 74 5f 67 65 74 5f 74  caled_font_get_t
3890: 79 70 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ype").(define-ca
38a0: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 2a 20 63  iro-func void* c
38b0: 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74  airo-scaled-font
38c0: 2d 67 65 74 2d 75 73 65 72 2d 64 61 74 61 20 28  -get-user-data (
38d0: 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20 28 2a 20  (scaled_font (* 
38e0: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e  cairo-scaled-fon
38f0: 74 2d 74 29 29 20 28 6b 65 79 20 28 2a 20 63 61  t-t)) (key (* ca
3900: 69 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65  iro-user-data-ke
3910: 79 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 63  y-t))) "cairo_sc
3920: 61 6c 65 64 5f 66 6f 6e 74 5f 67 65 74 5f 75 73  aled_font_get_us
3930: 65 72 5f 64 61 74 61 22 29 0a 28 64 65 66 69 6e  er_data").(defin
3940: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69  e-cairo-func cai
3950: 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72  ro-status-t cair
3960: 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 73 65  o-scaled-font-se
3970: 74 2d 75 73 65 72 2d 64 61 74 61 20 28 28 73 63  t-user-data ((sc
3980: 61 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69  aled_font (* cai
3990: 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74  ro-scaled-font-t
39a0: 29 29 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f  )) (key (* cairo
39b0: 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74  -user-data-key-t
39c0: 29 29 20 28 75 73 65 72 5f 64 61 74 61 20 76 6f  )) (user_data vo
39d0: 69 64 2a 29 20 28 64 65 73 74 72 6f 79 20 63 61  id*) (destroy ca
39e0: 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63  iro-destroy-func
39f0: 2d 74 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c  -t)) "cairo_scal
3a00: 65 64 5f 66 6f 6e 74 5f 73 65 74 5f 75 73 65 72  ed_font_set_user
3a10: 5f 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d  _data").(define-
3a20: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
3a30: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e  cairo-scaled-fon
3a40: 74 2d 65 78 74 65 6e 74 73 20 28 28 73 63 61 6c  t-extents ((scal
3a50: 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69 72 6f  ed_font (* cairo
3a60: 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 29  -scaled-font-t))
3a70: 20 28 65 78 74 65 6e 74 73 20 28 2a 20 63 61 69   (extents (* cai
3a80: 72 6f 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 2d  ro-font-extents-
3a90: 74 29 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c  t))) "cairo_scal
3aa0: 65 64 5f 66 6f 6e 74 5f 65 78 74 65 6e 74 73 22  ed_font_extents"
3ab0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
3ac0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
3ad0: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 65 78 74  scaled-font-text
3ae0: 2d 65 78 74 65 6e 74 73 20 28 28 73 63 61 6c 65  -extents ((scale
3af0: 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69 72 6f 2d  d_font (* cairo-
3b00: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 29 20  scaled-font-t)) 
3b10: 28 75 74 66 38 20 73 74 72 69 6e 67 29 20 28 65  (utf8 string) (e
3b20: 78 74 65 6e 74 73 20 28 2a 20 63 61 69 72 6f 2d  xtents (* cairo-
3b30: 74 65 78 74 2d 65 78 74 65 6e 74 73 2d 74 29 29  text-extents-t))
3b40: 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64 5f  ) "cairo_scaled_
3b50: 66 6f 6e 74 5f 74 65 78 74 5f 65 78 74 65 6e 74  font_text_extent
3b60: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
3b70: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
3b80: 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 67 6c  o-scaled-font-gl
3b90: 79 70 68 2d 65 78 74 65 6e 74 73 20 28 28 73 63  yph-extents ((sc
3ba0: 61 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69  aled_font (* cai
3bb0: 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74  ro-scaled-font-t
3bc0: 29 29 20 28 67 6c 79 70 68 73 20 28 2a 20 63 61  )) (glyphs (* ca
3bd0: 69 72 6f 2d 67 6c 79 70 68 2d 74 29 29 20 28 6e  iro-glyph-t)) (n
3be0: 75 6d 5f 67 6c 79 70 68 73 20 69 6e 74 29 20 28  um_glyphs int) (
3bf0: 65 78 74 65 6e 74 73 20 28 2a 20 63 61 69 72 6f  extents (* cairo
3c00: 2d 74 65 78 74 2d 65 78 74 65 6e 74 73 2d 74 29  -text-extents-t)
3c10: 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64  )) "cairo_scaled
3c20: 5f 66 6f 6e 74 5f 67 6c 79 70 68 5f 65 78 74 65  _font_glyph_exte
3c30: 6e 74 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  nts").(define-ca
3c40: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
3c50: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 63  tatus-t cairo-sc
3c60: 61 6c 65 64 2d 66 6f 6e 74 2d 74 65 78 74 2d 74  aled-font-text-t
3c70: 6f 2d 67 6c 79 70 68 73 20 28 28 73 63 61 6c 65  o-glyphs ((scale
3c80: 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69 72 6f 2d  d_font (* cairo-
3c90: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 29 20  scaled-font-t)) 
3ca0: 28 78 20 64 6f 75 62 6c 65 29 20 28 79 20 64 6f  (x double) (y do
3cb0: 75 62 6c 65 29 20 28 75 74 66 38 20 73 74 72 69  uble) (utf8 stri
3cc0: 6e 67 29 20 28 75 74 66 38 5f 6c 65 6e 20 69 6e  ng) (utf8_len in
3cd0: 74 29 20 28 67 6c 79 70 68 73 20 28 2a 20 63 61  t) (glyphs (* ca
3ce0: 69 72 6f 2d 67 6c 79 70 68 2d 74 2a 29 29 20 28  iro-glyph-t*)) (
3cf0: 6e 75 6d 5f 67 6c 79 70 68 73 20 28 2a 20 69 6e  num_glyphs (* in
3d00: 74 29 29 20 28 63 6c 75 73 74 65 72 73 20 28 2a  t)) (clusters (*
3d10: 20 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 73   cairo-text-clus
3d20: 74 65 72 2d 74 2a 29 29 20 28 6e 75 6d 5f 63 6c  ter-t*)) (num_cl
3d30: 75 73 74 65 72 73 20 28 2a 20 69 6e 74 29 29 20  usters (* int)) 
3d40: 28 63 6c 75 73 74 65 72 5f 66 6c 61 67 73 20 28  (cluster_flags (
3d50: 2a 20 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75  * cairo-text-clu
3d60: 73 74 65 72 2d 66 6c 61 67 73 2d 74 29 29 29 20  ster-flags-t))) 
3d70: 22 63 61 69 72 6f 5f 73 63 61 6c 65 64 5f 66 6f  "cairo_scaled_fo
3d80: 6e 74 5f 74 65 78 74 5f 74 6f 5f 67 6c 79 70 68  nt_text_to_glyph
3d90: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
3da0: 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  o-func (* cairo-
3db0: 66 6f 6e 74 2d 66 61 63 65 2d 74 29 20 63 61 69  font-face-t) cai
3dc0: 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 67  ro-scaled-font-g
3dd0: 65 74 2d 66 6f 6e 74 2d 66 61 63 65 20 28 28 73  et-font-face ((s
3de0: 63 61 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61  caled_font (* ca
3df0: 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d  iro-scaled-font-
3e00: 74 29 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c  t))) "cairo_scal
3e10: 65 64 5f 66 6f 6e 74 5f 67 65 74 5f 66 6f 6e 74  ed_font_get_font
3e20: 5f 66 61 63 65 22 29 0a 28 64 65 66 69 6e 65 2d  _face").(define-
3e30: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
3e40: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e  cairo-scaled-fon
3e50: 74 2d 67 65 74 2d 66 6f 6e 74 2d 6d 61 74 72 69  t-get-font-matri
3e60: 78 20 28 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20  x ((scaled_font 
3e70: 28 2a 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d  (* cairo-scaled-
3e80: 66 6f 6e 74 2d 74 29 29 20 28 66 6f 6e 74 5f 6d  font-t)) (font_m
3e90: 61 74 72 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d  atrix (* cairo-m
3ea0: 61 74 72 69 78 2d 74 29 29 29 20 22 63 61 69 72  atrix-t))) "cair
3eb0: 6f 5f 73 63 61 6c 65 64 5f 66 6f 6e 74 5f 67 65  o_scaled_font_ge
3ec0: 74 5f 66 6f 6e 74 5f 6d 61 74 72 69 78 22 29 0a  t_font_matrix").
3ed0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
3ee0: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 63  nc void cairo-sc
3ef0: 61 6c 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 63 74  aled-font-get-ct
3f00: 6d 20 28 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20  m ((scaled_font 
3f10: 28 2a 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d  (* cairo-scaled-
3f20: 66 6f 6e 74 2d 74 29 29 20 28 63 74 6d 20 28 2a  font-t)) (ctm (*
3f30: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
3f40: 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64  )) "cairo_scaled
3f50: 5f 66 6f 6e 74 5f 67 65 74 5f 63 74 6d 22 29 0a  _font_get_ctm").
3f60: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
3f70: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 63  nc void cairo-sc
3f80: 61 6c 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 73 63  aled-font-get-sc
3f90: 61 6c 65 2d 6d 61 74 72 69 78 20 28 28 73 63 61  ale-matrix ((sca
3fa0: 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69 72  led_font (* cair
3fb0: 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29  o-scaled-font-t)
3fc0: 29 20 28 73 63 61 6c 65 5f 6d 61 74 72 69 78 20  ) (scale_matrix 
3fd0: 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d  (* cairo-matrix-
3fe0: 74 29 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c  t))) "cairo_scal
3ff0: 65 64 5f 66 6f 6e 74 5f 67 65 74 5f 73 63 61 6c  ed_font_get_scal
4000: 65 5f 6d 61 74 72 69 78 22 29 0a 28 64 65 66 69  e_matrix").(defi
4010: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
4020: 69 64 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d  id cairo-scaled-
4030: 66 6f 6e 74 2d 67 65 74 2d 66 6f 6e 74 2d 6f 70  font-get-font-op
4040: 74 69 6f 6e 73 20 28 28 73 63 61 6c 65 64 5f 66  tions ((scaled_f
4050: 6f 6e 74 20 28 2a 20 63 61 69 72 6f 2d 73 63 61  ont (* cairo-sca
4060: 6c 65 64 2d 66 6f 6e 74 2d 74 29 29 20 28 6f 70  led-font-t)) (op
4070: 74 69 6f 6e 73 20 28 2a 20 63 61 69 72 6f 2d 66  tions (* cairo-f
4080: 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 29 29  ont-options-t)))
4090: 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64 5f 66   "cairo_scaled_f
40a0: 6f 6e 74 5f 67 65 74 5f 66 6f 6e 74 5f 6f 70 74  ont_get_font_opt
40b0: 69 6f 6e 73 22 29 0a 28 64 65 66 69 6e 65 2d 63  ions").(define-c
40c0: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
40d0: 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 20  ro-font-face-t) 
40e0: 63 61 69 72 6f 2d 74 6f 79 2d 66 6f 6e 74 2d 66  cairo-toy-font-f
40f0: 61 63 65 2d 63 72 65 61 74 65 20 28 28 66 61 6d  ace-create ((fam
4100: 69 6c 79 20 73 74 72 69 6e 67 29 20 28 73 6c 61  ily string) (sla
4110: 6e 74 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 73 6c  nt cairo-font-sl
4120: 61 6e 74 2d 74 29 20 28 77 65 69 67 68 74 20 63  ant-t) (weight c
4130: 61 69 72 6f 2d 66 6f 6e 74 2d 77 65 69 67 68 74  airo-font-weight
4140: 2d 74 29 29 20 22 63 61 69 72 6f 5f 74 6f 79 5f  -t)) "cairo_toy_
4150: 66 6f 6e 74 5f 66 61 63 65 5f 63 72 65 61 74 65  font_face_create
4160: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
4170: 2d 66 75 6e 63 20 73 74 72 69 6e 67 20 63 61 69  -func string cai
4180: 72 6f 2d 74 6f 79 2d 66 6f 6e 74 2d 66 61 63 65  ro-toy-font-face
4190: 2d 67 65 74 2d 66 61 6d 69 6c 79 20 28 28 66 6f  -get-family ((fo
41a0: 6e 74 5f 66 61 63 65 20 28 2a 20 63 61 69 72 6f  nt_face (* cairo
41b0: 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 29 29 20  -font-face-t))) 
41c0: 22 63 61 69 72 6f 5f 74 6f 79 5f 66 6f 6e 74 5f  "cairo_toy_font_
41d0: 66 61 63 65 5f 67 65 74 5f 66 61 6d 69 6c 79 22  face_get_family"
41e0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
41f0: 66 75 6e 63 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  func cairo-font-
4200: 73 6c 61 6e 74 2d 74 20 63 61 69 72 6f 2d 74 6f  slant-t cairo-to
4210: 79 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d  y-font-face-get-
4220: 73 6c 61 6e 74 20 28 28 66 6f 6e 74 5f 66 61 63  slant ((font_fac
4230: 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  e (* cairo-font-
4240: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
4250: 5f 74 6f 79 5f 66 6f 6e 74 5f 66 61 63 65 5f 67  _toy_font_face_g
4260: 65 74 5f 73 6c 61 6e 74 22 29 0a 28 64 65 66 69  et_slant").(defi
4270: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
4280: 69 72 6f 2d 66 6f 6e 74 2d 77 65 69 67 68 74 2d  iro-font-weight-
4290: 74 20 63 61 69 72 6f 2d 74 6f 79 2d 66 6f 6e 74  t cairo-toy-font
42a0: 2d 66 61 63 65 2d 67 65 74 2d 77 65 69 67 68 74  -face-get-weight
42b0: 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20   ((font_face (* 
42c0: 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d  cairo-font-face-
42d0: 74 29 29 29 20 22 63 61 69 72 6f 5f 74 6f 79 5f  t))) "cairo_toy_
42e0: 66 6f 6e 74 5f 66 61 63 65 5f 67 65 74 5f 77 65  font_face_get_we
42f0: 69 67 68 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  ight").(define-c
4300: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
4310: 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 20  ro-font-face-t) 
4320: 63 61 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d  cairo-user-font-
4330: 66 61 63 65 2d 63 72 65 61 74 65 20 28 29 20 22  face-create () "
4340: 63 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f  cairo_user_font_
4350: 66 61 63 65 5f 63 72 65 61 74 65 22 29 0a 28 64  face_create").(d
4360: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
4370: 20 76 6f 69 64 20 63 61 69 72 6f 2d 75 73 65 72   void cairo-user
4380: 2d 66 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 69  -font-face-set-i
4390: 6e 69 74 2d 66 75 6e 63 20 28 28 66 6f 6e 74 5f  nit-func ((font_
43a0: 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f  face (* cairo-fo
43b0: 6e 74 2d 66 61 63 65 2d 74 29 29 20 28 69 6e 69  nt-face-t)) (ini
43c0: 74 5f 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  t_func (* cairo-
43d0: 75 73 65 72 2d 73 63 61 6c 65 64 2d 66 6f 6e 74  user-scaled-font
43e0: 2d 69 6e 69 74 2d 66 75 6e 63 2d 74 29 29 29 20  -init-func-t))) 
43f0: 22 63 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74  "cairo_user_font
4400: 5f 66 61 63 65 5f 73 65 74 5f 69 6e 69 74 5f 66  _face_set_init_f
4410: 75 6e 63 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  unc").(define-ca
4420: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
4430: 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66 61  iro-user-font-fa
4440: 63 65 2d 73 65 74 2d 72 65 6e 64 65 72 2d 67 6c  ce-set-render-gl
4450: 79 70 68 2d 66 75 6e 63 20 28 28 66 6f 6e 74 5f  yph-func ((font_
4460: 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f  face (* cairo-fo
4470: 6e 74 2d 66 61 63 65 2d 74 29 29 20 28 72 65 6e  nt-face-t)) (ren
4480: 64 65 72 5f 67 6c 79 70 68 5f 66 75 6e 63 20 28  der_glyph_func (
4490: 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61  * cairo-user-sca
44a0: 6c 65 64 2d 66 6f 6e 74 2d 72 65 6e 64 65 72 2d  led-font-render-
44b0: 67 6c 79 70 68 2d 66 75 6e 63 2d 74 29 29 29 20  glyph-func-t))) 
44c0: 22 63 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74  "cairo_user_font
44d0: 5f 66 61 63 65 5f 73 65 74 5f 72 65 6e 64 65 72  _face_set_render
44e0: 5f 67 6c 79 70 68 5f 66 75 6e 63 22 29 0a 28 64  _glyph_func").(d
44f0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
4500: 20 76 6f 69 64 20 63 61 69 72 6f 2d 75 73 65 72   void cairo-user
4510: 2d 66 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 74  -font-face-set-t
4520: 65 78 74 2d 74 6f 2d 67 6c 79 70 68 73 2d 66 75  ext-to-glyphs-fu
4530: 6e 63 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28  nc ((font_face (
4540: 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63  * cairo-font-fac
4550: 65 2d 74 29 29 20 28 74 65 78 74 5f 74 6f 5f 67  e-t)) (text_to_g
4560: 6c 79 70 68 73 5f 66 75 6e 63 20 28 2a 20 63 61  lyphs_func (* ca
4570: 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c 65 64 2d  iro-user-scaled-
4580: 66 6f 6e 74 2d 74 65 78 74 2d 74 6f 2d 67 6c 79  font-text-to-gly
4590: 70 68 73 2d 66 75 6e 63 2d 74 29 29 29 20 22 63  phs-func-t))) "c
45a0: 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66  airo_user_font_f
45b0: 61 63 65 5f 73 65 74 5f 74 65 78 74 5f 74 6f 5f  ace_set_text_to_
45c0: 67 6c 79 70 68 73 5f 66 75 6e 63 22 29 0a 28 64  glyphs_func").(d
45d0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
45e0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 75 73 65 72   void cairo-user
45f0: 2d 66 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 75  -font-face-set-u
4600: 6e 69 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d  nicode-to-glyph-
4610: 66 75 6e 63 20 28 28 66 6f 6e 74 5f 66 61 63 65  func ((font_face
4620: 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66   (* cairo-font-f
4630: 61 63 65 2d 74 29 29 20 28 75 6e 69 63 6f 64 65  ace-t)) (unicode
4640: 5f 74 6f 5f 67 6c 79 70 68 5f 66 75 6e 63 20 28  _to_glyph_func (
4650: 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61  * cairo-user-sca
4660: 6c 65 64 2d 66 6f 6e 74 2d 75 6e 69 63 6f 64 65  led-font-unicode
4670: 2d 74 6f 2d 67 6c 79 70 68 2d 66 75 6e 63 2d 74  -to-glyph-func-t
4680: 29 29 29 20 22 63 61 69 72 6f 5f 75 73 65 72 5f  ))) "cairo_user_
4690: 66 6f 6e 74 5f 66 61 63 65 5f 73 65 74 5f 75 6e  font_face_set_un
46a0: 69 63 6f 64 65 5f 74 6f 5f 67 6c 79 70 68 5f 66  icode_to_glyph_f
46b0: 75 6e 63 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  unc").(define-ca
46c0: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
46d0: 6f 2d 75 73 65 72 2d 73 63 61 6c 65 64 2d 66 6f  o-user-scaled-fo
46e0: 6e 74 2d 69 6e 69 74 2d 66 75 6e 63 2d 74 29 20  nt-init-func-t) 
46f0: 63 61 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d  cairo-user-font-
4700: 66 61 63 65 2d 67 65 74 2d 69 6e 69 74 2d 66 75  face-get-init-fu
4710: 6e 63 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28  nc ((font_face (
4720: 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63  * cairo-font-fac
4730: 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 75 73  e-t))) "cairo_us
4740: 65 72 5f 66 6f 6e 74 5f 66 61 63 65 5f 67 65 74  er_font_face_get
4750: 5f 69 6e 69 74 5f 66 75 6e 63 22 29 0a 28 64 65  _init_func").(de
4760: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
4770: 28 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63  (* cairo-user-sc
4780: 61 6c 65 64 2d 66 6f 6e 74 2d 72 65 6e 64 65 72  aled-font-render
4790: 2d 67 6c 79 70 68 2d 66 75 6e 63 2d 74 29 20 63  -glyph-func-t) c
47a0: 61 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66  airo-user-font-f
47b0: 61 63 65 2d 67 65 74 2d 72 65 6e 64 65 72 2d 67  ace-get-render-g
47c0: 6c 79 70 68 2d 66 75 6e 63 20 28 28 66 6f 6e 74  lyph-func ((font
47d0: 5f 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66  _face (* cairo-f
47e0: 6f 6e 74 2d 66 61 63 65 2d 74 29 29 29 20 22 63  ont-face-t))) "c
47f0: 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66  airo_user_font_f
4800: 61 63 65 5f 67 65 74 5f 72 65 6e 64 65 72 5f 67  ace_get_render_g
4810: 6c 79 70 68 5f 66 75 6e 63 22 29 0a 28 64 65 66  lyph_func").(def
4820: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
4830: 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61  * cairo-user-sca
4840: 6c 65 64 2d 66 6f 6e 74 2d 74 65 78 74 2d 74 6f  led-font-text-to
4850: 2d 67 6c 79 70 68 73 2d 66 75 6e 63 2d 74 29 20  -glyphs-func-t) 
4860: 63 61 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d  cairo-user-font-
4870: 66 61 63 65 2d 67 65 74 2d 74 65 78 74 2d 74 6f  face-get-text-to
4880: 2d 67 6c 79 70 68 73 2d 66 75 6e 63 20 28 28 66  -glyphs-func ((f
4890: 6f 6e 74 5f 66 61 63 65 20 28 2a 20 63 61 69 72  ont_face (* cair
48a0: 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 29 29  o-font-face-t)))
48b0: 20 22 63 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e   "cairo_user_fon
48c0: 74 5f 66 61 63 65 5f 67 65 74 5f 74 65 78 74 5f  t_face_get_text_
48d0: 74 6f 5f 67 6c 79 70 68 73 5f 66 75 6e 63 22 29  to_glyphs_func")
48e0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
48f0: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 75 73 65  unc (* cairo-use
4900: 72 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 75 6e  r-scaled-font-un
4910: 69 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d 66  icode-to-glyph-f
4920: 75 6e 63 2d 74 29 20 63 61 69 72 6f 2d 75 73 65  unc-t) cairo-use
4930: 72 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d  r-font-face-get-
4940: 75 6e 69 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68  unicode-to-glyph
4950: 2d 66 75 6e 63 20 28 28 66 6f 6e 74 5f 66 61 63  -func ((font_fac
4960: 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d  e (* cairo-font-
4970: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
4980: 5f 75 73 65 72 5f 66 6f 6e 74 5f 66 61 63 65 5f  _user_font_face_
4990: 67 65 74 5f 75 6e 69 63 6f 64 65 5f 74 6f 5f 67  get_unicode_to_g
49a0: 6c 79 70 68 5f 66 75 6e 63 22 29 0a 28 64 65 66  lyph_func").(def
49b0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63  ine-cairo-func c
49c0: 61 69 72 6f 2d 6f 70 65 72 61 74 6f 72 2d 74 20  airo-operator-t 
49d0: 63 61 69 72 6f 2d 67 65 74 2d 6f 70 65 72 61 74  cairo-get-operat
49e0: 6f 72 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  or ((cr (* cairo
49f0: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74  -t))) "cairo_get
4a00: 5f 6f 70 65 72 61 74 6f 72 22 29 0a 28 64 65 66  _operator").(def
4a10: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
4a20: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
4a30: 74 29 20 63 61 69 72 6f 2d 67 65 74 2d 73 6f 75  t) cairo-get-sou
4a40: 72 63 65 20 28 28 63 72 20 28 2a 20 63 61 69 72  rce ((cr (* cair
4a50: 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65  o-t))) "cairo_ge
4a60: 74 5f 73 6f 75 72 63 65 22 29 0a 28 64 65 66 69  t_source").(defi
4a70: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f  ne-cairo-func do
4a80: 75 62 6c 65 20 63 61 69 72 6f 2d 67 65 74 2d 74  uble cairo-get-t
4a90: 6f 6c 65 72 61 6e 63 65 20 28 28 63 72 20 28 2a  olerance ((cr (*
4aa0: 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69   cairo-t))) "cai
4ab0: 72 6f 5f 67 65 74 5f 74 6f 6c 65 72 61 6e 63 65  ro_get_tolerance
4ac0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
4ad0: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 61 6e 74 69  -func cairo-anti
4ae0: 61 6c 69 61 73 2d 74 20 63 61 69 72 6f 2d 67 65  alias-t cairo-ge
4af0: 74 2d 61 6e 74 69 61 6c 69 61 73 20 28 28 63 72  t-antialias ((cr
4b00: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22   (* cairo-t))) "
4b10: 63 61 69 72 6f 5f 67 65 74 5f 61 6e 74 69 61 6c  cairo_get_antial
4b20: 69 61 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ias").(define-ca
4b30: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62  iro-func cairo-b
4b40: 6f 6f 6c 2d 74 20 63 61 69 72 6f 2d 68 61 73 2d  ool-t cairo-has-
4b50: 63 75 72 72 65 6e 74 2d 70 6f 69 6e 74 20 28 28  current-point ((
4b60: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29  cr (* cairo-t)))
4b70: 20 22 63 61 69 72 6f 5f 68 61 73 5f 63 75 72 72   "cairo_has_curr
4b80: 65 6e 74 5f 70 6f 69 6e 74 22 29 0a 28 64 65 66  ent_point").(def
4b90: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
4ba0: 6f 69 64 20 63 61 69 72 6f 2d 67 65 74 2d 63 75  oid cairo-get-cu
4bb0: 72 72 65 6e 74 2d 70 6f 69 6e 74 20 28 28 63 72  rrent-point ((cr
4bc0: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 78   (* cairo-t)) (x
4bd0: 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 79 20   (* double)) (y 
4be0: 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61  (* double))) "ca
4bf0: 69 72 6f 5f 67 65 74 5f 63 75 72 72 65 6e 74 5f  iro_get_current_
4c00: 70 6f 69 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d  point").(define-
4c10: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
4c20: 2d 66 69 6c 6c 2d 72 75 6c 65 2d 74 20 63 61 69  -fill-rule-t cai
4c30: 72 6f 2d 67 65 74 2d 66 69 6c 6c 2d 72 75 6c 65  ro-get-fill-rule
4c40: 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74   ((cr (* cairo-t
4c50: 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74 5f 66  ))) "cairo_get_f
4c60: 69 6c 6c 5f 72 75 6c 65 22 29 0a 28 64 65 66 69  ill_rule").(defi
4c70: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f  ne-cairo-func do
4c80: 75 62 6c 65 20 63 61 69 72 6f 2d 67 65 74 2d 6c  uble cairo-get-l
4c90: 69 6e 65 2d 77 69 64 74 68 20 28 28 63 72 20 28  ine-width ((cr (
4ca0: 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61  * cairo-t))) "ca
4cb0: 69 72 6f 5f 67 65 74 5f 6c 69 6e 65 5f 77 69 64  iro_get_line_wid
4cc0: 74 68 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  th").(define-cai
4cd0: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 6c 69  ro-func cairo-li
4ce0: 6e 65 2d 63 61 70 2d 74 20 63 61 69 72 6f 2d 67  ne-cap-t cairo-g
4cf0: 65 74 2d 6c 69 6e 65 2d 63 61 70 20 28 28 63 72  et-line-cap ((cr
4d00: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22   (* cairo-t))) "
4d10: 63 61 69 72 6f 5f 67 65 74 5f 6c 69 6e 65 5f 63  cairo_get_line_c
4d20: 61 70 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ap").(define-cai
4d30: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 6c 69  ro-func cairo-li
4d40: 6e 65 2d 6a 6f 69 6e 2d 74 20 63 61 69 72 6f 2d  ne-join-t cairo-
4d50: 67 65 74 2d 6c 69 6e 65 2d 6a 6f 69 6e 20 28 28  get-line-join ((
4d60: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29  cr (* cairo-t)))
4d70: 20 22 63 61 69 72 6f 5f 67 65 74 5f 6c 69 6e 65   "cairo_get_line
4d80: 5f 6a 6f 69 6e 22 29 0a 28 64 65 66 69 6e 65 2d  _join").(define-
4d90: 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62 6c  cairo-func doubl
4da0: 65 20 63 61 69 72 6f 2d 67 65 74 2d 6d 69 74 65  e cairo-get-mite
4db0: 72 2d 6c 69 6d 69 74 20 28 28 63 72 20 28 2a 20  r-limit ((cr (* 
4dc0: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
4dd0: 6f 5f 67 65 74 5f 6d 69 74 65 72 5f 6c 69 6d 69  o_get_miter_limi
4de0: 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  t").(define-cair
4df0: 6f 2d 66 75 6e 63 20 69 6e 74 20 63 61 69 72 6f  o-func int cairo
4e00: 2d 67 65 74 2d 64 61 73 68 2d 63 6f 75 6e 74 20  -get-dash-count 
4e10: 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29  ((cr (* cairo-t)
4e20: 29 29 20 22 63 61 69 72 6f 5f 67 65 74 5f 64 61  )) "cairo_get_da
4e30: 73 68 5f 63 6f 75 6e 74 22 29 0a 28 64 65 66 69  sh_count").(defi
4e40: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
4e50: 69 64 20 63 61 69 72 6f 2d 67 65 74 2d 64 61 73  id cairo-get-das
4e60: 68 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d  h ((cr (* cairo-
4e70: 74 29 29 20 28 64 61 73 68 65 73 20 28 2a 20 64  t)) (dashes (* d
4e80: 6f 75 62 6c 65 29 29 20 28 6f 66 66 73 65 74 20  ouble)) (offset 
4e90: 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61  (* double))) "ca
4ea0: 69 72 6f 5f 67 65 74 5f 64 61 73 68 22 29 0a 28  iro_get_dash").(
4eb0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
4ec0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 67 65 74  c void cairo-get
4ed0: 2d 6d 61 74 72 69 78 20 28 28 63 72 20 28 2a 20  -matrix ((cr (* 
4ee0: 63 61 69 72 6f 2d 74 29 29 20 28 6d 61 74 72 69  cairo-t)) (matri
4ef0: 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69  x (* cairo-matri
4f00: 78 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65  x-t))) "cairo_ge
4f10: 74 5f 6d 61 74 72 69 78 22 29 0a 28 64 65 66 69  t_matrix").(defi
4f20: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
4f30: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
4f40: 29 20 63 61 69 72 6f 2d 67 65 74 2d 74 61 72 67  ) cairo-get-targ
4f50: 65 74 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f  et ((cr (* cairo
4f60: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74  -t))) "cairo_get
4f70: 5f 74 61 72 67 65 74 22 29 0a 28 64 65 66 69 6e  _target").(defin
4f80: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20  e-cairo-func (* 
4f90: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
4fa0: 20 63 61 69 72 6f 2d 67 65 74 2d 67 72 6f 75 70   cairo-get-group
4fb0: 2d 74 61 72 67 65 74 20 28 28 63 72 20 28 2a 20  -target ((cr (* 
4fc0: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
4fd0: 6f 5f 67 65 74 5f 67 72 6f 75 70 5f 74 61 72 67  o_get_group_targ
4fe0: 65 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  et").(define-cai
4ff0: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
5000: 2d 70 61 74 68 2d 74 29 20 63 61 69 72 6f 2d 63  -path-t) cairo-c
5010: 6f 70 79 2d 70 61 74 68 20 28 28 63 72 20 28 2a  opy-path ((cr (*
5020: 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69   cairo-t))) "cai
5030: 72 6f 5f 63 6f 70 79 5f 70 61 74 68 22 29 0a 28  ro_copy_path").(
5040: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
5050: 63 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 68 2d  c (* cairo-path-
5060: 74 29 20 63 61 69 72 6f 2d 63 6f 70 79 2d 70 61  t) cairo-copy-pa
5070: 74 68 2d 66 6c 61 74 20 28 28 63 72 20 28 2a 20  th-flat ((cr (* 
5080: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
5090: 6f 5f 63 6f 70 79 5f 70 61 74 68 5f 66 6c 61 74  o_copy_path_flat
50a0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
50b0: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
50c0: 2d 61 70 70 65 6e 64 2d 70 61 74 68 20 28 28 63  -append-path ((c
50d0: 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28  r (* cairo-t)) (
50e0: 70 61 74 68 20 28 2a 20 63 61 69 72 6f 2d 70 61  path (* cairo-pa
50f0: 74 68 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 61  th-t))) "cairo_a
5100: 70 70 65 6e 64 5f 70 61 74 68 22 29 0a 28 64 65  ppend_path").(de
5110: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
5120: 76 6f 69 64 20 63 61 69 72 6f 2d 70 61 74 68 2d  void cairo-path-
5130: 64 65 73 74 72 6f 79 20 28 28 70 61 74 68 20 28  destroy ((path (
5140: 2a 20 63 61 69 72 6f 2d 70 61 74 68 2d 74 29 29  * cairo-path-t))
5150: 29 20 22 63 61 69 72 6f 5f 70 61 74 68 5f 64 65  ) "cairo_path_de
5160: 73 74 72 6f 79 22 29 0a 28 64 65 66 69 6e 65 2d  stroy").(define-
5170: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
5180: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
5190: 73 74 61 74 75 73 20 28 28 63 72 20 28 2a 20 63  status ((cr (* c
51a0: 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f  airo-t))) "cairo
51b0: 5f 73 74 61 74 75 73 22 29 0a 28 64 65 66 69 6e  _status").(defin
51c0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 73 74 72  e-cairo-func str
51d0: 69 6e 67 20 63 61 69 72 6f 2d 73 74 61 74 75 73  ing cairo-status
51e0: 2d 74 6f 2d 73 74 72 69 6e 67 20 28 28 73 74 61  -to-string ((sta
51f0: 74 75 73 20 63 61 69 72 6f 2d 73 74 61 74 75 73  tus cairo-status
5200: 2d 74 29 29 20 22 63 61 69 72 6f 5f 73 74 61 74  -t)) "cairo_stat
5210: 75 73 5f 74 6f 5f 73 74 72 69 6e 67 22 29 0a 28  us_to_string").(
5220: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
5230: 63 20 28 2a 20 63 61 69 72 6f 2d 64 65 76 69 63  c (* cairo-devic
5240: 65 2d 74 29 20 63 61 69 72 6f 2d 64 65 76 69 63  e-t) cairo-devic
5250: 65 2d 72 65 66 65 72 65 6e 63 65 20 28 28 64 65  e-reference ((de
5260: 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65  vice (* cairo-de
5270: 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  vice-t))) "cairo
5280: 5f 64 65 76 69 63 65 5f 72 65 66 65 72 65 6e 63  _device_referenc
5290: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
52a0: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 64 65 76  o-func cairo-dev
52b0: 69 63 65 2d 74 79 70 65 2d 74 20 63 61 69 72 6f  ice-type-t cairo
52c0: 2d 64 65 76 69 63 65 2d 67 65 74 2d 74 79 70 65  -device-get-type
52d0: 20 28 28 64 65 76 69 63 65 20 28 2a 20 63 61 69   ((device (* cai
52e0: 72 6f 2d 64 65 76 69 63 65 2d 74 29 29 29 20 22  ro-device-t))) "
52f0: 63 61 69 72 6f 5f 64 65 76 69 63 65 5f 67 65 74  cairo_device_get
5300: 5f 74 79 70 65 22 29 0a 28 64 65 66 69 6e 65 2d  _type").(define-
5310: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
5320: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
5330: 64 65 76 69 63 65 2d 73 74 61 74 75 73 20 28 28  device-status ((
5340: 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d  device (* cairo-
5350: 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69  device-t))) "cai
5360: 72 6f 5f 64 65 76 69 63 65 5f 73 74 61 74 75 73  ro_device_status
5370: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
5380: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
5390: 75 73 2d 74 20 63 61 69 72 6f 2d 64 65 76 69 63  us-t cairo-devic
53a0: 65 2d 61 63 71 75 69 72 65 20 28 28 64 65 76 69  e-acquire ((devi
53b0: 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65 76 69  ce (* cairo-devi
53c0: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 64  ce-t))) "cairo_d
53d0: 65 76 69 63 65 5f 61 63 71 75 69 72 65 22 29 0a  evice_acquire").
53e0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
53f0: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 64 65  nc void cairo-de
5400: 76 69 63 65 2d 72 65 6c 65 61 73 65 20 28 28 64  vice-release ((d
5410: 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64  evice (* cairo-d
5420: 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72  evice-t))) "cair
5430: 6f 5f 64 65 76 69 63 65 5f 72 65 6c 65 61 73 65  o_device_release
5440: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
5450: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
5460: 2d 64 65 76 69 63 65 2d 66 6c 75 73 68 20 28 28  -device-flush ((
5470: 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d  device (* cairo-
5480: 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69  device-t))) "cai
5490: 72 6f 5f 64 65 76 69 63 65 5f 66 6c 75 73 68 22  ro_device_flush"
54a0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
54b0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
54c0: 64 65 76 69 63 65 2d 66 69 6e 69 73 68 20 28 28  device-finish ((
54d0: 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d  device (* cairo-
54e0: 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69  device-t))) "cai
54f0: 72 6f 5f 64 65 76 69 63 65 5f 66 69 6e 69 73 68  ro_device_finish
5500: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
5510: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
5520: 2d 64 65 76 69 63 65 2d 64 65 73 74 72 6f 79 20  -device-destroy 
5530: 28 28 64 65 76 69 63 65 20 28 2a 20 63 61 69 72  ((device (* cair
5540: 6f 2d 64 65 76 69 63 65 2d 74 29 29 29 20 22 63  o-device-t))) "c
5550: 61 69 72 6f 5f 64 65 76 69 63 65 5f 64 65 73 74  airo_device_dest
5560: 72 6f 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  roy").(define-ca
5570: 69 72 6f 2d 66 75 6e 63 20 75 6e 73 69 67 6e 65  iro-func unsigne
5580: 64 2d 69 6e 74 20 63 61 69 72 6f 2d 64 65 76 69  d-int cairo-devi
5590: 63 65 2d 67 65 74 2d 72 65 66 65 72 65 6e 63 65  ce-get-reference
55a0: 2d 63 6f 75 6e 74 20 28 28 64 65 76 69 63 65 20  -count ((device 
55b0: 28 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d  (* cairo-device-
55c0: 74 29 29 29 20 22 63 61 69 72 6f 5f 64 65 76 69  t))) "cairo_devi
55d0: 63 65 5f 67 65 74 5f 72 65 66 65 72 65 6e 63 65  ce_get_reference
55e0: 5f 63 6f 75 6e 74 22 29 0a 28 64 65 66 69 6e 65  _count").(define
55f0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
5600: 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 67  * cairo-device-g
5610: 65 74 2d 75 73 65 72 2d 64 61 74 61 20 28 28 64  et-user-data ((d
5620: 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64  evice (* cairo-d
5630: 65 76 69 63 65 2d 74 29 29 20 28 6b 65 79 20 28  evice-t)) (key (
5640: 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d 64 61 74  * cairo-user-dat
5650: 61 2d 6b 65 79 2d 74 29 29 29 20 22 63 61 69 72  a-key-t))) "cair
5660: 6f 5f 64 65 76 69 63 65 5f 67 65 74 5f 75 73 65  o_device_get_use
5670: 72 5f 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65  r_data").(define
5680: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72  -cairo-func cair
5690: 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f  o-status-t cairo
56a0: 2d 64 65 76 69 63 65 2d 73 65 74 2d 75 73 65 72  -device-set-user
56b0: 2d 64 61 74 61 20 28 28 64 65 76 69 63 65 20 28  -data ((device (
56c0: 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74  * cairo-device-t
56d0: 29 29 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f  )) (key (* cairo
56e0: 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74  -user-data-key-t
56f0: 29 29 20 28 75 73 65 72 5f 64 61 74 61 20 76 6f  )) (user_data vo
5700: 69 64 2a 29 20 28 64 65 73 74 72 6f 79 20 63 61  id*) (destroy ca
5710: 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63  iro-destroy-func
5720: 2d 74 29 29 20 22 63 61 69 72 6f 5f 64 65 76 69  -t)) "cairo_devi
5730: 63 65 5f 73 65 74 5f 75 73 65 72 5f 64 61 74 61  ce_set_user_data
5740: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
5750: 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 73  -func (* cairo-s
5760: 75 72 66 61 63 65 2d 74 29 20 63 61 69 72 6f 2d  urface-t) cairo-
5770: 73 75 72 66 61 63 65 2d 63 72 65 61 74 65 2d 73  surface-create-s
5780: 69 6d 69 6c 61 72 20 28 28 6f 74 68 65 72 20 28  imilar ((other (
5790: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
57a0: 74 29 29 20 28 63 6f 6e 74 65 6e 74 20 63 61 69  t)) (content cai
57b0: 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 29 20 28 77  ro-content-t) (w
57c0: 69 64 74 68 20 69 6e 74 29 20 28 68 65 69 67 68  idth int) (heigh
57d0: 74 20 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 73  t int)) "cairo_s
57e0: 75 72 66 61 63 65 5f 63 72 65 61 74 65 5f 73 69  urface_create_si
57f0: 6d 69 6c 61 72 22 29 0a 28 64 65 66 69 6e 65 2d  milar").(define-
5800: 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61  cairo-func (* ca
5810: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63  iro-surface-t) c
5820: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 63 72 65  airo-surface-cre
5830: 61 74 65 2d 73 69 6d 69 6c 61 72 2d 69 6d 61 67  ate-similar-imag
5840: 65 20 28 28 6f 74 68 65 72 20 28 2a 20 63 61 69  e ((other (* cai
5850: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28  ro-surface-t)) (
5860: 66 6f 72 6d 61 74 20 63 61 69 72 6f 2d 66 6f 72  format cairo-for
5870: 6d 61 74 2d 74 29 20 28 77 69 64 74 68 20 69 6e  mat-t) (width in
5880: 74 29 20 28 68 65 69 67 68 74 20 69 6e 74 29 29  t) (height int))
5890: 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f   "cairo_surface_
58a0: 63 72 65 61 74 65 5f 73 69 6d 69 6c 61 72 5f 69  create_similar_i
58b0: 6d 61 67 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  mage").(define-c
58c0: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
58d0: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61  ro-surface-t) ca
58e0: 69 72 6f 2d 73 75 72 66 61 63 65 2d 6d 61 70 2d  iro-surface-map-
58f0: 74 6f 2d 69 6d 61 67 65 20 28 28 73 75 72 66 61  to-image ((surfa
5900: 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  ce (* cairo-surf
5910: 61 63 65 2d 74 29 29 20 28 65 78 74 65 6e 74 73  ace-t)) (extents
5920: 20 28 2a 20 63 61 69 72 6f 2d 72 65 63 74 61 6e   (* cairo-rectan
5930: 67 6c 65 2d 69 6e 74 2d 74 29 29 29 20 22 63 61  gle-int-t))) "ca
5940: 69 72 6f 5f 73 75 72 66 61 63 65 5f 6d 61 70 5f  iro_surface_map_
5950: 74 6f 5f 69 6d 61 67 65 22 29 0a 28 64 65 66 69  to_image").(defi
5960: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
5970: 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  id cairo-surface
5980: 2d 75 6e 6d 61 70 2d 69 6d 61 67 65 20 28 28 73  -unmap-image ((s
5990: 75 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d  urface (* cairo-
59a0: 73 75 72 66 61 63 65 2d 74 29 29 20 28 69 6d 61  surface-t)) (ima
59b0: 67 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  ge (* cairo-surf
59c0: 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  ace-t))) "cairo_
59d0: 73 75 72 66 61 63 65 5f 75 6e 6d 61 70 5f 69 6d  surface_unmap_im
59e0: 61 67 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  age").(define-ca
59f0: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
5a00: 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61 69  o-surface-t) cai
5a10: 72 6f 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74  ro-surface-creat
5a20: 65 2d 66 6f 72 2d 72 65 63 74 61 6e 67 6c 65 20  e-for-rectangle 
5a30: 28 28 74 61 72 67 65 74 20 28 2a 20 63 61 69 72  ((target (* cair
5a40: 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28 78  o-surface-t)) (x
5a50: 20 64 6f 75 62 6c 65 29 20 28 79 20 64 6f 75 62   double) (y doub
5a60: 6c 65 29 20 28 77 69 64 74 68 20 64 6f 75 62 6c  le) (width doubl
5a70: 65 29 20 28 68 65 69 67 68 74 20 64 6f 75 62 6c  e) (height doubl
5a80: 65 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  e)) "cairo_surfa
5a90: 63 65 5f 63 72 65 61 74 65 5f 66 6f 72 5f 72 65  ce_create_for_re
5aa0: 63 74 61 6e 67 6c 65 22 29 0a 28 64 65 66 69 6e  ctangle").(defin
5ab0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20  e-cairo-func (* 
5ac0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
5ad0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 63   cairo-surface-c
5ae0: 72 65 61 74 65 2d 6f 62 73 65 72 76 65 72 20 28  reate-observer (
5af0: 28 74 61 72 67 65 74 20 28 2a 20 63 61 69 72 6f  (target (* cairo
5b00: 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28 6d 6f  -surface-t)) (mo
5b10: 64 65 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  de cairo-surface
5b20: 2d 6f 62 73 65 72 76 65 72 2d 6d 6f 64 65 2d 74  -observer-mode-t
5b30: 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63  )) "cairo_surfac
5b40: 65 5f 63 72 65 61 74 65 5f 6f 62 73 65 72 76 65  e_create_observe
5b50: 72 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  r").(define-cair
5b60: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61  o-func cairo-sta
5b70: 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66  tus-t cairo-surf
5b80: 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 61 64 64  ace-observer-add
5b90: 2d 70 61 69 6e 74 2d 63 61 6c 6c 62 61 63 6b 20  -paint-callback 
5ba0: 28 28 61 62 73 74 72 61 63 74 5f 73 75 72 66 61  ((abstract_surfa
5bb0: 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  ce (* cairo-surf
5bc0: 61 63 65 2d 74 29 29 20 28 66 75 6e 63 20 28 2a  ace-t)) (func (*
5bd0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f   cairo-surface-o
5be0: 62 73 65 72 76 65 72 2d 63 61 6c 6c 62 61 63 6b  bserver-callback
5bf0: 2d 74 29 29 20 28 64 61 74 61 20 76 6f 69 64 2a  -t)) (data void*
5c00: 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63  )) "cairo_surfac
5c10: 65 5f 6f 62 73 65 72 76 65 72 5f 61 64 64 5f 70  e_observer_add_p
5c20: 61 69 6e 74 5f 63 61 6c 6c 62 61 63 6b 22 29 0a  aint_callback").
5c30: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
5c40: 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d  nc cairo-status-
5c50: 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  t cairo-surface-
5c60: 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 6d 61 73  observer-add-mas
5c70: 6b 2d 63 61 6c 6c 62 61 63 6b 20 28 28 61 62 73  k-callback ((abs
5c80: 74 72 61 63 74 5f 73 75 72 66 61 63 65 20 28 2a  tract_surface (*
5c90: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
5ca0: 29 29 20 28 66 75 6e 63 20 28 2a 20 63 61 69 72  )) (func (* cair
5cb0: 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76  o-surface-observ
5cc0: 65 72 2d 63 61 6c 6c 62 61 63 6b 2d 74 29 29 20  er-callback-t)) 
5cd0: 28 64 61 74 61 20 76 6f 69 64 2a 29 29 20 22 63  (data void*)) "c
5ce0: 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 6f 62 73  airo_surface_obs
5cf0: 65 72 76 65 72 5f 61 64 64 5f 6d 61 73 6b 5f 63  erver_add_mask_c
5d00: 61 6c 6c 62 61 63 6b 22 29 0a 28 64 65 66 69 6e  allback").(defin
5d10: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69  e-cairo-func cai
5d20: 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72  ro-status-t cair
5d30: 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76  o-surface-observ
5d40: 65 72 2d 61 64 64 2d 66 69 6c 6c 2d 63 61 6c 6c  er-add-fill-call
5d50: 62 61 63 6b 20 28 28 61 62 73 74 72 61 63 74 5f  back ((abstract_
5d60: 73 75 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f  surface (* cairo
5d70: 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28 66 75  -surface-t)) (fu
5d80: 6e 63 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  nc (* cairo-surf
5d90: 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 63 61 6c  ace-observer-cal
5da0: 6c 62 61 63 6b 2d 74 29 29 20 28 64 61 74 61 20  lback-t)) (data 
5db0: 76 6f 69 64 2a 29 29 20 22 63 61 69 72 6f 5f 73  void*)) "cairo_s
5dc0: 75 72 66 61 63 65 5f 6f 62 73 65 72 76 65 72 5f  urface_observer_
5dd0: 61 64 64 5f 66 69 6c 6c 5f 63 61 6c 6c 62 61 63  add_fill_callbac
5de0: 6b 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  k").(define-cair
5df0: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61  o-func cairo-sta
5e00: 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66  tus-t cairo-surf
5e10: 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 61 64 64  ace-observer-add
5e20: 2d 73 74 72 6f 6b 65 2d 63 61 6c 6c 62 61 63 6b  -stroke-callback
5e30: 20 28 28 61 62 73 74 72 61 63 74 5f 73 75 72 66   ((abstract_surf
5e40: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
5e50: 66 61 63 65 2d 74 29 29 20 28 66 75 6e 63 20 28  face-t)) (func (
5e60: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
5e70: 6f 62 73 65 72 76 65 72 2d 63 61 6c 6c 62 61 63  observer-callbac
5e80: 6b 2d 74 29 29 20 28 64 61 74 61 20 76 6f 69 64  k-t)) (data void
5e90: 2a 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  *)) "cairo_surfa
5ea0: 63 65 5f 6f 62 73 65 72 76 65 72 5f 61 64 64 5f  ce_observer_add_
5eb0: 73 74 72 6f 6b 65 5f 63 61 6c 6c 62 61 63 6b 22  stroke_callback"
5ec0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
5ed0: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
5ee0: 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63  s-t cairo-surfac
5ef0: 65 2d 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 67  e-observer-add-g
5f00: 6c 79 70 68 73 2d 63 61 6c 6c 62 61 63 6b 20 28  lyphs-callback (
5f10: 28 61 62 73 74 72 61 63 74 5f 73 75 72 66 61 63  (abstract_surfac
5f20: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
5f30: 63 65 2d 74 29 29 20 28 66 75 6e 63 20 28 2a 20  ce-t)) (func (* 
5f40: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62  cairo-surface-ob
5f50: 73 65 72 76 65 72 2d 63 61 6c 6c 62 61 63 6b 2d  server-callback-
5f60: 74 29 29 20 28 64 61 74 61 20 76 6f 69 64 2a 29  t)) (data void*)
5f70: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
5f80: 5f 6f 62 73 65 72 76 65 72 5f 61 64 64 5f 67 6c  _observer_add_gl
5f90: 79 70 68 73 5f 63 61 6c 6c 62 61 63 6b 22 29 0a  yphs_callback").
5fa0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
5fb0: 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d  nc cairo-status-
5fc0: 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  t cairo-surface-
5fd0: 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 66 6c 75  observer-add-flu
5fe0: 73 68 2d 63 61 6c 6c 62 61 63 6b 20 28 28 61 62  sh-callback ((ab
5ff0: 73 74 72 61 63 74 5f 73 75 72 66 61 63 65 20 28  stract_surface (
6000: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
6010: 74 29 29 20 28 66 75 6e 63 20 28 2a 20 63 61 69  t)) (func (* cai
6020: 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72  ro-surface-obser
6030: 76 65 72 2d 63 61 6c 6c 62 61 63 6b 2d 74 29 29  ver-callback-t))
6040: 20 28 64 61 74 61 20 76 6f 69 64 2a 29 29 20 22   (data void*)) "
6050: 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 6f 62  cairo_surface_ob
6060: 73 65 72 76 65 72 5f 61 64 64 5f 66 6c 75 73 68  server_add_flush
6070: 5f 63 61 6c 6c 62 61 63 6b 22 29 0a 28 64 65 66  _callback").(def
6080: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63  ine-cairo-func c
6090: 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61  airo-status-t ca
60a0: 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65  iro-surface-obse
60b0: 72 76 65 72 2d 61 64 64 2d 66 69 6e 69 73 68 2d  rver-add-finish-
60c0: 63 61 6c 6c 62 61 63 6b 20 28 28 61 62 73 74 72  callback ((abstr
60d0: 61 63 74 5f 73 75 72 66 61 63 65 20 28 2a 20 63  act_surface (* c
60e0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29  airo-surface-t))
60f0: 20 28 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d   (func (* cairo-
6100: 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72  surface-observer
6110: 2d 63 61 6c 6c 62 61 63 6b 2d 74 29 29 20 28 64  -callback-t)) (d
6120: 61 74 61 20 76 6f 69 64 2a 29 29 20 22 63 61 69  ata void*)) "cai
6130: 72 6f 5f 73 75 72 66 61 63 65 5f 6f 62 73 65 72  ro_surface_obser
6140: 76 65 72 5f 61 64 64 5f 66 69 6e 69 73 68 5f 63  ver_add_finish_c
6150: 61 6c 6c 62 61 63 6b 22 29 0a 28 64 65 66 69 6e  allback").(defin
6160: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69  e-cairo-func cai
6170: 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72  ro-status-t cair
6180: 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76  o-surface-observ
6190: 65 72 2d 70 72 69 6e 74 20 28 28 73 75 72 66 61  er-print ((surfa
61a0: 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  ce (* cairo-surf
61b0: 61 63 65 2d 74 29 29 20 28 77 72 69 74 65 5f 66  ace-t)) (write_f
61c0: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 77 72 69  unc (* cairo-wri
61d0: 74 65 2d 66 75 6e 63 2d 74 29 29 20 28 63 6c 6f  te-func-t)) (clo
61e0: 73 75 72 65 20 76 6f 69 64 2a 29 29 20 22 63 61  sure void*)) "ca
61f0: 69 72 6f 5f 73 75 72 66 61 63 65 5f 6f 62 73 65  iro_surface_obse
6200: 72 76 65 72 5f 70 72 69 6e 74 22 29 0a 28 64 65  rver_print").(de
6210: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
6220: 64 6f 75 62 6c 65 20 63 61 69 72 6f 2d 73 75 72  double cairo-sur
6230: 66 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 65 6c  face-observer-el
6240: 61 70 73 65 64 20 28 28 73 75 72 66 61 63 65 20  apsed ((surface 
6250: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
6260: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72  -t))) "cairo_sur
6270: 66 61 63 65 5f 6f 62 73 65 72 76 65 72 5f 65 6c  face_observer_el
6280: 61 70 73 65 64 22 29 0a 28 64 65 66 69 6e 65 2d  apsed").(define-
6290: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
62a0: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
62b0: 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72 2d  device-observer-
62c0: 70 72 69 6e 74 20 28 28 64 65 76 69 63 65 20 28  print ((device (
62d0: 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74  * cairo-device-t
62e0: 29 29 20 28 77 72 69 74 65 5f 66 75 6e 63 20 28  )) (write_func (
62f0: 2a 20 63 61 69 72 6f 2d 77 72 69 74 65 2d 66 75  * cairo-write-fu
6300: 6e 63 2d 74 29 29 20 28 63 6c 6f 73 75 72 65 20  nc-t)) (closure 
6310: 76 6f 69 64 2a 29 29 20 22 63 61 69 72 6f 5f 64  void*)) "cairo_d
6320: 65 76 69 63 65 5f 6f 62 73 65 72 76 65 72 5f 70  evice_observer_p
6330: 72 69 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  rint").(define-c
6340: 61 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62 6c 65  airo-func double
6350: 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f 62   cairo-device-ob
6360: 73 65 72 76 65 72 2d 65 6c 61 70 73 65 64 20 28  server-elapsed (
6370: 28 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f  (device (* cairo
6380: 2d 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61  -device-t))) "ca
6390: 69 72 6f 5f 64 65 76 69 63 65 5f 6f 62 73 65 72  iro_device_obser
63a0: 76 65 72 5f 65 6c 61 70 73 65 64 22 29 0a 28 64  ver_elapsed").(d
63b0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
63c0: 20 64 6f 75 62 6c 65 20 63 61 69 72 6f 2d 64 65   double cairo-de
63d0: 76 69 63 65 2d 6f 62 73 65 72 76 65 72 2d 70 61  vice-observer-pa
63e0: 69 6e 74 2d 65 6c 61 70 73 65 64 20 28 28 64 65  int-elapsed ((de
63f0: 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65  vice (* cairo-de
6400: 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  vice-t))) "cairo
6410: 5f 64 65 76 69 63 65 5f 6f 62 73 65 72 76 65 72  _device_observer
6420: 5f 70 61 69 6e 74 5f 65 6c 61 70 73 65 64 22 29  _paint_elapsed")
6430: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
6440: 75 6e 63 20 64 6f 75 62 6c 65 20 63 61 69 72 6f  unc double cairo
6450: 2d 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72  -device-observer
6460: 2d 6d 61 73 6b 2d 65 6c 61 70 73 65 64 20 28 28  -mask-elapsed ((
6470: 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d  device (* cairo-
6480: 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69  device-t))) "cai
6490: 72 6f 5f 64 65 76 69 63 65 5f 6f 62 73 65 72 76  ro_device_observ
64a0: 65 72 5f 6d 61 73 6b 5f 65 6c 61 70 73 65 64 22  er_mask_elapsed"
64b0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
64c0: 66 75 6e 63 20 64 6f 75 62 6c 65 20 63 61 69 72  func double cair
64d0: 6f 2d 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65  o-device-observe
64e0: 72 2d 66 69 6c 6c 2d 65 6c 61 70 73 65 64 20 28  r-fill-elapsed (
64f0: 28 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f  (device (* cairo
6500: 2d 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61  -device-t))) "ca
6510: 69 72 6f 5f 64 65 76 69 63 65 5f 6f 62 73 65 72  iro_device_obser
6520: 76 65 72 5f 66 69 6c 6c 5f 65 6c 61 70 73 65 64  ver_fill_elapsed
6530: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
6540: 2d 66 75 6e 63 20 64 6f 75 62 6c 65 20 63 61 69  -func double cai
6550: 72 6f 2d 64 65 76 69 63 65 2d 6f 62 73 65 72 76  ro-device-observ
6560: 65 72 2d 73 74 72 6f 6b 65 2d 65 6c 61 70 73 65  er-stroke-elapse
6570: 64 20 28 28 64 65 76 69 63 65 20 28 2a 20 63 61  d ((device (* ca
6580: 69 72 6f 2d 64 65 76 69 63 65 2d 74 29 29 29 20  iro-device-t))) 
6590: 22 63 61 69 72 6f 5f 64 65 76 69 63 65 5f 6f 62  "cairo_device_ob
65a0: 73 65 72 76 65 72 5f 73 74 72 6f 6b 65 5f 65 6c  server_stroke_el
65b0: 61 70 73 65 64 22 29 0a 28 64 65 66 69 6e 65 2d  apsed").(define-
65c0: 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62 6c  cairo-func doubl
65d0: 65 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f  e cairo-device-o
65e0: 62 73 65 72 76 65 72 2d 67 6c 79 70 68 73 2d 65  bserver-glyphs-e
65f0: 6c 61 70 73 65 64 20 28 28 64 65 76 69 63 65 20  lapsed ((device 
6600: 28 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d  (* cairo-device-
6610: 74 29 29 29 20 22 63 61 69 72 6f 5f 64 65 76 69  t))) "cairo_devi
6620: 63 65 5f 6f 62 73 65 72 76 65 72 5f 67 6c 79 70  ce_observer_glyp
6630: 68 73 5f 65 6c 61 70 73 65 64 22 29 0a 28 64 65  hs_elapsed").(de
6640: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
6650: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
6660: 2d 74 29 20 63 61 69 72 6f 2d 73 75 72 66 61 63  -t) cairo-surfac
6670: 65 2d 72 65 66 65 72 65 6e 63 65 20 28 28 73 75  e-reference ((su
6680: 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73  rface (* cairo-s
6690: 75 72 66 61 63 65 2d 74 29 29 29 20 22 63 61 69  urface-t))) "cai
66a0: 72 6f 5f 73 75 72 66 61 63 65 5f 72 65 66 65 72  ro_surface_refer
66b0: 65 6e 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  ence").(define-c
66c0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
66d0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 66 69 6e  airo-surface-fin
66e0: 69 73 68 20 28 28 73 75 72 66 61 63 65 20 28 2a  ish ((surface (*
66f0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
6700: 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  ))) "cairo_surfa
6710: 63 65 5f 66 69 6e 69 73 68 22 29 0a 28 64 65 66  ce_finish").(def
6720: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
6730: 6f 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63  oid cairo-surfac
6740: 65 2d 64 65 73 74 72 6f 79 20 28 28 73 75 72 66  e-destroy ((surf
6750: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
6760: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
6770: 5f 73 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79  _surface_destroy
6780: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
6790: 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 64  -func (* cairo-d
67a0: 65 76 69 63 65 2d 74 29 20 63 61 69 72 6f 2d 73  evice-t) cairo-s
67b0: 75 72 66 61 63 65 2d 67 65 74 2d 64 65 76 69 63  urface-get-devic
67c0: 65 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63  e ((surface (* c
67d0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29  airo-surface-t))
67e0: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
67f0: 5f 67 65 74 5f 64 65 76 69 63 65 22 29 0a 28 64  _get_device").(d
6800: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
6810: 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74 20 63 61   unsigned-int ca
6820: 69 72 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d  iro-surface-get-
6830: 72 65 66 65 72 65 6e 63 65 2d 63 6f 75 6e 74 20  reference-count 
6840: 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61 69  ((surface (* cai
6850: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20  ro-surface-t))) 
6860: 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 67  "cairo_surface_g
6870: 65 74 5f 72 65 66 65 72 65 6e 63 65 5f 63 6f 75  et_reference_cou
6880: 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  nt").(define-cai
6890: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
68a0: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72  atus-t cairo-sur
68b0: 66 61 63 65 2d 73 74 61 74 75 73 20 28 28 73 75  face-status ((su
68c0: 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73  rface (* cairo-s
68d0: 75 72 66 61 63 65 2d 74 29 29 29 20 22 63 61 69  urface-t))) "cai
68e0: 72 6f 5f 73 75 72 66 61 63 65 5f 73 74 61 74 75  ro_surface_statu
68f0: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
6900: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 75 72  o-func cairo-sur
6910: 66 61 63 65 2d 74 79 70 65 2d 74 20 63 61 69 72  face-type-t cair
6920: 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 74 79  o-surface-get-ty
6930: 70 65 20 28 28 73 75 72 66 61 63 65 20 28 2a 20  pe ((surface (* 
6940: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
6950: 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63  )) "cairo_surfac
6960: 65 5f 67 65 74 5f 74 79 70 65 22 29 0a 28 64 65  e_get_type").(de
6970: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
6980: 63 61 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 20  cairo-content-t 
6990: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 67 65  cairo-surface-ge
69a0: 74 2d 63 6f 6e 74 65 6e 74 20 28 28 73 75 72 66  t-content ((surf
69b0: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
69c0: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
69d0: 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 63 6f 6e  _surface_get_con
69e0: 74 65 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  tent").(define-c
69f0: 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d  airo-func cairo-
6a00: 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 73  status-t cairo-s
6a10: 75 72 66 61 63 65 2d 77 72 69 74 65 2d 74 6f 2d  urface-write-to-
6a20: 70 6e 67 20 28 28 73 75 72 66 61 63 65 20 28 2a  png ((surface (*
6a30: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
6a40: 29 29 20 28 66 69 6c 65 6e 61 6d 65 20 73 74 72  )) (filename str
6a50: 69 6e 67 29 29 20 22 63 61 69 72 6f 5f 73 75 72  ing)) "cairo_sur
6a60: 66 61 63 65 5f 77 72 69 74 65 5f 74 6f 5f 70 6e  face_write_to_pn
6a70: 67 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  g").(define-cair
6a80: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61  o-func cairo-sta
6a90: 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66  tus-t cairo-surf
6aa0: 61 63 65 2d 77 72 69 74 65 2d 74 6f 2d 70 6e 67  ace-write-to-png
6ab0: 2d 73 74 72 65 61 6d 20 28 28 73 75 72 66 61 63  -stream ((surfac
6ac0: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
6ad0: 63 65 2d 74 29 29 20 28 77 72 69 74 65 5f 66 75  ce-t)) (write_fu
6ae0: 6e 63 20 28 2a 20 63 61 69 72 6f 2d 77 72 69 74  nc (* cairo-writ
6af0: 65 2d 66 75 6e 63 2d 74 29 29 20 28 63 6c 6f 73  e-func-t)) (clos
6b00: 75 72 65 20 76 6f 69 64 2a 29 29 20 22 63 61 69  ure void*)) "cai
6b10: 72 6f 5f 73 75 72 66 61 63 65 5f 77 72 69 74 65  ro_surface_write
6b20: 5f 74 6f 5f 70 6e 67 5f 73 74 72 65 61 6d 22 29  _to_png_stream")
6b30: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
6b40: 75 6e 63 20 76 6f 69 64 2a 20 63 61 69 72 6f 2d  unc void* cairo-
6b50: 73 75 72 66 61 63 65 2d 67 65 74 2d 75 73 65 72  surface-get-user
6b60: 2d 64 61 74 61 20 28 28 73 75 72 66 61 63 65 20  -data ((surface 
6b70: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
6b80: 2d 74 29 29 20 28 6b 65 79 20 28 2a 20 63 61 69  -t)) (key (* cai
6b90: 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65 79  ro-user-data-key
6ba0: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72  -t))) "cairo_sur
6bb0: 66 61 63 65 5f 67 65 74 5f 75 73 65 72 5f 64 61  face_get_user_da
6bc0: 74 61 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ta").(define-cai
6bd0: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
6be0: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72  atus-t cairo-sur
6bf0: 66 61 63 65 2d 73 65 74 2d 75 73 65 72 2d 64 61  face-set-user-da
6c00: 74 61 20 28 28 73 75 72 66 61 63 65 20 28 2a 20  ta ((surface (* 
6c10: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
6c20: 29 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f 2d  ) (key (* cairo-
6c30: 75 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74 29  user-data-key-t)
6c40: 29 20 28 75 73 65 72 5f 64 61 74 61 20 76 6f 69  ) (user_data voi
6c50: 64 2a 29 20 28 64 65 73 74 72 6f 79 20 63 61 69  d*) (destroy cai
6c60: 72 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63 2d  ro-destroy-func-
6c70: 74 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  t)) "cairo_surfa
6c80: 63 65 5f 73 65 74 5f 75 73 65 72 5f 64 61 74 61  ce_set_user_data
6c90: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
6ca0: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
6cb0: 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 6d 69 6d  -surface-get-mim
6cc0: 65 2d 64 61 74 61 20 28 28 73 75 72 66 61 63 65  e-data ((surface
6cd0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
6ce0: 65 2d 74 29 29 20 28 6d 69 6d 65 5f 74 79 70 65  e-t)) (mime_type
6cf0: 20 73 74 72 69 6e 67 29 20 28 64 61 74 61 20 28   string) (data (
6d00: 2a 20 75 6e 73 69 67 6e 65 64 2d 38 2a 29 29 20  * unsigned-8*)) 
6d10: 28 6c 65 6e 67 74 68 20 28 2a 20 75 6e 73 69 67  (length (* unsig
6d20: 6e 65 64 2d 6c 6f 6e 67 29 29 29 20 22 63 61 69  ned-long))) "cai
6d30: 72 6f 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 6d  ro_surface_get_m
6d40: 69 6d 65 5f 64 61 74 61 22 29 0a 28 64 65 66 69  ime_data").(defi
6d50: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
6d60: 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69  iro-status-t cai
6d70: 72 6f 2d 73 75 72 66 61 63 65 2d 73 65 74 2d 6d  ro-surface-set-m
6d80: 69 6d 65 2d 64 61 74 61 20 28 28 73 75 72 66 61  ime-data ((surfa
6d90: 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  ce (* cairo-surf
6da0: 61 63 65 2d 74 29 29 20 28 6d 69 6d 65 5f 74 79  ace-t)) (mime_ty
6db0: 70 65 20 73 74 72 69 6e 67 29 20 28 64 61 74 61  pe string) (data
6dc0: 20 28 2a 20 75 6e 73 69 67 6e 65 64 2d 38 29 29   (* unsigned-8))
6dd0: 20 28 6c 65 6e 67 74 68 20 75 6e 73 69 67 6e 65   (length unsigne
6de0: 64 2d 6c 6f 6e 67 29 20 28 64 65 73 74 72 6f 79  d-long) (destroy
6df0: 20 63 61 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66   cairo-destroy-f
6e00: 75 6e 63 2d 74 29 20 28 63 6c 6f 73 75 72 65 20  unc-t) (closure 
6e10: 76 6f 69 64 2a 29 29 20 22 63 61 69 72 6f 5f 73  void*)) "cairo_s
6e20: 75 72 66 61 63 65 5f 73 65 74 5f 6d 69 6d 65 5f  urface_set_mime_
6e30: 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d 63  data").(define-c
6e40: 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d  airo-func cairo-
6e50: 62 6f 6f 6c 2d 74 20 63 61 69 72 6f 2d 73 75 72  bool-t cairo-sur
6e60: 66 61 63 65 2d 73 75 70 70 6f 72 74 73 2d 6d 69  face-supports-mi
6e70: 6d 65 2d 74 79 70 65 20 28 28 73 75 72 66 61 63  me-type ((surfac
6e80: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
6e90: 63 65 2d 74 29 29 20 28 6d 69 6d 65 5f 74 79 70  ce-t)) (mime_typ
6ea0: 65 20 73 74 72 69 6e 67 29 29 20 22 63 61 69 72  e string)) "cair
6eb0: 6f 5f 73 75 72 66 61 63 65 5f 73 75 70 70 6f 72  o_surface_suppor
6ec0: 74 73 5f 6d 69 6d 65 5f 74 79 70 65 22 29 0a 28  ts_mime_type").(
6ed0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
6ee0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 75 72  c void cairo-sur
6ef0: 66 61 63 65 2d 67 65 74 2d 66 6f 6e 74 2d 6f 70  face-get-font-op
6f00: 74 69 6f 6e 73 20 28 28 73 75 72 66 61 63 65 20  tions ((surface 
6f10: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
6f20: 2d 74 29 29 20 28 6f 70 74 69 6f 6e 73 20 28 2a  -t)) (options (*
6f30: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69   cairo-font-opti
6f40: 6f 6e 73 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  ons-t))) "cairo_
6f50: 73 75 72 66 61 63 65 5f 67 65 74 5f 66 6f 6e 74  surface_get_font
6f60: 5f 6f 70 74 69 6f 6e 73 22 29 0a 28 64 65 66 69  _options").(defi
6f70: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
6f80: 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  id cairo-surface
6f90: 2d 66 6c 75 73 68 20 28 28 73 75 72 66 61 63 65  -flush ((surface
6fa0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
6fb0: 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 75  e-t))) "cairo_su
6fc0: 72 66 61 63 65 5f 66 6c 75 73 68 22 29 0a 28 64  rface_flush").(d
6fd0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
6fe0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 75 72 66   void cairo-surf
6ff0: 61 63 65 2d 6d 61 72 6b 2d 64 69 72 74 79 20 28  ace-mark-dirty (
7000: 28 73 75 72 66 61 63 65 20 28 2a 20 63 61 69 72  (surface (* cair
7010: 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20 22  o-surface-t))) "
7020: 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 6d 61  cairo_surface_ma
7030: 72 6b 5f 64 69 72 74 79 22 29 0a 28 64 65 66 69  rk_dirty").(defi
7040: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
7050: 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  id cairo-surface
7060: 2d 6d 61 72 6b 2d 64 69 72 74 79 2d 72 65 63 74  -mark-dirty-rect
7070: 61 6e 67 6c 65 20 28 28 73 75 72 66 61 63 65 20  angle ((surface 
7080: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
7090: 2d 74 29 29 20 28 78 20 69 6e 74 29 20 28 79 20  -t)) (x int) (y 
70a0: 69 6e 74 29 20 28 77 69 64 74 68 20 69 6e 74 29  int) (width int)
70b0: 20 28 68 65 69 67 68 74 20 69 6e 74 29 29 20 22   (height int)) "
70c0: 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 6d 61  cairo_surface_ma
70d0: 72 6b 5f 64 69 72 74 79 5f 72 65 63 74 61 6e 67  rk_dirty_rectang
70e0: 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  le").(define-cai
70f0: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
7100: 72 6f 2d 73 75 72 66 61 63 65 2d 73 65 74 2d 64  ro-surface-set-d
7110: 65 76 69 63 65 2d 73 63 61 6c 65 20 28 28 73 75  evice-scale ((su
7120: 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73  rface (* cairo-s
7130: 75 72 66 61 63 65 2d 74 29 29 20 28 78 5f 73 63  urface-t)) (x_sc
7140: 61 6c 65 20 64 6f 75 62 6c 65 29 20 28 79 5f 73  ale double) (y_s
7150: 63 61 6c 65 20 64 6f 75 62 6c 65 29 29 20 22 63  cale double)) "c
7160: 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 73 65 74  airo_surface_set
7170: 5f 64 65 76 69 63 65 5f 73 63 61 6c 65 22 29 0a  _device_scale").
7180: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
7190: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 75  nc void cairo-su
71a0: 72 66 61 63 65 2d 67 65 74 2d 64 65 76 69 63 65  rface-get-device
71b0: 2d 73 63 61 6c 65 20 28 28 73 75 72 66 61 63 65  -scale ((surface
71c0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
71d0: 65 2d 74 29 29 20 28 78 5f 73 63 61 6c 65 20 28  e-t)) (x_scale (
71e0: 2a 20 64 6f 75 62 6c 65 29 29 20 28 79 5f 73 63  * double)) (y_sc
71f0: 61 6c 65 20 28 2a 20 64 6f 75 62 6c 65 29 29 29  ale (* double)))
7200: 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f   "cairo_surface_
7210: 67 65 74 5f 64 65 76 69 63 65 5f 73 63 61 6c 65  get_device_scale
7220: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
7230: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
7240: 2d 73 75 72 66 61 63 65 2d 73 65 74 2d 64 65 76  -surface-set-dev
7250: 69 63 65 2d 6f 66 66 73 65 74 20 28 28 73 75 72  ice-offset ((sur
7260: 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75  face (* cairo-su
7270: 72 66 61 63 65 2d 74 29 29 20 28 78 5f 6f 66 66  rface-t)) (x_off
7280: 73 65 74 20 64 6f 75 62 6c 65 29 20 28 79 5f 6f  set double) (y_o
7290: 66 66 73 65 74 20 64 6f 75 62 6c 65 29 29 20 22  ffset double)) "
72a0: 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 73 65  cairo_surface_se
72b0: 74 5f 64 65 76 69 63 65 5f 6f 66 66 73 65 74 22  t_device_offset"
72c0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
72d0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
72e0: 73 75 72 66 61 63 65 2d 67 65 74 2d 64 65 76 69  surface-get-devi
72f0: 63 65 2d 6f 66 66 73 65 74 20 28 28 73 75 72 66  ce-offset ((surf
7300: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
7310: 66 61 63 65 2d 74 29 29 20 28 78 5f 6f 66 66 73  face-t)) (x_offs
7320: 65 74 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  et (* double)) (
7330: 79 5f 6f 66 66 73 65 74 20 28 2a 20 64 6f 75 62  y_offset (* doub
7340: 6c 65 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72  le))) "cairo_sur
7350: 66 61 63 65 5f 67 65 74 5f 64 65 76 69 63 65 5f  face_get_device_
7360: 6f 66 66 73 65 74 22 29 0a 28 64 65 66 69 6e 65  offset").(define
7370: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
7380: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 73   cairo-surface-s
7390: 65 74 2d 66 61 6c 6c 62 61 63 6b 2d 72 65 73 6f  et-fallback-reso
73a0: 6c 75 74 69 6f 6e 20 28 28 73 75 72 66 61 63 65  lution ((surface
73b0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
73c0: 65 2d 74 29 29 20 28 78 5f 70 69 78 65 6c 73 5f  e-t)) (x_pixels_
73d0: 70 65 72 5f 69 6e 63 68 20 64 6f 75 62 6c 65 29  per_inch double)
73e0: 20 28 79 5f 70 69 78 65 6c 73 5f 70 65 72 5f 69   (y_pixels_per_i
73f0: 6e 63 68 20 64 6f 75 62 6c 65 29 29 20 22 63 61  nch double)) "ca
7400: 69 72 6f 5f 73 75 72 66 61 63 65 5f 73 65 74 5f  iro_surface_set_
7410: 66 61 6c 6c 62 61 63 6b 5f 72 65 73 6f 6c 75 74  fallback_resolut
7420: 69 6f 6e 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ion").(define-ca
7430: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
7440: 69 72 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d  iro-surface-get-
7450: 66 61 6c 6c 62 61 63 6b 2d 72 65 73 6f 6c 75 74  fallback-resolut
7460: 69 6f 6e 20 28 28 73 75 72 66 61 63 65 20 28 2a  ion ((surface (*
7470: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
7480: 29 29 20 28 78 5f 70 69 78 65 6c 73 5f 70 65 72  )) (x_pixels_per
7490: 5f 69 6e 63 68 20 28 2a 20 64 6f 75 62 6c 65 29  _inch (* double)
74a0: 29 20 28 79 5f 70 69 78 65 6c 73 5f 70 65 72 5f  ) (y_pixels_per_
74b0: 69 6e 63 68 20 28 2a 20 64 6f 75 62 6c 65 29 29  inch (* double))
74c0: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
74d0: 5f 67 65 74 5f 66 61 6c 6c 62 61 63 6b 5f 72 65  _get_fallback_re
74e0: 73 6f 6c 75 74 69 6f 6e 22 29 0a 28 64 65 66 69  solution").(defi
74f0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
7500: 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  id cairo-surface
7510: 2d 63 6f 70 79 2d 70 61 67 65 20 28 28 73 75 72  -copy-page ((sur
7520: 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75  face (* cairo-su
7530: 72 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72  rface-t))) "cair
7540: 6f 5f 73 75 72 66 61 63 65 5f 63 6f 70 79 5f 70  o_surface_copy_p
7550: 61 67 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  age").(define-ca
7560: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
7570: 69 72 6f 2d 73 75 72 66 61 63 65 2d 73 68 6f 77  iro-surface-show
7580: 2d 70 61 67 65 20 28 28 73 75 72 66 61 63 65 20  -page ((surface 
7590: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
75a0: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72  -t))) "cairo_sur
75b0: 66 61 63 65 5f 73 68 6f 77 5f 70 61 67 65 22 29  face_show_page")
75c0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
75d0: 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74  unc cairo-bool-t
75e0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 68   cairo-surface-h
75f0: 61 73 2d 73 68 6f 77 2d 74 65 78 74 2d 67 6c 79  as-show-text-gly
7600: 70 68 73 20 28 28 73 75 72 66 61 63 65 20 28 2a  phs ((surface (*
7610: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
7620: 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  ))) "cairo_surfa
7630: 63 65 5f 68 61 73 5f 73 68 6f 77 5f 74 65 78 74  ce_has_show_text
7640: 5f 67 6c 79 70 68 73 22 29 0a 28 64 65 66 69 6e  _glyphs").(defin
7650: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20  e-cairo-func (* 
7660: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
7670: 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72   cairo-image-sur
7680: 66 61 63 65 2d 63 72 65 61 74 65 20 28 28 66 6f  face-create ((fo
7690: 72 6d 61 74 20 63 61 69 72 6f 2d 66 6f 72 6d 61  rmat cairo-forma
76a0: 74 2d 74 29 20 28 77 69 64 74 68 20 69 6e 74 29  t-t) (width int)
76b0: 20 28 68 65 69 67 68 74 20 69 6e 74 29 29 20 22   (height int)) "
76c0: 63 61 69 72 6f 5f 69 6d 61 67 65 5f 73 75 72 66  cairo_image_surf
76d0: 61 63 65 5f 63 72 65 61 74 65 22 29 0a 28 64 65  ace_create").(de
76e0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
76f0: 69 6e 74 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74  int cairo-format
7700: 2d 73 74 72 69 64 65 2d 66 6f 72 2d 77 69 64 74  -stride-for-widt
7710: 68 20 28 28 66 6f 72 6d 61 74 20 63 61 69 72 6f  h ((format cairo
7720: 2d 66 6f 72 6d 61 74 2d 74 29 20 28 77 69 64 74  -format-t) (widt
7730: 68 20 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 66  h int)) "cairo_f
7740: 6f 72 6d 61 74 5f 73 74 72 69 64 65 5f 66 6f 72  ormat_stride_for
7750: 5f 77 69 64 74 68 22 29 0a 28 64 65 66 69 6e 65  _width").(define
7760: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
7770: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20  airo-surface-t) 
7780: 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66  cairo-image-surf
7790: 61 63 65 2d 63 72 65 61 74 65 2d 66 6f 72 2d 64  ace-create-for-d
77a0: 61 74 61 20 28 28 64 61 74 61 20 28 2a 20 75 6e  ata ((data (* un
77b0: 73 69 67 6e 65 64 2d 38 29 29 20 28 66 6f 72 6d  signed-8)) (form
77c0: 61 74 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d  at cairo-format-
77d0: 74 29 20 28 77 69 64 74 68 20 69 6e 74 29 20 28  t) (width int) (
77e0: 68 65 69 67 68 74 20 69 6e 74 29 20 28 73 74 72  height int) (str
77f0: 69 64 65 20 69 6e 74 29 29 20 22 63 61 69 72 6f  ide int)) "cairo
7800: 5f 69 6d 61 67 65 5f 73 75 72 66 61 63 65 5f 63  _image_surface_c
7810: 72 65 61 74 65 5f 66 6f 72 5f 64 61 74 61 22 29  reate_for_data")
7820: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
7830: 75 6e 63 20 28 2a 20 75 6e 73 69 67 6e 65 64 2d  unc (* unsigned-
7840: 38 29 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73  8) cairo-image-s
7850: 75 72 66 61 63 65 2d 67 65 74 2d 64 61 74 61 20  urface-get-data 
7860: 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61 69  ((surface (* cai
7870: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20  ro-surface-t))) 
7880: 22 63 61 69 72 6f 5f 69 6d 61 67 65 5f 73 75 72  "cairo_image_sur
7890: 66 61 63 65 5f 67 65 74 5f 64 61 74 61 22 29 0a  face_get_data").
78a0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
78b0: 6e 63 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d  nc cairo-format-
78c0: 74 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75  t cairo-image-su
78d0: 72 66 61 63 65 2d 67 65 74 2d 66 6f 72 6d 61 74  rface-get-format
78e0: 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61   ((surface (* ca
78f0: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29  iro-surface-t)))
7900: 20 22 63 61 69 72 6f 5f 69 6d 61 67 65 5f 73 75   "cairo_image_su
7910: 72 66 61 63 65 5f 67 65 74 5f 66 6f 72 6d 61 74  rface_get_format
7920: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
7930: 2d 66 75 6e 63 20 69 6e 74 20 63 61 69 72 6f 2d  -func int cairo-
7940: 69 6d 61 67 65 2d 73 75 72 66 61 63 65 2d 67 65  image-surface-ge
7950: 74 2d 77 69 64 74 68 20 28 28 73 75 72 66 61 63  t-width ((surfac
7960: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
7970: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 69  ce-t))) "cairo_i
7980: 6d 61 67 65 5f 73 75 72 66 61 63 65 5f 67 65 74  mage_surface_get
7990: 5f 77 69 64 74 68 22 29 0a 28 64 65 66 69 6e 65  _width").(define
79a0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 69 6e 74 20  -cairo-func int 
79b0: 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66  cairo-image-surf
79c0: 61 63 65 2d 67 65 74 2d 68 65 69 67 68 74 20 28  ace-get-height (
79d0: 28 73 75 72 66 61 63 65 20 28 2a 20 63 61 69 72  (surface (* cair
79e0: 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20 22  o-surface-t))) "
79f0: 63 61 69 72 6f 5f 69 6d 61 67 65 5f 73 75 72 66  cairo_image_surf
7a00: 61 63 65 5f 67 65 74 5f 68 65 69 67 68 74 22 29  ace_get_height")
7a10: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
7a20: 75 6e 63 20 69 6e 74 20 63 61 69 72 6f 2d 69 6d  unc int cairo-im
7a30: 61 67 65 2d 73 75 72 66 61 63 65 2d 67 65 74 2d  age-surface-get-
7a40: 73 74 72 69 64 65 20 28 28 73 75 72 66 61 63 65  stride ((surface
7a50: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
7a60: 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 69 6d  e-t))) "cairo_im
7a70: 61 67 65 5f 73 75 72 66 61 63 65 5f 67 65 74 5f  age_surface_get_
7a80: 73 74 72 69 64 65 22 29 0a 28 64 65 66 69 6e 65  stride").(define
7a90: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
7aa0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20  airo-surface-t) 
7ab0: 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66  cairo-image-surf
7ac0: 61 63 65 2d 63 72 65 61 74 65 2d 66 72 6f 6d 2d  ace-create-from-
7ad0: 70 6e 67 20 28 28 66 69 6c 65 6e 61 6d 65 20 73  png ((filename s
7ae0: 74 72 69 6e 67 29 29 20 22 63 61 69 72 6f 5f 69  tring)) "cairo_i
7af0: 6d 61 67 65 5f 73 75 72 66 61 63 65 5f 63 72 65  mage_surface_cre
7b00: 61 74 65 5f 66 72 6f 6d 5f 70 6e 67 22 29 0a 28  ate_from_png").(
7b10: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
7b20: 63 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  c (* cairo-surfa
7b30: 63 65 2d 74 29 20 63 61 69 72 6f 2d 69 6d 61 67  ce-t) cairo-imag
7b40: 65 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74 65  e-surface-create
7b50: 2d 66 72 6f 6d 2d 70 6e 67 2d 73 74 72 65 61 6d  -from-png-stream
7b60: 20 28 28 72 65 61 64 5f 66 75 6e 63 20 28 2a 20   ((read_func (* 
7b70: 63 61 69 72 6f 2d 72 65 61 64 2d 66 75 6e 63 2d  cairo-read-func-
7b80: 74 29 29 20 28 63 6c 6f 73 75 72 65 20 76 6f 69  t)) (closure voi
7b90: 64 2a 29 29 20 22 63 61 69 72 6f 5f 69 6d 61 67  d*)) "cairo_imag
7ba0: 65 5f 73 75 72 66 61 63 65 5f 63 72 65 61 74 65  e_surface_create
7bb0: 5f 66 72 6f 6d 5f 70 6e 67 5f 73 74 72 65 61 6d  _from_png_stream
7bc0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
7bd0: 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 73  -func (* cairo-s
7be0: 75 72 66 61 63 65 2d 74 29 20 63 61 69 72 6f 2d  urface-t) cairo-
7bf0: 72 65 63 6f 72 64 69 6e 67 2d 73 75 72 66 61 63  recording-surfac
7c00: 65 2d 63 72 65 61 74 65 20 28 28 63 6f 6e 74 65  e-create ((conte
7c10: 6e 74 20 63 61 69 72 6f 2d 63 6f 6e 74 65 6e 74  nt cairo-content
7c20: 2d 74 29 20 28 65 78 74 65 6e 74 73 20 28 2a 20  -t) (extents (* 
7c30: 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d  cairo-rectangle-
7c40: 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65 63 6f  t))) "cairo_reco
7c50: 72 64 69 6e 67 5f 73 75 72 66 61 63 65 5f 63 72  rding_surface_cr
7c60: 65 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  eate").(define-c
7c70: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
7c80: 61 69 72 6f 2d 72 65 63 6f 72 64 69 6e 67 2d 73  airo-recording-s
7c90: 75 72 66 61 63 65 2d 69 6e 6b 2d 65 78 74 65 6e  urface-ink-exten
7ca0: 74 73 20 28 28 73 75 72 66 61 63 65 20 28 2a 20  ts ((surface (* 
7cb0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
7cc0: 29 20 28 78 30 20 28 2a 20 64 6f 75 62 6c 65 29  ) (x0 (* double)
7cd0: 29 20 28 79 30 20 28 2a 20 64 6f 75 62 6c 65 29  ) (y0 (* double)
7ce0: 29 20 28 77 69 64 74 68 20 28 2a 20 64 6f 75 62  ) (width (* doub
7cf0: 6c 65 29 29 20 28 68 65 69 67 68 74 20 28 2a 20  le)) (height (* 
7d00: 64 6f 75 62 6c 65 29 29 29 20 22 63 61 69 72 6f  double))) "cairo
7d10: 5f 72 65 63 6f 72 64 69 6e 67 5f 73 75 72 66 61  _recording_surfa
7d20: 63 65 5f 69 6e 6b 5f 65 78 74 65 6e 74 73 22 29  ce_ink_extents")
7d30: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
7d40: 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74  unc cairo-bool-t
7d50: 20 63 61 69 72 6f 2d 72 65 63 6f 72 64 69 6e 67   cairo-recording
7d60: 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 65 78 74  -surface-get-ext
7d70: 65 6e 74 73 20 28 28 73 75 72 66 61 63 65 20 28  ents ((surface (
7d80: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
7d90: 74 29 29 20 28 65 78 74 65 6e 74 73 20 28 2a 20  t)) (extents (* 
7da0: 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d  cairo-rectangle-
7db0: 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65 63 6f  t))) "cairo_reco
7dc0: 72 64 69 6e 67 5f 73 75 72 66 61 63 65 5f 67 65  rding_surface_ge
7dd0: 74 5f 65 78 74 65 6e 74 73 22 29 0a 28 64 65 66  t_extents").(def
7de0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
7df0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
7e00: 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  t) cairo-pattern
7e10: 2d 63 72 65 61 74 65 2d 72 61 73 74 65 72 2d 73  -create-raster-s
7e20: 6f 75 72 63 65 20 28 28 75 73 65 72 5f 64 61 74  ource ((user_dat
7e30: 61 20 76 6f 69 64 2a 29 20 28 63 6f 6e 74 65 6e  a void*) (conten
7e40: 74 20 63 61 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d  t cairo-content-
7e50: 74 29 20 28 77 69 64 74 68 20 69 6e 74 29 20 28  t) (width int) (
7e60: 68 65 69 67 68 74 20 69 6e 74 29 29 20 22 63 61  height int)) "ca
7e70: 69 72 6f 5f 70 61 74 74 65 72 6e 5f 63 72 65 61  iro_pattern_crea
7e80: 74 65 5f 72 61 73 74 65 72 5f 73 6f 75 72 63 65  te_raster_source
7e90: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
7ea0: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
7eb0: 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 70  -raster-source-p
7ec0: 61 74 74 65 72 6e 2d 73 65 74 2d 63 61 6c 6c 62  attern-set-callb
7ed0: 61 63 6b 2d 64 61 74 61 20 28 28 70 61 74 74 65  ack-data ((patte
7ee0: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
7ef0: 65 72 6e 2d 74 29 29 20 28 64 61 74 61 20 76 6f  ern-t)) (data vo
7f00: 69 64 2a 29 29 20 22 63 61 69 72 6f 5f 72 61 73  id*)) "cairo_ras
7f10: 74 65 72 5f 73 6f 75 72 63 65 5f 70 61 74 74 65  ter_source_patte
7f20: 72 6e 5f 73 65 74 5f 63 61 6c 6c 62 61 63 6b 5f  rn_set_callback_
7f30: 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d 63  data").(define-c
7f40: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 2a 20  airo-func void* 
7f50: 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75  cairo-raster-sou
7f60: 72 63 65 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d  rce-pattern-get-
7f70: 63 61 6c 6c 62 61 63 6b 2d 64 61 74 61 20 28 28  callback-data ((
7f80: 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f  pattern (* cairo
7f90: 2d 70 61 74 74 65 72 6e 2d 74 29 29 29 20 22 63  -pattern-t))) "c
7fa0: 61 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f 75 72  airo_raster_sour
7fb0: 63 65 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 63  ce_pattern_get_c
7fc0: 61 6c 6c 62 61 63 6b 5f 64 61 74 61 22 29 0a 28  allback_data").(
7fd0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
7fe0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72 61 73  c void cairo-ras
7ff0: 74 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65  ter-source-patte
8000: 72 6e 2d 73 65 74 2d 61 63 71 75 69 72 65 20 28  rn-set-acquire (
8010: 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72  (pattern (* cair
8020: 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28 61  o-pattern-t)) (a
8030: 63 71 75 69 72 65 20 28 2a 20 63 61 69 72 6f 2d  cquire (* cairo-
8040: 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 61 63  raster-source-ac
8050: 71 75 69 72 65 2d 66 75 6e 63 2d 74 29 29 20 28  quire-func-t)) (
8060: 72 65 6c 65 61 73 65 20 28 2a 20 63 61 69 72 6f  release (* cairo
8070: 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 72  -raster-source-r
8080: 65 6c 65 61 73 65 2d 66 75 6e 63 2d 74 29 29 29  elease-func-t)))
8090: 20 22 63 61 69 72 6f 5f 72 61 73 74 65 72 5f 73   "cairo_raster_s
80a0: 6f 75 72 63 65 5f 70 61 74 74 65 72 6e 5f 73 65  ource_pattern_se
80b0: 74 5f 61 63 71 75 69 72 65 22 29 0a 28 64 65 66  t_acquire").(def
80c0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
80d0: 6f 69 64 20 63 61 69 72 6f 2d 72 61 73 74 65 72  oid cairo-raster
80e0: 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d  -source-pattern-
80f0: 67 65 74 2d 61 63 71 75 69 72 65 20 28 28 70 61  get-acquire ((pa
8100: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
8110: 61 74 74 65 72 6e 2d 74 29 29 20 28 61 63 71 75  attern-t)) (acqu
8120: 69 72 65 20 28 2a 20 63 61 69 72 6f 2d 72 61 73  ire (* cairo-ras
8130: 74 65 72 2d 73 6f 75 72 63 65 2d 61 63 71 75 69  ter-source-acqui
8140: 72 65 2d 66 75 6e 63 2d 74 2a 29 29 20 28 72 65  re-func-t*)) (re
8150: 6c 65 61 73 65 20 28 2a 20 63 61 69 72 6f 2d 72  lease (* cairo-r
8160: 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 72 65 6c  aster-source-rel
8170: 65 61 73 65 2d 66 75 6e 63 2d 74 2a 29 29 29 20  ease-func-t*))) 
8180: 22 63 61 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f  "cairo_raster_so
8190: 75 72 63 65 5f 70 61 74 74 65 72 6e 5f 67 65 74  urce_pattern_get
81a0: 5f 61 63 71 75 69 72 65 22 29 0a 28 64 65 66 69  _acquire").(defi
81b0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
81c0: 69 64 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d  id cairo-raster-
81d0: 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d 73  source-pattern-s
81e0: 65 74 2d 73 6e 61 70 73 68 6f 74 20 28 28 70 61  et-snapshot ((pa
81f0: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
8200: 61 74 74 65 72 6e 2d 74 29 29 20 28 73 6e 61 70  attern-t)) (snap
8210: 73 68 6f 74 20 28 2a 20 63 61 69 72 6f 2d 72 61  shot (* cairo-ra
8220: 73 74 65 72 2d 73 6f 75 72 63 65 2d 73 6e 61 70  ster-source-snap
8230: 73 68 6f 74 2d 66 75 6e 63 2d 74 29 29 29 20 22  shot-func-t))) "
8240: 63 61 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f 75  cairo_raster_sou
8250: 72 63 65 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f  rce_pattern_set_
8260: 73 6e 61 70 73 68 6f 74 22 29 0a 28 64 65 66 69  snapshot").(defi
8270: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
8280: 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f   cairo-raster-so
8290: 75 72 63 65 2d 73 6e 61 70 73 68 6f 74 2d 66 75  urce-snapshot-fu
82a0: 6e 63 2d 74 29 20 63 61 69 72 6f 2d 72 61 73 74  nc-t) cairo-rast
82b0: 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72  er-source-patter
82c0: 6e 2d 67 65 74 2d 73 6e 61 70 73 68 6f 74 20 28  n-get-snapshot (
82d0: 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72  (pattern (* cair
82e0: 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 29 20 22  o-pattern-t))) "
82f0: 63 61 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f 75  cairo_raster_sou
8300: 72 63 65 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f  rce_pattern_get_
8310: 73 6e 61 70 73 68 6f 74 22 29 0a 28 64 65 66 69  snapshot").(defi
8320: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
8330: 69 64 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d  id cairo-raster-
8340: 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d 73  source-pattern-s
8350: 65 74 2d 63 6f 70 79 20 28 28 70 61 74 74 65 72  et-copy ((patter
8360: 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65  n (* cairo-patte
8370: 72 6e 2d 74 29 29 20 28 63 6f 70 79 20 28 2a 20  rn-t)) (copy (* 
8380: 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75  cairo-raster-sou
8390: 72 63 65 2d 63 6f 70 79 2d 66 75 6e 63 2d 74 29  rce-copy-func-t)
83a0: 29 29 20 22 63 61 69 72 6f 5f 72 61 73 74 65 72  )) "cairo_raster
83b0: 5f 73 6f 75 72 63 65 5f 70 61 74 74 65 72 6e 5f  _source_pattern_
83c0: 73 65 74 5f 63 6f 70 79 22 29 0a 28 64 65 66 69  set_copy").(defi
83d0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
83e0: 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f   cairo-raster-so
83f0: 75 72 63 65 2d 63 6f 70 79 2d 66 75 6e 63 2d 74  urce-copy-func-t
8400: 29 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73  ) cairo-raster-s
8410: 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d 67 65  ource-pattern-ge
8420: 74 2d 63 6f 70 79 20 28 28 70 61 74 74 65 72 6e  t-copy ((pattern
8430: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
8440: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 61  n-t))) "cairo_ra
8450: 73 74 65 72 5f 73 6f 75 72 63 65 5f 70 61 74 74  ster_source_patt
8460: 65 72 6e 5f 67 65 74 5f 63 6f 70 79 22 29 0a 28  ern_get_copy").(
8470: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
8480: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72 61 73  c void cairo-ras
8490: 74 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65  ter-source-patte
84a0: 72 6e 2d 73 65 74 2d 66 69 6e 69 73 68 20 28 28  rn-set-finish ((
84b0: 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f  pattern (* cairo
84c0: 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28 66 69  -pattern-t)) (fi
84d0: 6e 69 73 68 20 28 2a 20 63 61 69 72 6f 2d 72 61  nish (* cairo-ra
84e0: 73 74 65 72 2d 73 6f 75 72 63 65 2d 66 69 6e 69  ster-source-fini
84f0: 73 68 2d 66 75 6e 63 2d 74 29 29 29 20 22 63 61  sh-func-t))) "ca
8500: 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f 75 72 63  iro_raster_sourc
8510: 65 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f 66 69  e_pattern_set_fi
8520: 6e 69 73 68 22 29 0a 28 64 65 66 69 6e 65 2d 63  nish").(define-c
8530: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
8540: 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65  ro-raster-source
8550: 2d 66 69 6e 69 73 68 2d 66 75 6e 63 2d 74 29 20  -finish-func-t) 
8560: 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75  cairo-raster-sou
8570: 72 63 65 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d  rce-pattern-get-
8580: 66 69 6e 69 73 68 20 28 28 70 61 74 74 65 72 6e  finish ((pattern
8590: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
85a0: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 61  n-t))) "cairo_ra
85b0: 73 74 65 72 5f 73 6f 75 72 63 65 5f 70 61 74 74  ster_source_patt
85c0: 65 72 6e 5f 67 65 74 5f 66 69 6e 69 73 68 22 29  ern_get_finish")
85d0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
85e0: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  unc (* cairo-pat
85f0: 74 65 72 6e 2d 74 29 20 63 61 69 72 6f 2d 70 61  tern-t) cairo-pa
8600: 74 74 65 72 6e 2d 63 72 65 61 74 65 2d 72 67 62  ttern-create-rgb
8610: 20 28 28 72 65 64 20 64 6f 75 62 6c 65 29 20 28   ((red double) (
8620: 67 72 65 65 6e 20 64 6f 75 62 6c 65 29 20 28 62  green double) (b
8630: 6c 75 65 20 64 6f 75 62 6c 65 29 29 20 22 63 61  lue double)) "ca
8640: 69 72 6f 5f 70 61 74 74 65 72 6e 5f 63 72 65 61  iro_pattern_crea
8650: 74 65 5f 72 67 62 22 29 0a 28 64 65 66 69 6e 65  te_rgb").(define
8660: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
8670: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 20  airo-pattern-t) 
8680: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72  cairo-pattern-cr
8690: 65 61 74 65 2d 72 67 62 61 20 28 28 72 65 64 20  eate-rgba ((red 
86a0: 64 6f 75 62 6c 65 29 20 28 67 72 65 65 6e 20 64  double) (green d
86b0: 6f 75 62 6c 65 29 20 28 62 6c 75 65 20 64 6f 75  ouble) (blue dou
86c0: 62 6c 65 29 20 28 61 6c 70 68 61 20 64 6f 75 62  ble) (alpha doub
86d0: 6c 65 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  le)) "cairo_patt
86e0: 65 72 6e 5f 63 72 65 61 74 65 5f 72 67 62 61 22  ern_create_rgba"
86f0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
8700: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 70 61  func (* cairo-pa
8710: 74 74 65 72 6e 2d 74 29 20 63 61 69 72 6f 2d 70  ttern-t) cairo-p
8720: 61 74 74 65 72 6e 2d 63 72 65 61 74 65 2d 66 6f  attern-create-fo
8730: 72 2d 73 75 72 66 61 63 65 20 28 28 73 75 72 66  r-surface ((surf
8740: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
8750: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
8760: 5f 70 61 74 74 65 72 6e 5f 63 72 65 61 74 65 5f  _pattern_create_
8770: 66 6f 72 5f 73 75 72 66 61 63 65 22 29 0a 28 64  for_surface").(d
8780: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
8790: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
87a0: 6e 2d 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65  n-t) cairo-patte
87b0: 72 6e 2d 63 72 65 61 74 65 2d 6c 69 6e 65 61 72  rn-create-linear
87c0: 20 28 28 78 30 20 64 6f 75 62 6c 65 29 20 28 79   ((x0 double) (y
87d0: 30 20 64 6f 75 62 6c 65 29 20 28 78 31 20 64 6f  0 double) (x1 do
87e0: 75 62 6c 65 29 20 28 79 31 20 64 6f 75 62 6c 65  uble) (y1 double
87f0: 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72  )) "cairo_patter
8800: 6e 5f 63 72 65 61 74 65 5f 6c 69 6e 65 61 72 22  n_create_linear"
8810: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
8820: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 70 61  func (* cairo-pa
8830: 74 74 65 72 6e 2d 74 29 20 63 61 69 72 6f 2d 70  ttern-t) cairo-p
8840: 61 74 74 65 72 6e 2d 63 72 65 61 74 65 2d 72 61  attern-create-ra
8850: 64 69 61 6c 20 28 28 63 78 30 20 64 6f 75 62 6c  dial ((cx0 doubl
8860: 65 29 20 28 63 79 30 20 64 6f 75 62 6c 65 29 20  e) (cy0 double) 
8870: 28 72 61 64 69 75 73 30 20 64 6f 75 62 6c 65 29  (radius0 double)
8880: 20 28 63 78 31 20 64 6f 75 62 6c 65 29 20 28 63   (cx1 double) (c
8890: 79 31 20 64 6f 75 62 6c 65 29 20 28 72 61 64 69  y1 double) (radi
88a0: 75 73 31 20 64 6f 75 62 6c 65 29 29 20 22 63 61  us1 double)) "ca
88b0: 69 72 6f 5f 70 61 74 74 65 72 6e 5f 63 72 65 61  iro_pattern_crea
88c0: 74 65 5f 72 61 64 69 61 6c 22 29 0a 28 64 65 66  te_radial").(def
88d0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
88e0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
88f0: 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  t) cairo-pattern
8900: 2d 63 72 65 61 74 65 2d 6d 65 73 68 20 28 29 20  -create-mesh () 
8910: 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 63  "cairo_pattern_c
8920: 72 65 61 74 65 5f 6d 65 73 68 22 29 0a 28 64 65  reate_mesh").(de
8930: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
8940: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
8950: 2d 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65 72  -t) cairo-patter
8960: 6e 2d 72 65 66 65 72 65 6e 63 65 20 28 28 70 61  n-reference ((pa
8970: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
8980: 61 74 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69  attern-t))) "cai
8990: 72 6f 5f 70 61 74 74 65 72 6e 5f 72 65 66 65 72  ro_pattern_refer
89a0: 65 6e 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  ence").(define-c
89b0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
89c0: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 64 65 73  airo-pattern-des
89d0: 74 72 6f 79 20 28 28 70 61 74 74 65 72 6e 20 28  troy ((pattern (
89e0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
89f0: 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  t))) "cairo_patt
8a00: 65 72 6e 5f 64 65 73 74 72 6f 79 22 29 0a 28 64  ern_destroy").(d
8a10: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
8a20: 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74 20 63 61   unsigned-int ca
8a30: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d  iro-pattern-get-
8a40: 72 65 66 65 72 65 6e 63 65 2d 63 6f 75 6e 74 20  reference-count 
8a50: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
8a60: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 29 20  ro-pattern-t))) 
8a70: 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67  "cairo_pattern_g
8a80: 65 74 5f 72 65 66 65 72 65 6e 63 65 5f 63 6f 75  et_reference_cou
8a90: 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  nt").(define-cai
8aa0: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
8ab0: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 70 61 74  atus-t cairo-pat
8ac0: 74 65 72 6e 2d 73 74 61 74 75 73 20 28 28 70 61  tern-status ((pa
8ad0: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
8ae0: 61 74 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69  attern-t))) "cai
8af0: 72 6f 5f 70 61 74 74 65 72 6e 5f 73 74 61 74 75  ro_pattern_statu
8b00: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
8b10: 6f 2d 66 75 6e 63 20 76 6f 69 64 2a 20 63 61 69  o-func void* cai
8b20: 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 75  ro-pattern-get-u
8b30: 73 65 72 2d 64 61 74 61 20 28 28 70 61 74 74 65  ser-data ((patte
8b40: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
8b50: 65 72 6e 2d 74 29 29 20 28 6b 65 79 20 28 2a 20  ern-t)) (key (* 
8b60: 63 61 69 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d  cairo-user-data-
8b70: 6b 65 79 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  key-t))) "cairo_
8b80: 70 61 74 74 65 72 6e 5f 67 65 74 5f 75 73 65 72  pattern_get_user
8b90: 5f 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d  _data").(define-
8ba0: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
8bb0: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
8bc0: 70 61 74 74 65 72 6e 2d 73 65 74 2d 75 73 65 72  pattern-set-user
8bd0: 2d 64 61 74 61 20 28 28 70 61 74 74 65 72 6e 20  -data ((pattern 
8be0: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
8bf0: 2d 74 29 29 20 28 6b 65 79 20 28 2a 20 63 61 69  -t)) (key (* cai
8c00: 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65 79  ro-user-data-key
8c10: 2d 74 29 29 20 28 75 73 65 72 5f 64 61 74 61 20  -t)) (user_data 
8c20: 76 6f 69 64 2a 29 20 28 64 65 73 74 72 6f 79 20  void*) (destroy 
8c30: 63 61 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66 75  cairo-destroy-fu
8c40: 6e 63 2d 74 29 29 20 22 63 61 69 72 6f 5f 70 61  nc-t)) "cairo_pa
8c50: 74 74 65 72 6e 5f 73 65 74 5f 75 73 65 72 5f 64  ttern_set_user_d
8c60: 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ata").(define-ca
8c70: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 70  iro-func cairo-p
8c80: 61 74 74 65 72 6e 2d 74 79 70 65 2d 74 20 63 61  attern-type-t ca
8c90: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d  iro-pattern-get-
8ca0: 74 79 70 65 20 28 28 70 61 74 74 65 72 6e 20 28  type ((pattern (
8cb0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
8cc0: 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  t))) "cairo_patt
8cd0: 65 72 6e 5f 67 65 74 5f 74 79 70 65 22 29 0a 28  ern_get_type").(
8ce0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
8cf0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 70 61 74  c void cairo-pat
8d00: 74 65 72 6e 2d 61 64 64 2d 63 6f 6c 6f 72 2d 73  tern-add-color-s
8d10: 74 6f 70 2d 72 67 62 20 28 28 70 61 74 74 65 72  top-rgb ((patter
8d20: 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65  n (* cairo-patte
8d30: 72 6e 2d 74 29 29 20 28 6f 66 66 73 65 74 20 64  rn-t)) (offset d
8d40: 6f 75 62 6c 65 29 20 28 72 65 64 20 64 6f 75 62  ouble) (red doub
8d50: 6c 65 29 20 28 67 72 65 65 6e 20 64 6f 75 62 6c  le) (green doubl
8d60: 65 29 20 28 62 6c 75 65 20 64 6f 75 62 6c 65 29  e) (blue double)
8d70: 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e  ) "cairo_pattern
8d80: 5f 61 64 64 5f 63 6f 6c 6f 72 5f 73 74 6f 70 5f  _add_color_stop_
8d90: 72 67 62 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  rgb").(define-ca
8da0: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
8db0: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 61 64 64 2d  iro-pattern-add-
8dc0: 63 6f 6c 6f 72 2d 73 74 6f 70 2d 72 67 62 61 20  color-stop-rgba 
8dd0: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
8de0: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28  ro-pattern-t)) (
8df0: 6f 66 66 73 65 74 20 64 6f 75 62 6c 65 29 20 28  offset double) (
8e00: 72 65 64 20 64 6f 75 62 6c 65 29 20 28 67 72 65  red double) (gre
8e10: 65 6e 20 64 6f 75 62 6c 65 29 20 28 62 6c 75 65  en double) (blue
8e20: 20 64 6f 75 62 6c 65 29 20 28 61 6c 70 68 61 20   double) (alpha 
8e30: 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f  double)) "cairo_
8e40: 70 61 74 74 65 72 6e 5f 61 64 64 5f 63 6f 6c 6f  pattern_add_colo
8e50: 72 5f 73 74 6f 70 5f 72 67 62 61 22 29 0a 28 64  r_stop_rgba").(d
8e60: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
8e70: 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d 65 73 68   void cairo-mesh
8e80: 2d 70 61 74 74 65 72 6e 2d 62 65 67 69 6e 2d 70  -pattern-begin-p
8e90: 61 74 63 68 20 28 28 70 61 74 74 65 72 6e 20 28  atch ((pattern (
8ea0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
8eb0: 74 29 29 29 20 22 63 61 69 72 6f 5f 6d 65 73 68  t))) "cairo_mesh
8ec0: 5f 70 61 74 74 65 72 6e 5f 62 65 67 69 6e 5f 70  _pattern_begin_p
8ed0: 61 74 63 68 22 29 0a 28 64 65 66 69 6e 65 2d 63  atch").(define-c
8ee0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
8ef0: 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72  airo-mesh-patter
8f00: 6e 2d 65 6e 64 2d 70 61 74 63 68 20 28 28 70 61  n-end-patch ((pa
8f10: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
8f20: 61 74 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69  attern-t))) "cai
8f30: 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e 5f  ro_mesh_pattern_
8f40: 65 6e 64 5f 70 61 74 63 68 22 29 0a 28 64 65 66  end_patch").(def
8f50: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
8f60: 6f 69 64 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70  oid cairo-mesh-p
8f70: 61 74 74 65 72 6e 2d 63 75 72 76 65 2d 74 6f 20  attern-curve-to 
8f80: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
8f90: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28  ro-pattern-t)) (
8fa0: 78 31 20 64 6f 75 62 6c 65 29 20 28 79 31 20 64  x1 double) (y1 d
8fb0: 6f 75 62 6c 65 29 20 28 78 32 20 64 6f 75 62 6c  ouble) (x2 doubl
8fc0: 65 29 20 28 79 32 20 64 6f 75 62 6c 65 29 20 28  e) (y2 double) (
8fd0: 78 33 20 64 6f 75 62 6c 65 29 20 28 79 33 20 64  x3 double) (y3 d
8fe0: 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d  ouble)) "cairo_m
8ff0: 65 73 68 5f 70 61 74 74 65 72 6e 5f 63 75 72 76  esh_pattern_curv
9000: 65 5f 74 6f 22 29 0a 28 64 65 66 69 6e 65 2d 63  e_to").(define-c
9010: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
9020: 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72  airo-mesh-patter
9030: 6e 2d 6c 69 6e 65 2d 74 6f 20 28 28 70 61 74 74  n-line-to ((patt
9040: 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  ern (* cairo-pat
9050: 74 65 72 6e 2d 74 29 29 20 28 78 20 64 6f 75 62  tern-t)) (x doub
9060: 6c 65 29 20 28 79 20 64 6f 75 62 6c 65 29 29 20  le) (y double)) 
9070: 22 63 61 69 72 6f 5f 6d 65 73 68 5f 70 61 74 74  "cairo_mesh_patt
9080: 65 72 6e 5f 6c 69 6e 65 5f 74 6f 22 29 0a 28 64  ern_line_to").(d
9090: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
90a0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d 65 73 68   void cairo-mesh
90b0: 2d 70 61 74 74 65 72 6e 2d 6d 6f 76 65 2d 74 6f  -pattern-move-to
90c0: 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61   ((pattern (* ca
90d0: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20  iro-pattern-t)) 
90e0: 28 78 20 64 6f 75 62 6c 65 29 20 28 79 20 64 6f  (x double) (y do
90f0: 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 65  uble)) "cairo_me
9100: 73 68 5f 70 61 74 74 65 72 6e 5f 6d 6f 76 65 5f  sh_pattern_move_
9110: 74 6f 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  to").(define-cai
9120: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
9130: 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d  ro-mesh-pattern-
9140: 73 65 74 2d 63 6f 6e 74 72 6f 6c 2d 70 6f 69 6e  set-control-poin
9150: 74 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63  t ((pattern (* c
9160: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29  airo-pattern-t))
9170: 20 28 70 6f 69 6e 74 5f 6e 75 6d 20 75 6e 73 69   (point_num unsi
9180: 67 6e 65 64 2d 69 6e 74 29 20 28 78 20 64 6f 75  gned-int) (x dou
9190: 62 6c 65 29 20 28 79 20 64 6f 75 62 6c 65 29 29  ble) (y double))
91a0: 20 22 63 61 69 72 6f 5f 6d 65 73 68 5f 70 61 74   "cairo_mesh_pat
91b0: 74 65 72 6e 5f 73 65 74 5f 63 6f 6e 74 72 6f 6c  tern_set_control
91c0: 5f 70 6f 69 6e 74 22 29 0a 28 64 65 66 69 6e 65  _point").(define
91d0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
91e0: 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74   cairo-mesh-patt
91f0: 65 72 6e 2d 73 65 74 2d 63 6f 72 6e 65 72 2d 63  ern-set-corner-c
9200: 6f 6c 6f 72 2d 72 67 62 20 28 28 70 61 74 74 65  olor-rgb ((patte
9210: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
9220: 65 72 6e 2d 74 29 29 20 28 63 6f 72 6e 65 72 5f  ern-t)) (corner_
9230: 6e 75 6d 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74  num unsigned-int
9240: 29 20 28 72 65 64 20 64 6f 75 62 6c 65 29 20 28  ) (red double) (
9250: 67 72 65 65 6e 20 64 6f 75 62 6c 65 29 20 28 62  green double) (b
9260: 6c 75 65 20 64 6f 75 62 6c 65 29 29 20 22 63 61  lue double)) "ca
9270: 69 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e  iro_mesh_pattern
9280: 5f 73 65 74 5f 63 6f 72 6e 65 72 5f 63 6f 6c 6f  _set_corner_colo
9290: 72 5f 72 67 62 22 29 0a 28 64 65 66 69 6e 65 2d  r_rgb").(define-
92a0: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
92b0: 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65  cairo-mesh-patte
92c0: 72 6e 2d 73 65 74 2d 63 6f 72 6e 65 72 2d 63 6f  rn-set-corner-co
92d0: 6c 6f 72 2d 72 67 62 61 20 28 28 70 61 74 74 65  lor-rgba ((patte
92e0: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
92f0: 65 72 6e 2d 74 29 29 20 28 63 6f 72 6e 65 72 5f  ern-t)) (corner_
9300: 6e 75 6d 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74  num unsigned-int
9310: 29 20 28 72 65 64 20 64 6f 75 62 6c 65 29 20 28  ) (red double) (
9320: 67 72 65 65 6e 20 64 6f 75 62 6c 65 29 20 28 62  green double) (b
9330: 6c 75 65 20 64 6f 75 62 6c 65 29 20 28 61 6c 70  lue double) (alp
9340: 68 61 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69  ha double)) "cai
9350: 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e 5f  ro_mesh_pattern_
9360: 73 65 74 5f 63 6f 72 6e 65 72 5f 63 6f 6c 6f 72  set_corner_color
9370: 5f 72 67 62 61 22 29 0a 28 64 65 66 69 6e 65 2d  _rgba").(define-
9380: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
9390: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 73 65  cairo-pattern-se
93a0: 74 2d 6d 61 74 72 69 78 20 28 28 70 61 74 74 65  t-matrix ((patte
93b0: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
93c0: 65 72 6e 2d 74 29 29 20 28 6d 61 74 72 69 78 20  ern-t)) (matrix 
93d0: 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d  (* cairo-matrix-
93e0: 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  t))) "cairo_patt
93f0: 65 72 6e 5f 73 65 74 5f 6d 61 74 72 69 78 22 29  ern_set_matrix")
9400: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
9410: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 70  unc void cairo-p
9420: 61 74 74 65 72 6e 2d 67 65 74 2d 6d 61 74 72 69  attern-get-matri
9430: 78 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63  x ((pattern (* c
9440: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29  airo-pattern-t))
9450: 20 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72   (matrix (* cair
9460: 6f 2d 6d 61 74 72 69 78 2d 74 29 29 29 20 22 63  o-matrix-t))) "c
9470: 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67 65 74  airo_pattern_get
9480: 5f 6d 61 74 72 69 78 22 29 0a 28 64 65 66 69 6e  _matrix").(defin
9490: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
94a0: 64 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  d cairo-pattern-
94b0: 73 65 74 2d 65 78 74 65 6e 64 20 28 28 70 61 74  set-extend ((pat
94c0: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
94d0: 74 74 65 72 6e 2d 74 29 29 20 28 65 78 74 65 6e  ttern-t)) (exten
94e0: 64 20 63 61 69 72 6f 2d 65 78 74 65 6e 64 2d 74  d cairo-extend-t
94f0: 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72  )) "cairo_patter
9500: 6e 5f 73 65 74 5f 65 78 74 65 6e 64 22 29 0a 28  n_set_extend").(
9510: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
9520: 63 20 63 61 69 72 6f 2d 65 78 74 65 6e 64 2d 74  c cairo-extend-t
9530: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67   cairo-pattern-g
9540: 65 74 2d 65 78 74 65 6e 64 20 28 28 70 61 74 74  et-extend ((patt
9550: 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  ern (* cairo-pat
9560: 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69 72 6f  tern-t))) "cairo
9570: 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 65 78 74  _pattern_get_ext
9580: 65 6e 64 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  end").(define-ca
9590: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
95a0: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d  iro-pattern-set-
95b0: 66 69 6c 74 65 72 20 28 28 70 61 74 74 65 72 6e  filter ((pattern
95c0: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
95d0: 6e 2d 74 29 29 20 28 66 69 6c 74 65 72 20 63 61  n-t)) (filter ca
95e0: 69 72 6f 2d 66 69 6c 74 65 72 2d 74 29 29 20 22  iro-filter-t)) "
95f0: 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 73 65  cairo_pattern_se
9600: 74 5f 66 69 6c 74 65 72 22 29 0a 28 64 65 66 69  t_filter").(defi
9610: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
9620: 69 72 6f 2d 66 69 6c 74 65 72 2d 74 20 63 61 69  iro-filter-t cai
9630: 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 66  ro-pattern-get-f
9640: 69 6c 74 65 72 20 28 28 70 61 74 74 65 72 6e 20  ilter ((pattern 
9650: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
9660: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74  -t))) "cairo_pat
9670: 74 65 72 6e 5f 67 65 74 5f 66 69 6c 74 65 72 22  tern_get_filter"
9680: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
9690: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
96a0: 73 2d 74 20 63 61 69 72 6f 2d 70 61 74 74 65 72  s-t cairo-patter
96b0: 6e 2d 67 65 74 2d 72 67 62 61 20 28 28 70 61 74  n-get-rgba ((pat
96c0: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
96d0: 74 74 65 72 6e 2d 74 29 29 20 28 72 65 64 20 28  ttern-t)) (red (
96e0: 2a 20 64 6f 75 62 6c 65 29 29 20 28 67 72 65 65  * double)) (gree
96f0: 6e 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 62  n (* double)) (b
9700: 6c 75 65 20 28 2a 20 64 6f 75 62 6c 65 29 29 20  lue (* double)) 
9710: 28 61 6c 70 68 61 20 28 2a 20 64 6f 75 62 6c 65  (alpha (* double
9720: 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65  ))) "cairo_patte
9730: 72 6e 5f 67 65 74 5f 72 67 62 61 22 29 0a 28 64  rn_get_rgba").(d
9740: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
9750: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
9760: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65  cairo-pattern-ge
9770: 74 2d 73 75 72 66 61 63 65 20 28 28 70 61 74 74  t-surface ((patt
9780: 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  ern (* cairo-pat
9790: 74 65 72 6e 2d 74 29 29 20 28 73 75 72 66 61 63  tern-t)) (surfac
97a0: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
97b0: 63 65 2d 74 2a 29 29 29 20 22 63 61 69 72 6f 5f  ce-t*))) "cairo_
97c0: 70 61 74 74 65 72 6e 5f 67 65 74 5f 73 75 72 66  pattern_get_surf
97d0: 61 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ace").(define-ca
97e0: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
97f0: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 70 61  tatus-t cairo-pa
9800: 74 74 65 72 6e 2d 67 65 74 2d 63 6f 6c 6f 72 2d  ttern-get-color-
9810: 73 74 6f 70 2d 72 67 62 61 20 28 28 70 61 74 74  stop-rgba ((patt
9820: 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  ern (* cairo-pat
9830: 74 65 72 6e 2d 74 29 29 20 28 69 6e 64 65 78 20  tern-t)) (index 
9840: 69 6e 74 29 20 28 6f 66 66 73 65 74 20 28 2a 20  int) (offset (* 
9850: 64 6f 75 62 6c 65 29 29 20 28 72 65 64 20 28 2a  double)) (red (*
9860: 20 64 6f 75 62 6c 65 29 29 20 28 67 72 65 65 6e   double)) (green
9870: 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 62 6c   (* double)) (bl
9880: 75 65 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  ue (* double)) (
9890: 61 6c 70 68 61 20 28 2a 20 64 6f 75 62 6c 65 29  alpha (* double)
98a0: 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72  )) "cairo_patter
98b0: 6e 5f 67 65 74 5f 63 6f 6c 6f 72 5f 73 74 6f 70  n_get_color_stop
98c0: 5f 72 67 62 61 22 29 0a 28 64 65 66 69 6e 65 2d  _rgba").(define-
98d0: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
98e0: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
98f0: 70 61 74 74 65 72 6e 2d 67 65 74 2d 63 6f 6c 6f  pattern-get-colo
9900: 72 2d 73 74 6f 70 2d 63 6f 75 6e 74 20 28 28 70  r-stop-count ((p
9910: 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d  attern (* cairo-
9920: 70 61 74 74 65 72 6e 2d 74 29 29 20 28 63 6f 75  pattern-t)) (cou
9930: 6e 74 20 28 2a 20 69 6e 74 29 29 29 20 22 63 61  nt (* int))) "ca
9940: 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f  iro_pattern_get_
9950: 63 6f 6c 6f 72 5f 73 74 6f 70 5f 63 6f 75 6e 74  color_stop_count
9960: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
9970: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
9980: 75 73 2d 74 20 63 61 69 72 6f 2d 70 61 74 74 65  us-t cairo-patte
9990: 72 6e 2d 67 65 74 2d 6c 69 6e 65 61 72 2d 70 6f  rn-get-linear-po
99a0: 69 6e 74 73 20 28 28 70 61 74 74 65 72 6e 20 28  ints ((pattern (
99b0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
99c0: 74 29 29 20 28 78 30 20 28 2a 20 64 6f 75 62 6c  t)) (x0 (* doubl
99d0: 65 29 29 20 28 79 30 20 28 2a 20 64 6f 75 62 6c  e)) (y0 (* doubl
99e0: 65 29 29 20 28 78 31 20 28 2a 20 64 6f 75 62 6c  e)) (x1 (* doubl
99f0: 65 29 29 20 28 79 31 20 28 2a 20 64 6f 75 62 6c  e)) (y1 (* doubl
9a00: 65 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  e))) "cairo_patt
9a10: 65 72 6e 5f 67 65 74 5f 6c 69 6e 65 61 72 5f 70  ern_get_linear_p
9a20: 6f 69 6e 74 73 22 29 0a 28 64 65 66 69 6e 65 2d  oints").(define-
9a30: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
9a40: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
9a50: 70 61 74 74 65 72 6e 2d 67 65 74 2d 72 61 64 69  pattern-get-radi
9a60: 61 6c 2d 63 69 72 63 6c 65 73 20 28 28 70 61 74  al-circles ((pat
9a70: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
9a80: 74 74 65 72 6e 2d 74 29 29 20 28 78 30 20 28 2a  ttern-t)) (x0 (*
9a90: 20 64 6f 75 62 6c 65 29 29 20 28 79 30 20 28 2a   double)) (y0 (*
9aa0: 20 64 6f 75 62 6c 65 29 29 20 28 72 30 20 28 2a   double)) (r0 (*
9ab0: 20 64 6f 75 62 6c 65 29 29 20 28 78 31 20 28 2a   double)) (x1 (*
9ac0: 20 64 6f 75 62 6c 65 29 29 20 28 79 31 20 28 2a   double)) (y1 (*
9ad0: 20 64 6f 75 62 6c 65 29 29 20 28 72 31 20 28 2a   double)) (r1 (*
9ae0: 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61 69 72   double))) "cair
9af0: 6f 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 72 61  o_pattern_get_ra
9b00: 64 69 61 6c 5f 63 69 72 63 6c 65 73 22 29 0a 28  dial_circles").(
9b10: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
9b20: 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74  c cairo-status-t
9b30: 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74   cairo-mesh-patt
9b40: 65 72 6e 2d 67 65 74 2d 70 61 74 63 68 2d 63 6f  ern-get-patch-co
9b50: 75 6e 74 20 28 28 70 61 74 74 65 72 6e 20 28 2a  unt ((pattern (*
9b60: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74   cairo-pattern-t
9b70: 29 29 20 28 63 6f 75 6e 74 20 28 2a 20 75 6e 73  )) (count (* uns
9b80: 69 67 6e 65 64 2d 69 6e 74 29 29 29 20 22 63 61  igned-int))) "ca
9b90: 69 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e  iro_mesh_pattern
9ba0: 5f 67 65 74 5f 70 61 74 63 68 5f 63 6f 75 6e 74  _get_patch_count
9bb0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
9bc0: 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 70  -func (* cairo-p
9bd0: 61 74 68 2d 74 29 20 63 61 69 72 6f 2d 6d 65 73  ath-t) cairo-mes
9be0: 68 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 70 61  h-pattern-get-pa
9bf0: 74 68 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20  th ((pattern (* 
9c00: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29  cairo-pattern-t)
9c10: 29 20 28 70 61 74 63 68 5f 6e 75 6d 20 75 6e 73  ) (patch_num uns
9c20: 69 67 6e 65 64 2d 69 6e 74 29 29 20 22 63 61 69  igned-int)) "cai
9c30: 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e 5f  ro_mesh_pattern_
9c40: 67 65 74 5f 70 61 74 68 22 29 0a 28 64 65 66 69  get_path").(defi
9c50: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
9c60: 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69  iro-status-t cai
9c70: 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d  ro-mesh-pattern-
9c80: 67 65 74 2d 63 6f 72 6e 65 72 2d 63 6f 6c 6f 72  get-corner-color
9c90: 2d 72 67 62 61 20 28 28 70 61 74 74 65 72 6e 20  -rgba ((pattern 
9ca0: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
9cb0: 2d 74 29 29 20 28 70 61 74 63 68 5f 6e 75 6d 20  -t)) (patch_num 
9cc0: 75 6e 73 69 67 6e 65 64 2d 69 6e 74 29 20 28 63  unsigned-int) (c
9cd0: 6f 72 6e 65 72 5f 6e 75 6d 20 75 6e 73 69 67 6e  orner_num unsign
9ce0: 65 64 2d 69 6e 74 29 20 28 72 65 64 20 28 2a 20  ed-int) (red (* 
9cf0: 64 6f 75 62 6c 65 29 29 20 28 67 72 65 65 6e 20  double)) (green 
9d00: 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 62 6c 75  (* double)) (blu
9d10: 65 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 61  e (* double)) (a
9d20: 6c 70 68 61 20 28 2a 20 64 6f 75 62 6c 65 29 29  lpha (* double))
9d30: 29 20 22 63 61 69 72 6f 5f 6d 65 73 68 5f 70 61  ) "cairo_mesh_pa
9d40: 74 74 65 72 6e 5f 67 65 74 5f 63 6f 72 6e 65 72  ttern_get_corner
9d50: 5f 63 6f 6c 6f 72 5f 72 67 62 61 22 29 0a 28 64  _color_rgba").(d
9d60: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
9d70: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
9d80: 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65  cairo-mesh-patte
9d90: 72 6e 2d 67 65 74 2d 63 6f 6e 74 72 6f 6c 2d 70  rn-get-control-p
9da0: 6f 69 6e 74 20 28 28 70 61 74 74 65 72 6e 20 28  oint ((pattern (
9db0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
9dc0: 74 29 29 20 28 70 61 74 63 68 5f 6e 75 6d 20 75  t)) (patch_num u
9dd0: 6e 73 69 67 6e 65 64 2d 69 6e 74 29 20 28 70 6f  nsigned-int) (po
9de0: 69 6e 74 5f 6e 75 6d 20 75 6e 73 69 67 6e 65 64  int_num unsigned
9df0: 2d 69 6e 74 29 20 28 78 20 28 2a 20 64 6f 75 62  -int) (x (* doub
9e00: 6c 65 29 29 20 28 79 20 28 2a 20 64 6f 75 62 6c  le)) (y (* doubl
9e10: 65 29 29 29 20 22 63 61 69 72 6f 5f 6d 65 73 68  e))) "cairo_mesh
9e20: 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 63 6f 6e  _pattern_get_con
9e30: 74 72 6f 6c 5f 70 6f 69 6e 74 22 29 0a 28 64 65  trol_point").(de
9e40: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
9e50: 76 6f 69 64 20 63 61 69 72 6f 2d 6d 61 74 72 69  void cairo-matri
9e60: 78 2d 69 6e 69 74 20 28 28 6d 61 74 72 69 78 20  x-init ((matrix 
9e70: 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d  (* cairo-matrix-
9e80: 74 29 29 20 28 78 78 20 64 6f 75 62 6c 65 29 20  t)) (xx double) 
9e90: 28 79 78 20 64 6f 75 62 6c 65 29 20 28 78 79 20  (yx double) (xy 
9ea0: 64 6f 75 62 6c 65 29 20 28 79 79 20 64 6f 75 62  double) (yy doub
9eb0: 6c 65 29 20 28 78 30 20 64 6f 75 62 6c 65 29 20  le) (x0 double) 
9ec0: 28 79 30 20 64 6f 75 62 6c 65 29 29 20 22 63 61  (y0 double)) "ca
9ed0: 69 72 6f 5f 6d 61 74 72 69 78 5f 69 6e 69 74 22  iro_matrix_init"
9ee0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
9ef0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
9f00: 6d 61 74 72 69 78 2d 69 6e 69 74 2d 69 64 65 6e  matrix-init-iden
9f10: 74 69 74 79 20 28 28 6d 61 74 72 69 78 20 28 2a  tity ((matrix (*
9f20: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
9f30: 29 29 20 22 63 61 69 72 6f 5f 6d 61 74 72 69 78  )) "cairo_matrix
9f40: 5f 69 6e 69 74 5f 69 64 65 6e 74 69 74 79 22 29  _init_identity")
9f50: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
9f60: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d  unc void cairo-m
9f70: 61 74 72 69 78 2d 69 6e 69 74 2d 74 72 61 6e 73  atrix-init-trans
9f80: 6c 61 74 65 20 28 28 6d 61 74 72 69 78 20 28 2a  late ((matrix (*
9f90: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
9fa0: 29 20 28 74 78 20 64 6f 75 62 6c 65 29 20 28 74  ) (tx double) (t
9fb0: 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  y double)) "cair
9fc0: 6f 5f 6d 61 74 72 69 78 5f 69 6e 69 74 5f 74 72  o_matrix_init_tr
9fd0: 61 6e 73 6c 61 74 65 22 29 0a 28 64 65 66 69 6e  anslate").(defin
9fe0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
9ff0: 64 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 69  d cairo-matrix-i
a000: 6e 69 74 2d 73 63 61 6c 65 20 28 28 6d 61 74 72  nit-scale ((matr
a010: 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72  ix (* cairo-matr
a020: 69 78 2d 74 29 29 20 28 73 78 20 64 6f 75 62 6c  ix-t)) (sx doubl
a030: 65 29 20 28 73 79 20 64 6f 75 62 6c 65 29 29 20  e) (sy double)) 
a040: 22 63 61 69 72 6f 5f 6d 61 74 72 69 78 5f 69 6e  "cairo_matrix_in
a050: 69 74 5f 73 63 61 6c 65 22 29 0a 28 64 65 66 69  it_scale").(defi
a060: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
a070: 69 64 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d  id cairo-matrix-
a080: 69 6e 69 74 2d 72 6f 74 61 74 65 20 28 28 6d 61  init-rotate ((ma
a090: 74 72 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61  trix (* cairo-ma
a0a0: 74 72 69 78 2d 74 29 29 20 28 72 61 64 69 61 6e  trix-t)) (radian
a0b0: 73 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  s double)) "cair
a0c0: 6f 5f 6d 61 74 72 69 78 5f 69 6e 69 74 5f 72 6f  o_matrix_init_ro
a0d0: 74 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  tate").(define-c
a0e0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
a0f0: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 72 61 6e  airo-matrix-tran
a100: 73 6c 61 74 65 20 28 28 6d 61 74 72 69 78 20 28  slate ((matrix (
a110: 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74  * cairo-matrix-t
a120: 29 29 20 28 74 78 20 64 6f 75 62 6c 65 29 20 28  )) (tx double) (
a130: 74 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69  ty double)) "cai
a140: 72 6f 5f 6d 61 74 72 69 78 5f 74 72 61 6e 73 6c  ro_matrix_transl
a150: 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ate").(define-ca
a160: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
a170: 69 72 6f 2d 6d 61 74 72 69 78 2d 73 63 61 6c 65  iro-matrix-scale
a180: 20 28 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69   ((matrix (* cai
a190: 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 73  ro-matrix-t)) (s
a1a0: 78 20 64 6f 75 62 6c 65 29 20 28 73 79 20 64 6f  x double) (sy do
a1b0: 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 61  uble)) "cairo_ma
a1c0: 74 72 69 78 5f 73 63 61 6c 65 22 29 0a 28 64 65  trix_scale").(de
a1d0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
a1e0: 76 6f 69 64 20 63 61 69 72 6f 2d 6d 61 74 72 69  void cairo-matri
a1f0: 78 2d 72 6f 74 61 74 65 20 28 28 6d 61 74 72 69  x-rotate ((matri
a200: 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69  x (* cairo-matri
a210: 78 2d 74 29 29 20 28 72 61 64 69 61 6e 73 20 64  x-t)) (radians d
a220: 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d  ouble)) "cairo_m
a230: 61 74 72 69 78 5f 72 6f 74 61 74 65 22 29 0a 28  atrix_rotate").(
a240: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
a250: 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74  c cairo-status-t
a260: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 69 6e   cairo-matrix-in
a270: 76 65 72 74 20 28 28 6d 61 74 72 69 78 20 28 2a  vert ((matrix (*
a280: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
a290: 29 29 20 22 63 61 69 72 6f 5f 6d 61 74 72 69 78  )) "cairo_matrix
a2a0: 5f 69 6e 76 65 72 74 22 29 0a 28 64 65 66 69 6e  _invert").(defin
a2b0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
a2c0: 64 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 6d  d cairo-matrix-m
a2d0: 75 6c 74 69 70 6c 79 20 28 28 72 65 73 75 6c 74  ultiply ((result
a2e0: 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78   (* cairo-matrix
a2f0: 2d 74 29 29 20 28 61 20 28 2a 20 63 61 69 72 6f  -t)) (a (* cairo
a300: 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 62 20 28  -matrix-t)) (b (
a310: 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74  * cairo-matrix-t
a320: 29 29 29 20 22 63 61 69 72 6f 5f 6d 61 74 72 69  ))) "cairo_matri
a330: 78 5f 6d 75 6c 74 69 70 6c 79 22 29 0a 28 64 65  x_multiply").(de
a340: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
a350: 76 6f 69 64 20 63 61 69 72 6f 2d 6d 61 74 72 69  void cairo-matri
a360: 78 2d 74 72 61 6e 73 66 6f 72 6d 2d 64 69 73 74  x-transform-dist
a370: 61 6e 63 65 20 28 28 6d 61 74 72 69 78 20 28 2a  ance ((matrix (*
a380: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
a390: 29 20 28 64 78 20 28 2a 20 64 6f 75 62 6c 65 29  ) (dx (* double)
a3a0: 29 20 28 64 79 20 28 2a 20 64 6f 75 62 6c 65 29  ) (dy (* double)
a3b0: 29 29 20 22 63 61 69 72 6f 5f 6d 61 74 72 69 78  )) "cairo_matrix
a3c0: 5f 74 72 61 6e 73 66 6f 72 6d 5f 64 69 73 74 61  _transform_dista
a3d0: 6e 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  nce").(define-ca
a3e0: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
a3f0: 69 72 6f 2d 6d 61 74 72 69 78 2d 74 72 61 6e 73  iro-matrix-trans
a400: 66 6f 72 6d 2d 70 6f 69 6e 74 20 28 28 6d 61 74  form-point ((mat
a410: 72 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74  rix (* cairo-mat
a420: 72 69 78 2d 74 29 29 20 28 78 20 28 2a 20 64 6f  rix-t)) (x (* do
a430: 75 62 6c 65 29 29 20 28 79 20 28 2a 20 64 6f 75  uble)) (y (* dou
a440: 62 6c 65 29 29 29 20 22 63 61 69 72 6f 5f 6d 61  ble))) "cairo_ma
a450: 74 72 69 78 5f 74 72 61 6e 73 66 6f 72 6d 5f 70  trix_transform_p
a460: 6f 69 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  oint").(define-c
a470: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
a480: 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 20 63 61 69  ro-region-t) cai
a490: 72 6f 2d 72 65 67 69 6f 6e 2d 63 72 65 61 74 65  ro-region-create
a4a0: 20 28 29 20 22 63 61 69 72 6f 5f 72 65 67 69 6f   () "cairo_regio
a4b0: 6e 5f 63 72 65 61 74 65 22 29 0a 28 64 65 66 69  n_create").(defi
a4c0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
a4d0: 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29   cairo-region-t)
a4e0: 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 63 72   cairo-region-cr
a4f0: 65 61 74 65 2d 72 65 63 74 61 6e 67 6c 65 20 28  eate-rectangle (
a500: 28 72 65 63 74 61 6e 67 6c 65 20 28 2a 20 63 61  (rectangle (* ca
a510: 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 69 6e  iro-rectangle-in
a520: 74 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65  t-t))) "cairo_re
a530: 67 69 6f 6e 5f 63 72 65 61 74 65 5f 72 65 63 74  gion_create_rect
a540: 61 6e 67 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d  angle").(define-
a550: 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61  cairo-func (* ca
a560: 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 20 63 61  iro-region-t) ca
a570: 69 72 6f 2d 72 65 67 69 6f 6e 2d 63 72 65 61 74  iro-region-creat
a580: 65 2d 72 65 63 74 61 6e 67 6c 65 73 20 28 28 72  e-rectangles ((r
a590: 65 63 74 73 20 28 2a 20 63 61 69 72 6f 2d 72 65  ects (* cairo-re
a5a0: 63 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 20  ctangle-int-t)) 
a5b0: 28 63 6f 75 6e 74 20 69 6e 74 29 29 20 22 63 61  (count int)) "ca
a5c0: 69 72 6f 5f 72 65 67 69 6f 6e 5f 63 72 65 61 74  iro_region_creat
a5d0: 65 5f 72 65 63 74 61 6e 67 6c 65 73 22 29 0a 28  e_rectangles").(
a5e0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
a5f0: 63 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f  c (* cairo-regio
a600: 6e 2d 74 29 20 63 61 69 72 6f 2d 72 65 67 69 6f  n-t) cairo-regio
a610: 6e 2d 63 6f 70 79 20 28 28 6f 72 69 67 69 6e 61  n-copy ((origina
a620: 6c 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f  l (* cairo-regio
a630: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65  n-t))) "cairo_re
a640: 67 69 6f 6e 5f 63 6f 70 79 22 29 0a 28 64 65 66  gion_copy").(def
a650: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
a660: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
a670: 29 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 72  ) cairo-region-r
a680: 65 66 65 72 65 6e 63 65 20 28 28 72 65 67 69 6f  eference ((regio
a690: 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f  n (* cairo-regio
a6a0: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65  n-t))) "cairo_re
a6b0: 67 69 6f 6e 5f 72 65 66 65 72 65 6e 63 65 22 29  gion_reference")
a6c0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
a6d0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72  unc void cairo-r
a6e0: 65 67 69 6f 6e 2d 64 65 73 74 72 6f 79 20 28 28  egion-destroy ((
a6f0: 72 65 67 69 6f 6e 20 28 2a 20 63 61 69 72 6f 2d  region (* cairo-
a700: 72 65 67 69 6f 6e 2d 74 29 29 29 20 22 63 61 69  region-t))) "cai
a710: 72 6f 5f 72 65 67 69 6f 6e 5f 64 65 73 74 72 6f  ro_region_destro
a720: 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  y").(define-cair
a730: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f  o-func cairo-boo
a740: 6c 2d 74 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e  l-t cairo-region
a750: 2d 65 71 75 61 6c 20 28 28 61 20 28 2a 20 63 61  -equal ((a (* ca
a760: 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 20 28  iro-region-t)) (
a770: 62 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f  b (* cairo-regio
a780: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65  n-t))) "cairo_re
a790: 67 69 6f 6e 5f 65 71 75 61 6c 22 29 0a 28 64 65  gion_equal").(de
a7a0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
a7b0: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63  cairo-status-t c
a7c0: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 73 74 61 74  airo-region-stat
a7d0: 75 73 20 28 28 72 65 67 69 6f 6e 20 28 2a 20 63  us ((region (* c
a7e0: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29  airo-region-t)))
a7f0: 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 73   "cairo_region_s
a800: 74 61 74 75 73 22 29 0a 28 64 65 66 69 6e 65 2d  tatus").(define-
a810: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
a820: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 67 65 74  cairo-region-get
a830: 2d 65 78 74 65 6e 74 73 20 28 28 72 65 67 69 6f  -extents ((regio
a840: 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f  n (* cairo-regio
a850: 6e 2d 74 29 29 20 28 65 78 74 65 6e 74 73 20 28  n-t)) (extents (
a860: 2a 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c  * cairo-rectangl
a870: 65 2d 69 6e 74 2d 74 29 29 29 20 22 63 61 69 72  e-int-t))) "cair
a880: 6f 5f 72 65 67 69 6f 6e 5f 67 65 74 5f 65 78 74  o_region_get_ext
a890: 65 6e 74 73 22 29 0a 28 64 65 66 69 6e 65 2d 63  ents").(define-c
a8a0: 61 69 72 6f 2d 66 75 6e 63 20 69 6e 74 20 63 61  airo-func int ca
a8b0: 69 72 6f 2d 72 65 67 69 6f 6e 2d 6e 75 6d 2d 72  iro-region-num-r
a8c0: 65 63 74 61 6e 67 6c 65 73 20 28 28 72 65 67 69  ectangles ((regi
a8d0: 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69  on (* cairo-regi
a8e0: 6f 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72  on-t))) "cairo_r
a8f0: 65 67 69 6f 6e 5f 6e 75 6d 5f 72 65 63 74 61 6e  egion_num_rectan
a900: 67 6c 65 73 22 29 0a 28 64 65 66 69 6e 65 2d 63  gles").(define-c
a910: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
a920: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 67 65 74 2d  airo-region-get-
a930: 72 65 63 74 61 6e 67 6c 65 20 28 28 72 65 67 69  rectangle ((regi
a940: 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69  on (* cairo-regi
a950: 6f 6e 2d 74 29 29 20 28 6e 74 68 20 69 6e 74 29  on-t)) (nth int)
a960: 20 28 72 65 63 74 61 6e 67 6c 65 20 28 2a 20 63   (rectangle (* c
a970: 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 69  airo-rectangle-i
a980: 6e 74 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72  nt-t))) "cairo_r
a990: 65 67 69 6f 6e 5f 67 65 74 5f 72 65 63 74 61 6e  egion_get_rectan
a9a0: 67 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  gle").(define-ca
a9b0: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62  iro-func cairo-b
a9c0: 6f 6f 6c 2d 74 20 63 61 69 72 6f 2d 72 65 67 69  ool-t cairo-regi
a9d0: 6f 6e 2d 69 73 2d 65 6d 70 74 79 20 28 28 72 65  on-is-empty ((re
a9e0: 67 69 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65  gion (* cairo-re
a9f0: 67 69 6f 6e 2d 74 29 29 29 20 22 63 61 69 72 6f  gion-t))) "cairo
aa00: 5f 72 65 67 69 6f 6e 5f 69 73 5f 65 6d 70 74 79  _region_is_empty
aa10: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
aa20: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 72 65 67 69  -func cairo-regi
aa30: 6f 6e 2d 6f 76 65 72 6c 61 70 2d 74 20 63 61 69  on-overlap-t cai
aa40: 72 6f 2d 72 65 67 69 6f 6e 2d 63 6f 6e 74 61 69  ro-region-contai
aa50: 6e 73 2d 72 65 63 74 61 6e 67 6c 65 20 28 28 72  ns-rectangle ((r
aa60: 65 67 69 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72  egion (* cairo-r
aa70: 65 67 69 6f 6e 2d 74 29 29 20 28 72 65 63 74 61  egion-t)) (recta
aa80: 6e 67 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72 65  ngle (* cairo-re
aa90: 63 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 29  ctangle-int-t)))
aaa0: 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 63   "cairo_region_c
aab0: 6f 6e 74 61 69 6e 73 5f 72 65 63 74 61 6e 67 6c  ontains_rectangl
aac0: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
aad0: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f  o-func cairo-boo
aae0: 6c 2d 74 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e  l-t cairo-region
aaf0: 2d 63 6f 6e 74 61 69 6e 73 2d 70 6f 69 6e 74 20  -contains-point 
ab00: 28 28 72 65 67 69 6f 6e 20 28 2a 20 63 61 69 72  ((region (* cair
ab10: 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 20 28 78 20  o-region-t)) (x 
ab20: 69 6e 74 29 20 28 79 20 69 6e 74 29 29 20 22 63  int) (y int)) "c
ab30: 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 63 6f 6e 74  airo_region_cont
ab40: 61 69 6e 73 5f 70 6f 69 6e 74 22 29 0a 28 64 65  ains_point").(de
ab50: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
ab60: 76 6f 69 64 20 63 61 69 72 6f 2d 72 65 67 69 6f  void cairo-regio
ab70: 6e 2d 74 72 61 6e 73 6c 61 74 65 20 28 28 72 65  n-translate ((re
ab80: 67 69 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65  gion (* cairo-re
ab90: 67 69 6f 6e 2d 74 29 29 20 28 64 78 20 69 6e 74  gion-t)) (dx int
aba0: 29 20 28 64 79 20 69 6e 74 29 29 20 22 63 61 69  ) (dy int)) "cai
abb0: 72 6f 5f 72 65 67 69 6f 6e 5f 74 72 61 6e 73 6c  ro_region_transl
abc0: 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ate").(define-ca
abd0: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
abe0: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 72 65  tatus-t cairo-re
abf0: 67 69 6f 6e 2d 73 75 62 74 72 61 63 74 20 28 28  gion-subtract ((
ac00: 64 73 74 20 28 2a 20 63 61 69 72 6f 2d 72 65 67  dst (* cairo-reg
ac10: 69 6f 6e 2d 74 29 29 20 28 6f 74 68 65 72 20 28  ion-t)) (other (
ac20: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
ac30: 29 29 29 20 22 63 61 69 72 6f 5f 72 65 67 69 6f  ))) "cairo_regio
ac40: 6e 5f 73 75 62 74 72 61 63 74 22 29 0a 28 64 65  n_subtract").(de
ac50: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
ac60: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63  cairo-status-t c
ac70: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 73 75 62 74  airo-region-subt
ac80: 72 61 63 74 2d 72 65 63 74 61 6e 67 6c 65 20 28  ract-rectangle (
ac90: 28 64 73 74 20 28 2a 20 63 61 69 72 6f 2d 72 65  (dst (* cairo-re
aca0: 67 69 6f 6e 2d 74 29 29 20 28 72 65 63 74 61 6e  gion-t)) (rectan
acb0: 67 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72 65 63  gle (* cairo-rec
acc0: 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 29 20  tangle-int-t))) 
acd0: 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 73 75  "cairo_region_su
ace0: 62 74 72 61 63 74 5f 72 65 63 74 61 6e 67 6c 65  btract_rectangle
acf0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
ad00: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
ad10: 75 73 2d 74 20 63 61 69 72 6f 2d 72 65 67 69 6f  us-t cairo-regio
ad20: 6e 2d 69 6e 74 65 72 73 65 63 74 20 28 28 64 73  n-intersect ((ds
ad30: 74 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f  t (* cairo-regio
ad40: 6e 2d 74 29 29 20 28 6f 74 68 65 72 20 28 2a 20  n-t)) (other (* 
ad50: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29  cairo-region-t))
ad60: 29 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f  ) "cairo_region_
ad70: 69 6e 74 65 72 73 65 63 74 22 29 0a 28 64 65 66  intersect").(def
ad80: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63  ine-cairo-func c
ad90: 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61  airo-status-t ca
ada0: 69 72 6f 2d 72 65 67 69 6f 6e 2d 69 6e 74 65 72  iro-region-inter
adb0: 73 65 63 74 2d 72 65 63 74 61 6e 67 6c 65 20 28  sect-rectangle (
adc0: 28 64 73 74 20 28 2a 20 63 61 69 72 6f 2d 72 65  (dst (* cairo-re
add0: 67 69 6f 6e 2d 74 29 29 20 28 72 65 63 74 61 6e  gion-t)) (rectan
ade0: 67 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72 65 63  gle (* cairo-rec
adf0: 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 29 20  tangle-int-t))) 
ae00: 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 69 6e  "cairo_region_in
ae10: 74 65 72 73 65 63 74 5f 72 65 63 74 61 6e 67 6c  tersect_rectangl
ae20: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
ae30: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61  o-func cairo-sta
ae40: 74 75 73 2d 74 20 63 61 69 72 6f 2d 72 65 67 69  tus-t cairo-regi
ae50: 6f 6e 2d 75 6e 69 6f 6e 20 28 28 64 73 74 20 28  on-union ((dst (
ae60: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
ae70: 29 29 20 28 6f 74 68 65 72 20 28 2a 20 63 61 69  )) (other (* cai
ae80: 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29 20 22  ro-region-t))) "
ae90: 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 75 6e 69  cairo_region_uni
aea0: 6f 6e 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  on").(define-cai
aeb0: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
aec0: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 72 65 67  atus-t cairo-reg
aed0: 69 6f 6e 2d 75 6e 69 6f 6e 2d 72 65 63 74 61 6e  ion-union-rectan
aee0: 67 6c 65 20 28 28 64 73 74 20 28 2a 20 63 61 69  gle ((dst (* cai
aef0: 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 20 28 72  ro-region-t)) (r
af00: 65 63 74 61 6e 67 6c 65 20 28 2a 20 63 61 69 72  ectangle (* cair
af10: 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 69 6e 74 2d  o-rectangle-int-
af20: 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65 67 69  t))) "cairo_regi
af30: 6f 6e 5f 75 6e 69 6f 6e 5f 72 65 63 74 61 6e 67  on_union_rectang
af40: 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  le").(define-cai
af50: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
af60: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 72 65 67  atus-t cairo-reg
af70: 69 6f 6e 2d 78 6f 72 20 28 28 64 73 74 20 28 2a  ion-xor ((dst (*
af80: 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29   cairo-region-t)
af90: 29 20 28 6f 74 68 65 72 20 28 2a 20 63 61 69 72  ) (other (* cair
afa0: 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29 20 22 63  o-region-t))) "c
afb0: 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 78 6f 72 22  airo_region_xor"
afc0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
afd0: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
afe0: 73 2d 74 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e  s-t cairo-region
aff0: 2d 78 6f 72 2d 72 65 63 74 61 6e 67 6c 65 20 28  -xor-rectangle (
b000: 28 64 73 74 20 28 2a 20 63 61 69 72 6f 2d 72 65  (dst (* cairo-re
b010: 67 69 6f 6e 2d 74 29 29 20 28 72 65 63 74 61 6e  gion-t)) (rectan
b020: 67 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72 65 63  gle (* cairo-rec
b030: 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 29 20  tangle-int-t))) 
b040: 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 78 6f  "cairo_region_xo
b050: 72 5f 72 65 63 74 61 6e 67 6c 65 22 29 0a 28 64  r_rectangle").(d
b060: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
b070: 20 76 6f 69 64 20 63 61 69 72 6f 2d 64 65 62 75   void cairo-debu
b080: 67 2d 72 65 73 65 74 2d 73 74 61 74 69 63 2d 64  g-reset-static-d
b090: 61 74 61 20 28 29 20 22 63 61 69 72 6f 5f 64 65  ata () "cairo_de
b0a0: 62 75 67 5f 72 65 73 65 74 5f 73 74 61 74 69 63  bug_reset_static
b0b0: 5f 64 61 74 61 22 29 0a                          _data").