Hex Artifact Content
Not logged in

Artifact e453a0dfb609ceee459fa2a14ca425f84a3944ee:


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 29 29 20 28 6e  iro-glyph-t)) (n
3cf0: 75 6d 5f 67 6c 79 70 68 73 20 28 2a 20 69 6e 74  um_glyphs (* int
3d00: 29 29 20 28 63 6c 75 73 74 65 72 73 20 28 2a 20  )) (clusters (* 
3d10: 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 73 74  cairo-text-clust
3d20: 65 72 2d 74 29 29 20 28 6e 75 6d 5f 63 6c 75 73  er-t)) (num_clus
3d30: 74 65 72 73 20 28 2a 20 69 6e 74 29 29 20 28 63  ters (* int)) (c
3d40: 6c 75 73 74 65 72 5f 66 6c 61 67 73 20 28 2a 20  luster_flags (* 
3d50: 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 73 74  cairo-text-clust
3d60: 65 72 2d 66 6c 61 67 73 2d 74 29 29 29 20 22 63  er-flags-t))) "c
3d70: 61 69 72 6f 5f 73 63 61 6c 65 64 5f 66 6f 6e 74  airo_scaled_font
3d80: 5f 74 65 78 74 5f 74 6f 5f 67 6c 79 70 68 73 22  _text_to_glyphs"
3d90: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
3da0: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 66 6f  func (* cairo-fo
3db0: 6e 74 2d 66 61 63 65 2d 74 29 20 63 61 69 72 6f  nt-face-t) cairo
3dc0: 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 67 65 74  -scaled-font-get
3dd0: 2d 66 6f 6e 74 2d 66 61 63 65 20 28 28 73 63 61  -font-face ((sca
3de0: 6c 65 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69 72  led_font (* cair
3df0: 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29  o-scaled-font-t)
3e00: 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64  )) "cairo_scaled
3e10: 5f 66 6f 6e 74 5f 67 65 74 5f 66 6f 6e 74 5f 66  _font_get_font_f
3e20: 61 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ace").(define-ca
3e30: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
3e40: 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d  iro-scaled-font-
3e50: 67 65 74 2d 66 6f 6e 74 2d 6d 61 74 72 69 78 20  get-font-matrix 
3e60: 28 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20 28 2a  ((scaled_font (*
3e70: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f   cairo-scaled-fo
3e80: 6e 74 2d 74 29 29 20 28 66 6f 6e 74 5f 6d 61 74  nt-t)) (font_mat
3e90: 72 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74  rix (* cairo-mat
3ea0: 72 69 78 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  rix-t))) "cairo_
3eb0: 73 63 61 6c 65 64 5f 66 6f 6e 74 5f 67 65 74 5f  scaled_font_get_
3ec0: 66 6f 6e 74 5f 6d 61 74 72 69 78 22 29 0a 28 64  font_matrix").(d
3ed0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
3ee0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 63 61 6c   void cairo-scal
3ef0: 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 63 74 6d 20  ed-font-get-ctm 
3f00: 28 28 73 63 61 6c 65 64 5f 66 6f 6e 74 20 28 2a  ((scaled_font (*
3f10: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f   cairo-scaled-fo
3f20: 6e 74 2d 74 29 29 20 28 63 74 6d 20 28 2a 20 63  nt-t)) (ctm (* c
3f30: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29 29  airo-matrix-t)))
3f40: 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64 5f 66   "cairo_scaled_f
3f50: 6f 6e 74 5f 67 65 74 5f 63 74 6d 22 29 0a 28 64  ont_get_ctm").(d
3f60: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
3f70: 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 63 61 6c   void cairo-scal
3f80: 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 73 63 61 6c  ed-font-get-scal
3f90: 65 2d 6d 61 74 72 69 78 20 28 28 73 63 61 6c 65  e-matrix ((scale
3fa0: 64 5f 66 6f 6e 74 20 28 2a 20 63 61 69 72 6f 2d  d_font (* cairo-
3fb0: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 74 29 29 20  scaled-font-t)) 
3fc0: 28 73 63 61 6c 65 5f 6d 61 74 72 69 78 20 28 2a  (scale_matrix (*
3fd0: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
3fe0: 29 29 20 22 63 61 69 72 6f 5f 73 63 61 6c 65 64  )) "cairo_scaled
3ff0: 5f 66 6f 6e 74 5f 67 65 74 5f 73 63 61 6c 65 5f  _font_get_scale_
4000: 6d 61 74 72 69 78 22 29 0a 28 64 65 66 69 6e 65  matrix").(define
4010: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
4020: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f   cairo-scaled-fo
4030: 6e 74 2d 67 65 74 2d 66 6f 6e 74 2d 6f 70 74 69  nt-get-font-opti
4040: 6f 6e 73 20 28 28 73 63 61 6c 65 64 5f 66 6f 6e  ons ((scaled_fon
4050: 74 20 28 2a 20 63 61 69 72 6f 2d 73 63 61 6c 65  t (* cairo-scale
4060: 64 2d 66 6f 6e 74 2d 74 29 29 20 28 6f 70 74 69  d-font-t)) (opti
4070: 6f 6e 73 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e  ons (* cairo-fon
4080: 74 2d 6f 70 74 69 6f 6e 73 2d 74 29 29 29 20 22  t-options-t))) "
4090: 63 61 69 72 6f 5f 73 63 61 6c 65 64 5f 66 6f 6e  cairo_scaled_fon
40a0: 74 5f 67 65 74 5f 66 6f 6e 74 5f 6f 70 74 69 6f  t_get_font_optio
40b0: 6e 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ns").(define-cai
40c0: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
40d0: 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 20 63 61  -font-face-t) ca
40e0: 69 72 6f 2d 74 6f 79 2d 66 6f 6e 74 2d 66 61 63  iro-toy-font-fac
40f0: 65 2d 63 72 65 61 74 65 20 28 28 66 61 6d 69 6c  e-create ((famil
4100: 79 20 73 74 72 69 6e 67 29 20 28 73 6c 61 6e 74  y string) (slant
4110: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 73 6c 61 6e   cairo-font-slan
4120: 74 2d 74 29 20 28 77 65 69 67 68 74 20 63 61 69  t-t) (weight cai
4130: 72 6f 2d 66 6f 6e 74 2d 77 65 69 67 68 74 2d 74  ro-font-weight-t
4140: 29 29 20 22 63 61 69 72 6f 5f 74 6f 79 5f 66 6f  )) "cairo_toy_fo
4150: 6e 74 5f 66 61 63 65 5f 63 72 65 61 74 65 22 29  nt_face_create")
4160: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
4170: 75 6e 63 20 73 74 72 69 6e 67 20 63 61 69 72 6f  unc string cairo
4180: 2d 74 6f 79 2d 66 6f 6e 74 2d 66 61 63 65 2d 67  -toy-font-face-g
4190: 65 74 2d 66 61 6d 69 6c 79 20 28 28 66 6f 6e 74  et-family ((font
41a0: 5f 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66  _face (* cairo-f
41b0: 6f 6e 74 2d 66 61 63 65 2d 74 29 29 29 20 22 63  ont-face-t))) "c
41c0: 61 69 72 6f 5f 74 6f 79 5f 66 6f 6e 74 5f 66 61  airo_toy_font_fa
41d0: 63 65 5f 67 65 74 5f 66 61 6d 69 6c 79 22 29 0a  ce_get_family").
41e0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
41f0: 6e 63 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 73 6c  nc cairo-font-sl
4200: 61 6e 74 2d 74 20 63 61 69 72 6f 2d 74 6f 79 2d  ant-t cairo-toy-
4210: 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 73 6c  font-face-get-sl
4220: 61 6e 74 20 28 28 66 6f 6e 74 5f 66 61 63 65 20  ant ((font_face 
4230: 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61  (* cairo-font-fa
4240: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 74  ce-t))) "cairo_t
4250: 6f 79 5f 66 6f 6e 74 5f 66 61 63 65 5f 67 65 74  oy_font_face_get
4260: 5f 73 6c 61 6e 74 22 29 0a 28 64 65 66 69 6e 65  _slant").(define
4270: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72  -cairo-func cair
4280: 6f 2d 66 6f 6e 74 2d 77 65 69 67 68 74 2d 74 20  o-font-weight-t 
4290: 63 61 69 72 6f 2d 74 6f 79 2d 66 6f 6e 74 2d 66  cairo-toy-font-f
42a0: 61 63 65 2d 67 65 74 2d 77 65 69 67 68 74 20 28  ace-get-weight (
42b0: 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20 63 61  (font_face (* ca
42c0: 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29  iro-font-face-t)
42d0: 29 29 20 22 63 61 69 72 6f 5f 74 6f 79 5f 66 6f  )) "cairo_toy_fo
42e0: 6e 74 5f 66 61 63 65 5f 67 65 74 5f 77 65 69 67  nt_face_get_weig
42f0: 68 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ht").(define-cai
4300: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
4310: 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 29 20 63 61  -font-face-t) ca
4320: 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66 61  iro-user-font-fa
4330: 63 65 2d 63 72 65 61 74 65 20 28 29 20 22 63 61  ce-create () "ca
4340: 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66 61  iro_user_font_fa
4350: 63 65 5f 63 72 65 61 74 65 22 29 0a 28 64 65 66  ce_create").(def
4360: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
4370: 6f 69 64 20 63 61 69 72 6f 2d 75 73 65 72 2d 66  oid cairo-user-f
4380: 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 69 6e 69  ont-face-set-ini
4390: 74 2d 66 75 6e 63 20 28 28 66 6f 6e 74 5f 66 61  t-func ((font_fa
43a0: 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74  ce (* cairo-font
43b0: 2d 66 61 63 65 2d 74 29 29 20 28 69 6e 69 74 5f  -face-t)) (init_
43c0: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 75 73  func (* cairo-us
43d0: 65 72 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 69  er-scaled-font-i
43e0: 6e 69 74 2d 66 75 6e 63 2d 74 29 29 29 20 22 63  nit-func-t))) "c
43f0: 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66  airo_user_font_f
4400: 61 63 65 5f 73 65 74 5f 69 6e 69 74 5f 66 75 6e  ace_set_init_fun
4410: 63 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  c").(define-cair
4420: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
4430: 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66 61 63 65  o-user-font-face
4440: 2d 73 65 74 2d 72 65 6e 64 65 72 2d 67 6c 79 70  -set-render-glyp
4450: 68 2d 66 75 6e 63 20 28 28 66 6f 6e 74 5f 66 61  h-func ((font_fa
4460: 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74  ce (* cairo-font
4470: 2d 66 61 63 65 2d 74 29 29 20 28 72 65 6e 64 65  -face-t)) (rende
4480: 72 5f 67 6c 79 70 68 5f 66 75 6e 63 20 28 2a 20  r_glyph_func (* 
4490: 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c 65  cairo-user-scale
44a0: 64 2d 66 6f 6e 74 2d 72 65 6e 64 65 72 2d 67 6c  d-font-render-gl
44b0: 79 70 68 2d 66 75 6e 63 2d 74 29 29 29 20 22 63  yph-func-t))) "c
44c0: 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66  airo_user_font_f
44d0: 61 63 65 5f 73 65 74 5f 72 65 6e 64 65 72 5f 67  ace_set_render_g
44e0: 6c 79 70 68 5f 66 75 6e 63 22 29 0a 28 64 65 66  lyph_func").(def
44f0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
4500: 6f 69 64 20 63 61 69 72 6f 2d 75 73 65 72 2d 66  oid cairo-user-f
4510: 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 74 65 78  ont-face-set-tex
4520: 74 2d 74 6f 2d 67 6c 79 70 68 73 2d 66 75 6e 63  t-to-glyphs-func
4530: 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20   ((font_face (* 
4540: 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d  cairo-font-face-
4550: 74 29 29 20 28 74 65 78 74 5f 74 6f 5f 67 6c 79  t)) (text_to_gly
4560: 70 68 73 5f 66 75 6e 63 20 28 2a 20 63 61 69 72  phs_func (* cair
4570: 6f 2d 75 73 65 72 2d 73 63 61 6c 65 64 2d 66 6f  o-user-scaled-fo
4580: 6e 74 2d 74 65 78 74 2d 74 6f 2d 67 6c 79 70 68  nt-text-to-glyph
4590: 73 2d 66 75 6e 63 2d 74 29 29 29 20 22 63 61 69  s-func-t))) "cai
45a0: 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66 61 63  ro_user_font_fac
45b0: 65 5f 73 65 74 5f 74 65 78 74 5f 74 6f 5f 67 6c  e_set_text_to_gl
45c0: 79 70 68 73 5f 66 75 6e 63 22 29 0a 28 64 65 66  yphs_func").(def
45d0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
45e0: 6f 69 64 20 63 61 69 72 6f 2d 75 73 65 72 2d 66  oid cairo-user-f
45f0: 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 75 6e 69  ont-face-set-uni
4600: 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d 66 75  code-to-glyph-fu
4610: 6e 63 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28  nc ((font_face (
4620: 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63  * cairo-font-fac
4630: 65 2d 74 29 29 20 28 75 6e 69 63 6f 64 65 5f 74  e-t)) (unicode_t
4640: 6f 5f 67 6c 79 70 68 5f 66 75 6e 63 20 28 2a 20  o_glyph_func (* 
4650: 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c 65  cairo-user-scale
4660: 64 2d 66 6f 6e 74 2d 75 6e 69 63 6f 64 65 2d 74  d-font-unicode-t
4670: 6f 2d 67 6c 79 70 68 2d 66 75 6e 63 2d 74 29 29  o-glyph-func-t))
4680: 29 20 22 63 61 69 72 6f 5f 75 73 65 72 5f 66 6f  ) "cairo_user_fo
4690: 6e 74 5f 66 61 63 65 5f 73 65 74 5f 75 6e 69 63  nt_face_set_unic
46a0: 6f 64 65 5f 74 6f 5f 67 6c 79 70 68 5f 66 75 6e  ode_to_glyph_fun
46b0: 63 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  c").(define-cair
46c0: 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  o-func (* cairo-
46d0: 75 73 65 72 2d 73 63 61 6c 65 64 2d 66 6f 6e 74  user-scaled-font
46e0: 2d 69 6e 69 74 2d 66 75 6e 63 2d 74 29 20 63 61  -init-func-t) ca
46f0: 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66 61  iro-user-font-fa
4700: 63 65 2d 67 65 74 2d 69 6e 69 74 2d 66 75 6e 63  ce-get-init-func
4710: 20 28 28 66 6f 6e 74 5f 66 61 63 65 20 28 2a 20   ((font_face (* 
4720: 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d  cairo-font-face-
4730: 74 29 29 29 20 22 63 61 69 72 6f 5f 75 73 65 72  t))) "cairo_user
4740: 5f 66 6f 6e 74 5f 66 61 63 65 5f 67 65 74 5f 69  _font_face_get_i
4750: 6e 69 74 5f 66 75 6e 63 22 29 0a 28 64 65 66 69  nit_func").(defi
4760: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
4770: 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c   cairo-user-scal
4780: 65 64 2d 66 6f 6e 74 2d 72 65 6e 64 65 72 2d 67  ed-font-render-g
4790: 6c 79 70 68 2d 66 75 6e 63 2d 74 29 20 63 61 69  lyph-func-t) cai
47a0: 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66 61 63  ro-user-font-fac
47b0: 65 2d 67 65 74 2d 72 65 6e 64 65 72 2d 67 6c 79  e-get-render-gly
47c0: 70 68 2d 66 75 6e 63 20 28 28 66 6f 6e 74 5f 66  ph-func ((font_f
47d0: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 66 6f 6e  ace (* cairo-fon
47e0: 74 2d 66 61 63 65 2d 74 29 29 29 20 22 63 61 69  t-face-t))) "cai
47f0: 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f 66 61 63  ro_user_font_fac
4800: 65 5f 67 65 74 5f 72 65 6e 64 65 72 5f 67 6c 79  e_get_render_gly
4810: 70 68 5f 66 75 6e 63 22 29 0a 28 64 65 66 69 6e  ph_func").(defin
4820: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20  e-cairo-func (* 
4830: 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c 65  cairo-user-scale
4840: 64 2d 66 6f 6e 74 2d 74 65 78 74 2d 74 6f 2d 67  d-font-text-to-g
4850: 6c 79 70 68 73 2d 66 75 6e 63 2d 74 29 20 63 61  lyphs-func-t) ca
4860: 69 72 6f 2d 75 73 65 72 2d 66 6f 6e 74 2d 66 61  iro-user-font-fa
4870: 63 65 2d 67 65 74 2d 74 65 78 74 2d 74 6f 2d 67  ce-get-text-to-g
4880: 6c 79 70 68 73 2d 66 75 6e 63 20 28 28 66 6f 6e  lyphs-func ((fon
4890: 74 5f 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d  t_face (* cairo-
48a0: 66 6f 6e 74 2d 66 61 63 65 2d 74 29 29 29 20 22  font-face-t))) "
48b0: 63 61 69 72 6f 5f 75 73 65 72 5f 66 6f 6e 74 5f  cairo_user_font_
48c0: 66 61 63 65 5f 67 65 74 5f 74 65 78 74 5f 74 6f  face_get_text_to
48d0: 5f 67 6c 79 70 68 73 5f 66 75 6e 63 22 29 0a 28  _glyphs_func").(
48e0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
48f0: 63 20 28 2a 20 63 61 69 72 6f 2d 75 73 65 72 2d  c (* cairo-user-
4900: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 75 6e 69 63  scaled-font-unic
4910: 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d 66 75 6e  ode-to-glyph-fun
4920: 63 2d 74 29 20 63 61 69 72 6f 2d 75 73 65 72 2d  c-t) cairo-user-
4930: 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 75 6e  font-face-get-un
4940: 69 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d 66  icode-to-glyph-f
4950: 75 6e 63 20 28 28 66 6f 6e 74 5f 66 61 63 65 20  unc ((font_face 
4960: 28 2a 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61  (* cairo-font-fa
4970: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 75  ce-t))) "cairo_u
4980: 73 65 72 5f 66 6f 6e 74 5f 66 61 63 65 5f 67 65  ser_font_face_ge
4990: 74 5f 75 6e 69 63 6f 64 65 5f 74 6f 5f 67 6c 79  t_unicode_to_gly
49a0: 70 68 5f 66 75 6e 63 22 29 0a 28 64 65 66 69 6e  ph_func").(defin
49b0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69  e-cairo-func cai
49c0: 72 6f 2d 6f 70 65 72 61 74 6f 72 2d 74 20 63 61  ro-operator-t ca
49d0: 69 72 6f 2d 67 65 74 2d 6f 70 65 72 61 74 6f 72  iro-get-operator
49e0: 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74   ((cr (* cairo-t
49f0: 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74 5f 6f  ))) "cairo_get_o
4a00: 70 65 72 61 74 6f 72 22 29 0a 28 64 65 66 69 6e  perator").(defin
4a10: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20  e-cairo-func (* 
4a20: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29  cairo-pattern-t)
4a30: 20 63 61 69 72 6f 2d 67 65 74 2d 73 6f 75 72 63   cairo-get-sourc
4a40: 65 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d  e ((cr (* cairo-
4a50: 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74 5f  t))) "cairo_get_
4a60: 73 6f 75 72 63 65 22 29 0a 28 64 65 66 69 6e 65  source").(define
4a70: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62  -cairo-func doub
4a80: 6c 65 20 63 61 69 72 6f 2d 67 65 74 2d 74 6f 6c  le cairo-get-tol
4a90: 65 72 61 6e 63 65 20 28 28 63 72 20 28 2a 20 63  erance ((cr (* c
4aa0: 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f  airo-t))) "cairo
4ab0: 5f 67 65 74 5f 74 6f 6c 65 72 61 6e 63 65 22 29  _get_tolerance")
4ac0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
4ad0: 75 6e 63 20 63 61 69 72 6f 2d 61 6e 74 69 61 6c  unc cairo-antial
4ae0: 69 61 73 2d 74 20 63 61 69 72 6f 2d 67 65 74 2d  ias-t cairo-get-
4af0: 61 6e 74 69 61 6c 69 61 73 20 28 28 63 72 20 28  antialias ((cr (
4b00: 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61  * cairo-t))) "ca
4b10: 69 72 6f 5f 67 65 74 5f 61 6e 74 69 61 6c 69 61  iro_get_antialia
4b20: 73 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  s").(define-cair
4b30: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f  o-func cairo-boo
4b40: 6c 2d 74 20 63 61 69 72 6f 2d 68 61 73 2d 63 75  l-t cairo-has-cu
4b50: 72 72 65 6e 74 2d 70 6f 69 6e 74 20 28 28 63 72  rrent-point ((cr
4b60: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22   (* cairo-t))) "
4b70: 63 61 69 72 6f 5f 68 61 73 5f 63 75 72 72 65 6e  cairo_has_curren
4b80: 74 5f 70 6f 69 6e 74 22 29 0a 28 64 65 66 69 6e  t_point").(defin
4b90: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
4ba0: 64 20 63 61 69 72 6f 2d 67 65 74 2d 63 75 72 72  d cairo-get-curr
4bb0: 65 6e 74 2d 70 6f 69 6e 74 20 28 28 63 72 20 28  ent-point ((cr (
4bc0: 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 78 20 28  * cairo-t)) (x (
4bd0: 2a 20 64 6f 75 62 6c 65 29 29 20 28 79 20 28 2a  * double)) (y (*
4be0: 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61 69 72   double))) "cair
4bf0: 6f 5f 67 65 74 5f 63 75 72 72 65 6e 74 5f 70 6f  o_get_current_po
4c00: 69 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  int").(define-ca
4c10: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 66  iro-func cairo-f
4c20: 69 6c 6c 2d 72 75 6c 65 2d 74 20 63 61 69 72 6f  ill-rule-t cairo
4c30: 2d 67 65 74 2d 66 69 6c 6c 2d 72 75 6c 65 20 28  -get-fill-rule (
4c40: 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29  (cr (* cairo-t))
4c50: 29 20 22 63 61 69 72 6f 5f 67 65 74 5f 66 69 6c  ) "cairo_get_fil
4c60: 6c 5f 72 75 6c 65 22 29 0a 28 64 65 66 69 6e 65  l_rule").(define
4c70: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62  -cairo-func doub
4c80: 6c 65 20 63 61 69 72 6f 2d 67 65 74 2d 6c 69 6e  le cairo-get-lin
4c90: 65 2d 77 69 64 74 68 20 28 28 63 72 20 28 2a 20  e-width ((cr (* 
4ca0: 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72  cairo-t))) "cair
4cb0: 6f 5f 67 65 74 5f 6c 69 6e 65 5f 77 69 64 74 68  o_get_line_width
4cc0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
4cd0: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 6c 69 6e 65  -func cairo-line
4ce0: 2d 63 61 70 2d 74 20 63 61 69 72 6f 2d 67 65 74  -cap-t cairo-get
4cf0: 2d 6c 69 6e 65 2d 63 61 70 20 28 28 63 72 20 28  -line-cap ((cr (
4d00: 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22 63 61  * cairo-t))) "ca
4d10: 69 72 6f 5f 67 65 74 5f 6c 69 6e 65 5f 63 61 70  iro_get_line_cap
4d20: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
4d30: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 6c 69 6e 65  -func cairo-line
4d40: 2d 6a 6f 69 6e 2d 74 20 63 61 69 72 6f 2d 67 65  -join-t cairo-ge
4d50: 74 2d 6c 69 6e 65 2d 6a 6f 69 6e 20 28 28 63 72  t-line-join ((cr
4d60: 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29 20 22   (* cairo-t))) "
4d70: 63 61 69 72 6f 5f 67 65 74 5f 6c 69 6e 65 5f 6a  cairo_get_line_j
4d80: 6f 69 6e 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  oin").(define-ca
4d90: 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62 6c 65 20  iro-func double 
4da0: 63 61 69 72 6f 2d 67 65 74 2d 6d 69 74 65 72 2d  cairo-get-miter-
4db0: 6c 69 6d 69 74 20 28 28 63 72 20 28 2a 20 63 61  limit ((cr (* ca
4dc0: 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  iro-t))) "cairo_
4dd0: 67 65 74 5f 6d 69 74 65 72 5f 6c 69 6d 69 74 22  get_miter_limit"
4de0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
4df0: 66 75 6e 63 20 69 6e 74 20 63 61 69 72 6f 2d 67  func int cairo-g
4e00: 65 74 2d 64 61 73 68 2d 63 6f 75 6e 74 20 28 28  et-dash-count ((
4e10: 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29 29 29  cr (* cairo-t)))
4e20: 20 22 63 61 69 72 6f 5f 67 65 74 5f 64 61 73 68   "cairo_get_dash
4e30: 5f 63 6f 75 6e 74 22 29 0a 28 64 65 66 69 6e 65  _count").(define
4e40: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
4e50: 20 63 61 69 72 6f 2d 67 65 74 2d 64 61 73 68 20   cairo-get-dash 
4e60: 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74 29  ((cr (* cairo-t)
4e70: 29 20 28 64 61 73 68 65 73 20 28 2a 20 64 6f 75  ) (dashes (* dou
4e80: 62 6c 65 29 29 20 28 6f 66 66 73 65 74 20 28 2a  ble)) (offset (*
4e90: 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61 69 72   double))) "cair
4ea0: 6f 5f 67 65 74 5f 64 61 73 68 22 29 0a 28 64 65  o_get_dash").(de
4eb0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
4ec0: 76 6f 69 64 20 63 61 69 72 6f 2d 67 65 74 2d 6d  void cairo-get-m
4ed0: 61 74 72 69 78 20 28 28 63 72 20 28 2a 20 63 61  atrix ((cr (* ca
4ee0: 69 72 6f 2d 74 29 29 20 28 6d 61 74 72 69 78 20  iro-t)) (matrix 
4ef0: 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d  (* cairo-matrix-
4f00: 74 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74 5f  t))) "cairo_get_
4f10: 6d 61 74 72 69 78 22 29 0a 28 64 65 66 69 6e 65  matrix").(define
4f20: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
4f30: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20  airo-surface-t) 
4f40: 63 61 69 72 6f 2d 67 65 74 2d 74 61 72 67 65 74  cairo-get-target
4f50: 20 28 28 63 72 20 28 2a 20 63 61 69 72 6f 2d 74   ((cr (* cairo-t
4f60: 29 29 29 20 22 63 61 69 72 6f 5f 67 65 74 5f 74  ))) "cairo_get_t
4f70: 61 72 67 65 74 22 29 0a 28 64 65 66 69 6e 65 2d  arget").(define-
4f80: 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61  cairo-func (* ca
4f90: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63  iro-surface-t) c
4fa0: 61 69 72 6f 2d 67 65 74 2d 67 72 6f 75 70 2d 74  airo-get-group-t
4fb0: 61 72 67 65 74 20 28 28 63 72 20 28 2a 20 63 61  arget ((cr (* ca
4fc0: 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  iro-t))) "cairo_
4fd0: 67 65 74 5f 67 72 6f 75 70 5f 74 61 72 67 65 74  get_group_target
4fe0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
4ff0: 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 70  -func (* cairo-p
5000: 61 74 68 2d 74 29 20 63 61 69 72 6f 2d 63 6f 70  ath-t) cairo-cop
5010: 79 2d 70 61 74 68 20 28 28 63 72 20 28 2a 20 63  y-path ((cr (* c
5020: 61 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f  airo-t))) "cairo
5030: 5f 63 6f 70 79 5f 70 61 74 68 22 29 0a 28 64 65  _copy_path").(de
5040: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
5050: 28 2a 20 63 61 69 72 6f 2d 70 61 74 68 2d 74 29  (* cairo-path-t)
5060: 20 63 61 69 72 6f 2d 63 6f 70 79 2d 70 61 74 68   cairo-copy-path
5070: 2d 66 6c 61 74 20 28 28 63 72 20 28 2a 20 63 61  -flat ((cr (* ca
5080: 69 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  iro-t))) "cairo_
5090: 63 6f 70 79 5f 70 61 74 68 5f 66 6c 61 74 22 29  copy_path_flat")
50a0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
50b0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 61  unc void cairo-a
50c0: 70 70 65 6e 64 2d 70 61 74 68 20 28 28 63 72 20  ppend-path ((cr 
50d0: 28 2a 20 63 61 69 72 6f 2d 74 29 29 20 28 70 61  (* cairo-t)) (pa
50e0: 74 68 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 68  th (* cairo-path
50f0: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 61 70 70  -t))) "cairo_app
5100: 65 6e 64 5f 70 61 74 68 22 29 0a 28 64 65 66 69  end_path").(defi
5110: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
5120: 69 64 20 63 61 69 72 6f 2d 70 61 74 68 2d 64 65  id cairo-path-de
5130: 73 74 72 6f 79 20 28 28 70 61 74 68 20 28 2a 20  stroy ((path (* 
5140: 63 61 69 72 6f 2d 70 61 74 68 2d 74 29 29 29 20  cairo-path-t))) 
5150: 22 63 61 69 72 6f 5f 70 61 74 68 5f 64 65 73 74  "cairo_path_dest
5160: 72 6f 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  roy").(define-ca
5170: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
5180: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 74  tatus-t cairo-st
5190: 61 74 75 73 20 28 28 63 72 20 28 2a 20 63 61 69  atus ((cr (* cai
51a0: 72 6f 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  ro-t))) "cairo_s
51b0: 74 61 74 75 73 22 29 0a 28 64 65 66 69 6e 65 2d  tatus").(define-
51c0: 63 61 69 72 6f 2d 66 75 6e 63 20 73 74 72 69 6e  cairo-func strin
51d0: 67 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74  g cairo-status-t
51e0: 6f 2d 73 74 72 69 6e 67 20 28 28 73 74 61 74 75  o-string ((statu
51f0: 73 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74  s cairo-status-t
5200: 29 29 20 22 63 61 69 72 6f 5f 73 74 61 74 75 73  )) "cairo_status
5210: 5f 74 6f 5f 73 74 72 69 6e 67 22 29 0a 28 64 65  _to_string").(de
5220: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
5230: 28 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d  (* cairo-device-
5240: 74 29 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d  t) cairo-device-
5250: 72 65 66 65 72 65 6e 63 65 20 28 28 64 65 76 69  reference ((devi
5260: 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65 76 69  ce (* cairo-devi
5270: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 64  ce-t))) "cairo_d
5280: 65 76 69 63 65 5f 72 65 66 65 72 65 6e 63 65 22  evice_reference"
5290: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
52a0: 66 75 6e 63 20 63 61 69 72 6f 2d 64 65 76 69 63  func cairo-devic
52b0: 65 2d 74 79 70 65 2d 74 20 63 61 69 72 6f 2d 64  e-type-t cairo-d
52c0: 65 76 69 63 65 2d 67 65 74 2d 74 79 70 65 20 28  evice-get-type (
52d0: 28 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f  (device (* cairo
52e0: 2d 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61  -device-t))) "ca
52f0: 69 72 6f 5f 64 65 76 69 63 65 5f 67 65 74 5f 74  iro_device_get_t
5300: 79 70 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ype").(define-ca
5310: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
5320: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 64 65  tatus-t cairo-de
5330: 76 69 63 65 2d 73 74 61 74 75 73 20 28 28 64 65  vice-status ((de
5340: 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65  vice (* cairo-de
5350: 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  vice-t))) "cairo
5360: 5f 64 65 76 69 63 65 5f 73 74 61 74 75 73 22 29  _device_status")
5370: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
5380: 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73  unc cairo-status
5390: 2d 74 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d  -t cairo-device-
53a0: 61 63 71 75 69 72 65 20 28 28 64 65 76 69 63 65  acquire ((device
53b0: 20 28 2a 20 63 61 69 72 6f 2d 64 65 76 69 63 65   (* cairo-device
53c0: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 64 65 76  -t))) "cairo_dev
53d0: 69 63 65 5f 61 63 71 75 69 72 65 22 29 0a 28 64  ice_acquire").(d
53e0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
53f0: 20 76 6f 69 64 20 63 61 69 72 6f 2d 64 65 76 69   void cairo-devi
5400: 63 65 2d 72 65 6c 65 61 73 65 20 28 28 64 65 76  ce-release ((dev
5410: 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65 76  ice (* cairo-dev
5420: 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  ice-t))) "cairo_
5430: 64 65 76 69 63 65 5f 72 65 6c 65 61 73 65 22 29  device_release")
5440: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
5450: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 64  unc void cairo-d
5460: 65 76 69 63 65 2d 66 6c 75 73 68 20 28 28 64 65  evice-flush ((de
5470: 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65  vice (* cairo-de
5480: 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  vice-t))) "cairo
5490: 5f 64 65 76 69 63 65 5f 66 6c 75 73 68 22 29 0a  _device_flush").
54a0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
54b0: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 64 65  nc void cairo-de
54c0: 76 69 63 65 2d 66 69 6e 69 73 68 20 28 28 64 65  vice-finish ((de
54d0: 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65  vice (* cairo-de
54e0: 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  vice-t))) "cairo
54f0: 5f 64 65 76 69 63 65 5f 66 69 6e 69 73 68 22 29  _device_finish")
5500: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
5510: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 64  unc void cairo-d
5520: 65 76 69 63 65 2d 64 65 73 74 72 6f 79 20 28 28  evice-destroy ((
5530: 64 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d  device (* cairo-
5540: 64 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69  device-t))) "cai
5550: 72 6f 5f 64 65 76 69 63 65 5f 64 65 73 74 72 6f  ro_device_destro
5560: 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  y").(define-cair
5570: 6f 2d 66 75 6e 63 20 75 6e 73 69 67 6e 65 64 2d  o-func unsigned-
5580: 69 6e 74 20 63 61 69 72 6f 2d 64 65 76 69 63 65  int cairo-device
5590: 2d 67 65 74 2d 72 65 66 65 72 65 6e 63 65 2d 63  -get-reference-c
55a0: 6f 75 6e 74 20 28 28 64 65 76 69 63 65 20 28 2a  ount ((device (*
55b0: 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74 29   cairo-device-t)
55c0: 29 29 20 22 63 61 69 72 6f 5f 64 65 76 69 63 65  )) "cairo_device
55d0: 5f 67 65 74 5f 72 65 66 65 72 65 6e 63 65 5f 63  _get_reference_c
55e0: 6f 75 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  ount").(define-c
55f0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 2a 20  airo-func void* 
5600: 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 67 65 74  cairo-device-get
5610: 2d 75 73 65 72 2d 64 61 74 61 20 28 28 64 65 76  -user-data ((dev
5620: 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65 76  ice (* cairo-dev
5630: 69 63 65 2d 74 29 29 20 28 6b 65 79 20 28 2a 20  ice-t)) (key (* 
5640: 63 61 69 72 6f 2d 75 73 65 72 2d 64 61 74 61 2d  cairo-user-data-
5650: 6b 65 79 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  key-t))) "cairo_
5660: 64 65 76 69 63 65 5f 67 65 74 5f 75 73 65 72 5f  device_get_user_
5670: 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d 63  data").(define-c
5680: 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d  airo-func cairo-
5690: 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 64  status-t cairo-d
56a0: 65 76 69 63 65 2d 73 65 74 2d 75 73 65 72 2d 64  evice-set-user-d
56b0: 61 74 61 20 28 28 64 65 76 69 63 65 20 28 2a 20  ata ((device (* 
56c0: 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74 29 29  cairo-device-t))
56d0: 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f 2d 75   (key (* cairo-u
56e0: 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74 29 29  ser-data-key-t))
56f0: 20 28 75 73 65 72 5f 64 61 74 61 20 76 6f 69 64   (user_data void
5700: 2a 29 20 28 64 65 73 74 72 6f 79 20 63 61 69 72  *) (destroy cair
5710: 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63 2d 74  o-destroy-func-t
5720: 29 29 20 22 63 61 69 72 6f 5f 64 65 76 69 63 65  )) "cairo_device
5730: 5f 73 65 74 5f 75 73 65 72 5f 64 61 74 61 22 29  _set_user_data")
5740: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
5750: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  unc (* cairo-sur
5760: 66 61 63 65 2d 74 29 20 63 61 69 72 6f 2d 73 75  face-t) cairo-su
5770: 72 66 61 63 65 2d 63 72 65 61 74 65 2d 73 69 6d  rface-create-sim
5780: 69 6c 61 72 20 28 28 6f 74 68 65 72 20 28 2a 20  ilar ((other (* 
5790: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
57a0: 29 20 28 63 6f 6e 74 65 6e 74 20 63 61 69 72 6f  ) (content cairo
57b0: 2d 63 6f 6e 74 65 6e 74 2d 74 29 20 28 77 69 64  -content-t) (wid
57c0: 74 68 20 69 6e 74 29 20 28 68 65 69 67 68 74 20  th int) (height 
57d0: 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 73 75 72  int)) "cairo_sur
57e0: 66 61 63 65 5f 63 72 65 61 74 65 5f 73 69 6d 69  face_create_simi
57f0: 6c 61 72 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  lar").(define-ca
5800: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
5810: 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61 69  o-surface-t) cai
5820: 72 6f 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74  ro-surface-creat
5830: 65 2d 73 69 6d 69 6c 61 72 2d 69 6d 61 67 65 20  e-similar-image 
5840: 28 28 6f 74 68 65 72 20 28 2a 20 63 61 69 72 6f  ((other (* cairo
5850: 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28 66 6f  -surface-t)) (fo
5860: 72 6d 61 74 20 63 61 69 72 6f 2d 66 6f 72 6d 61  rmat cairo-forma
5870: 74 2d 74 29 20 28 77 69 64 74 68 20 69 6e 74 29  t-t) (width int)
5880: 20 28 68 65 69 67 68 74 20 69 6e 74 29 29 20 22   (height int)) "
5890: 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 63 72  cairo_surface_cr
58a0: 65 61 74 65 5f 73 69 6d 69 6c 61 72 5f 69 6d 61  eate_similar_ima
58b0: 67 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ge").(define-cai
58c0: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
58d0: 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61 69 72  -surface-t) cair
58e0: 6f 2d 73 75 72 66 61 63 65 2d 6d 61 70 2d 74 6f  o-surface-map-to
58f0: 2d 69 6d 61 67 65 20 28 28 73 75 72 66 61 63 65  -image ((surface
5900: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
5910: 65 2d 74 29 29 20 28 65 78 74 65 6e 74 73 20 28  e-t)) (extents (
5920: 2a 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c  * cairo-rectangl
5930: 65 2d 69 6e 74 2d 74 29 29 29 20 22 63 61 69 72  e-int-t))) "cair
5940: 6f 5f 73 75 72 66 61 63 65 5f 6d 61 70 5f 74 6f  o_surface_map_to
5950: 5f 69 6d 61 67 65 22 29 0a 28 64 65 66 69 6e 65  _image").(define
5960: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
5970: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 75   cairo-surface-u
5980: 6e 6d 61 70 2d 69 6d 61 67 65 20 28 28 73 75 72  nmap-image ((sur
5990: 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75  face (* cairo-su
59a0: 72 66 61 63 65 2d 74 29 29 20 28 69 6d 61 67 65  rface-t)) (image
59b0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
59c0: 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 75  e-t))) "cairo_su
59d0: 72 66 61 63 65 5f 75 6e 6d 61 70 5f 69 6d 61 67  rface_unmap_imag
59e0: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
59f0: 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  o-func (* cairo-
5a00: 73 75 72 66 61 63 65 2d 74 29 20 63 61 69 72 6f  surface-t) cairo
5a10: 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74 65 2d  -surface-create-
5a20: 66 6f 72 2d 72 65 63 74 61 6e 67 6c 65 20 28 28  for-rectangle ((
5a30: 74 61 72 67 65 74 20 28 2a 20 63 61 69 72 6f 2d  target (* cairo-
5a40: 73 75 72 66 61 63 65 2d 74 29 29 20 28 78 20 64  surface-t)) (x d
5a50: 6f 75 62 6c 65 29 20 28 79 20 64 6f 75 62 6c 65  ouble) (y double
5a60: 29 20 28 77 69 64 74 68 20 64 6f 75 62 6c 65 29  ) (width double)
5a70: 20 28 68 65 69 67 68 74 20 64 6f 75 62 6c 65 29   (height double)
5a80: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
5a90: 5f 63 72 65 61 74 65 5f 66 6f 72 5f 72 65 63 74  _create_for_rect
5aa0: 61 6e 67 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d  angle").(define-
5ab0: 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61  cairo-func (* ca
5ac0: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63  iro-surface-t) c
5ad0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 63 72 65  airo-surface-cre
5ae0: 61 74 65 2d 6f 62 73 65 72 76 65 72 20 28 28 74  ate-observer ((t
5af0: 61 72 67 65 74 20 28 2a 20 63 61 69 72 6f 2d 73  arget (* cairo-s
5b00: 75 72 66 61 63 65 2d 74 29 29 20 28 6d 6f 64 65  urface-t)) (mode
5b10: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f   cairo-surface-o
5b20: 62 73 65 72 76 65 72 2d 6d 6f 64 65 2d 74 29 29  bserver-mode-t))
5b30: 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f   "cairo_surface_
5b40: 63 72 65 61 74 65 5f 6f 62 73 65 72 76 65 72 22  create_observer"
5b50: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
5b60: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
5b70: 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63  s-t cairo-surfac
5b80: 65 2d 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 70  e-observer-add-p
5b90: 61 69 6e 74 2d 63 61 6c 6c 62 61 63 6b 20 28 28  aint-callback ((
5ba0: 61 62 73 74 72 61 63 74 5f 73 75 72 66 61 63 65  abstract_surface
5bb0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
5bc0: 65 2d 74 29 29 20 28 66 75 6e 63 20 28 2a 20 63  e-t)) (func (* c
5bd0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73  airo-surface-obs
5be0: 65 72 76 65 72 2d 63 61 6c 6c 62 61 63 6b 2d 74  erver-callback-t
5bf0: 29 29 20 28 64 61 74 61 20 76 6f 69 64 2a 29 29  )) (data void*))
5c00: 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f   "cairo_surface_
5c10: 6f 62 73 65 72 76 65 72 5f 61 64 64 5f 70 61 69  observer_add_pai
5c20: 6e 74 5f 63 61 6c 6c 62 61 63 6b 22 29 0a 28 64  nt_callback").(d
5c30: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
5c40: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
5c50: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62  cairo-surface-ob
5c60: 73 65 72 76 65 72 2d 61 64 64 2d 6d 61 73 6b 2d  server-add-mask-
5c70: 63 61 6c 6c 62 61 63 6b 20 28 28 61 62 73 74 72  callback ((abstr
5c80: 61 63 74 5f 73 75 72 66 61 63 65 20 28 2a 20 63  act_surface (* c
5c90: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29  airo-surface-t))
5ca0: 20 28 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d   (func (* cairo-
5cb0: 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72  surface-observer
5cc0: 2d 63 61 6c 6c 62 61 63 6b 2d 74 29 29 20 28 64  -callback-t)) (d
5cd0: 61 74 61 20 76 6f 69 64 2a 29 29 20 22 63 61 69  ata void*)) "cai
5ce0: 72 6f 5f 73 75 72 66 61 63 65 5f 6f 62 73 65 72  ro_surface_obser
5cf0: 76 65 72 5f 61 64 64 5f 6d 61 73 6b 5f 63 61 6c  ver_add_mask_cal
5d00: 6c 62 61 63 6b 22 29 0a 28 64 65 66 69 6e 65 2d  lback").(define-
5d10: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
5d20: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
5d30: 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72  surface-observer
5d40: 2d 61 64 64 2d 66 69 6c 6c 2d 63 61 6c 6c 62 61  -add-fill-callba
5d50: 63 6b 20 28 28 61 62 73 74 72 61 63 74 5f 73 75  ck ((abstract_su
5d60: 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73  rface (* cairo-s
5d70: 75 72 66 61 63 65 2d 74 29 29 20 28 66 75 6e 63  urface-t)) (func
5d80: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
5d90: 65 2d 6f 62 73 65 72 76 65 72 2d 63 61 6c 6c 62  e-observer-callb
5da0: 61 63 6b 2d 74 29 29 20 28 64 61 74 61 20 76 6f  ack-t)) (data vo
5db0: 69 64 2a 29 29 20 22 63 61 69 72 6f 5f 73 75 72  id*)) "cairo_sur
5dc0: 66 61 63 65 5f 6f 62 73 65 72 76 65 72 5f 61 64  face_observer_ad
5dd0: 64 5f 66 69 6c 6c 5f 63 61 6c 6c 62 61 63 6b 22  d_fill_callback"
5de0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
5df0: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
5e00: 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63  s-t cairo-surfac
5e10: 65 2d 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 73  e-observer-add-s
5e20: 74 72 6f 6b 65 2d 63 61 6c 6c 62 61 63 6b 20 28  troke-callback (
5e30: 28 61 62 73 74 72 61 63 74 5f 73 75 72 66 61 63  (abstract_surfac
5e40: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
5e50: 63 65 2d 74 29 29 20 28 66 75 6e 63 20 28 2a 20  ce-t)) (func (* 
5e60: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62  cairo-surface-ob
5e70: 73 65 72 76 65 72 2d 63 61 6c 6c 62 61 63 6b 2d  server-callback-
5e80: 74 29 29 20 28 64 61 74 61 20 76 6f 69 64 2a 29  t)) (data void*)
5e90: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
5ea0: 5f 6f 62 73 65 72 76 65 72 5f 61 64 64 5f 73 74  _observer_add_st
5eb0: 72 6f 6b 65 5f 63 61 6c 6c 62 61 63 6b 22 29 0a  roke_callback").
5ec0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
5ed0: 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d  nc cairo-status-
5ee0: 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  t cairo-surface-
5ef0: 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 67 6c 79  observer-add-gly
5f00: 70 68 73 2d 63 61 6c 6c 62 61 63 6b 20 28 28 61  phs-callback ((a
5f10: 62 73 74 72 61 63 74 5f 73 75 72 66 61 63 65 20  bstract_surface 
5f20: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
5f30: 2d 74 29 29 20 28 66 75 6e 63 20 28 2a 20 63 61  -t)) (func (* ca
5f40: 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65  iro-surface-obse
5f50: 72 76 65 72 2d 63 61 6c 6c 62 61 63 6b 2d 74 29  rver-callback-t)
5f60: 29 20 28 64 61 74 61 20 76 6f 69 64 2a 29 29 20  ) (data void*)) 
5f70: 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 6f  "cairo_surface_o
5f80: 62 73 65 72 76 65 72 5f 61 64 64 5f 67 6c 79 70  bserver_add_glyp
5f90: 68 73 5f 63 61 6c 6c 62 61 63 6b 22 29 0a 28 64  hs_callback").(d
5fa0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
5fb0: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
5fc0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62  cairo-surface-ob
5fd0: 73 65 72 76 65 72 2d 61 64 64 2d 66 6c 75 73 68  server-add-flush
5fe0: 2d 63 61 6c 6c 62 61 63 6b 20 28 28 61 62 73 74  -callback ((abst
5ff0: 72 61 63 74 5f 73 75 72 66 61 63 65 20 28 2a 20  ract_surface (* 
6000: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
6010: 29 20 28 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ) (func (* cairo
6020: 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 65  -surface-observe
6030: 72 2d 63 61 6c 6c 62 61 63 6b 2d 74 29 29 20 28  r-callback-t)) (
6040: 64 61 74 61 20 76 6f 69 64 2a 29 29 20 22 63 61  data void*)) "ca
6050: 69 72 6f 5f 73 75 72 66 61 63 65 5f 6f 62 73 65  iro_surface_obse
6060: 72 76 65 72 5f 61 64 64 5f 66 6c 75 73 68 5f 63  rver_add_flush_c
6070: 61 6c 6c 62 61 63 6b 22 29 0a 28 64 65 66 69 6e  allback").(defin
6080: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69  e-cairo-func cai
6090: 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72  ro-status-t cair
60a0: 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76  o-surface-observ
60b0: 65 72 2d 61 64 64 2d 66 69 6e 69 73 68 2d 63 61  er-add-finish-ca
60c0: 6c 6c 62 61 63 6b 20 28 28 61 62 73 74 72 61 63  llback ((abstrac
60d0: 74 5f 73 75 72 66 61 63 65 20 28 2a 20 63 61 69  t_surface (* cai
60e0: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28  ro-surface-t)) (
60f0: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 73 75  func (* cairo-su
6100: 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 63  rface-observer-c
6110: 61 6c 6c 62 61 63 6b 2d 74 29 29 20 28 64 61 74  allback-t)) (dat
6120: 61 20 76 6f 69 64 2a 29 29 20 22 63 61 69 72 6f  a void*)) "cairo
6130: 5f 73 75 72 66 61 63 65 5f 6f 62 73 65 72 76 65  _surface_observe
6140: 72 5f 61 64 64 5f 66 69 6e 69 73 68 5f 63 61 6c  r_add_finish_cal
6150: 6c 62 61 63 6b 22 29 0a 28 64 65 66 69 6e 65 2d  lback").(define-
6160: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
6170: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
6180: 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72  surface-observer
6190: 2d 70 72 69 6e 74 20 28 28 73 75 72 66 61 63 65  -print ((surface
61a0: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
61b0: 65 2d 74 29 29 20 28 77 72 69 74 65 5f 66 75 6e  e-t)) (write_fun
61c0: 63 20 28 2a 20 63 61 69 72 6f 2d 77 72 69 74 65  c (* cairo-write
61d0: 2d 66 75 6e 63 2d 74 29 29 20 28 63 6c 6f 73 75  -func-t)) (closu
61e0: 72 65 20 76 6f 69 64 2a 29 29 20 22 63 61 69 72  re void*)) "cair
61f0: 6f 5f 73 75 72 66 61 63 65 5f 6f 62 73 65 72 76  o_surface_observ
6200: 65 72 5f 70 72 69 6e 74 22 29 0a 28 64 65 66 69  er_print").(defi
6210: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 64 6f  ne-cairo-func do
6220: 75 62 6c 65 20 63 61 69 72 6f 2d 73 75 72 66 61  uble cairo-surfa
6230: 63 65 2d 6f 62 73 65 72 76 65 72 2d 65 6c 61 70  ce-observer-elap
6240: 73 65 64 20 28 28 73 75 72 66 61 63 65 20 28 2a  sed ((surface (*
6250: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
6260: 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  ))) "cairo_surfa
6270: 63 65 5f 6f 62 73 65 72 76 65 72 5f 65 6c 61 70  ce_observer_elap
6280: 73 65 64 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  sed").(define-ca
6290: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
62a0: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 64 65  tatus-t cairo-de
62b0: 76 69 63 65 2d 6f 62 73 65 72 76 65 72 2d 70 72  vice-observer-pr
62c0: 69 6e 74 20 28 28 64 65 76 69 63 65 20 28 2a 20  int ((device (* 
62d0: 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74 29 29  cairo-device-t))
62e0: 20 28 77 72 69 74 65 5f 66 75 6e 63 20 28 2a 20   (write_func (* 
62f0: 63 61 69 72 6f 2d 77 72 69 74 65 2d 66 75 6e 63  cairo-write-func
6300: 2d 74 29 29 20 28 63 6c 6f 73 75 72 65 20 76 6f  -t)) (closure vo
6310: 69 64 2a 29 29 20 22 63 61 69 72 6f 5f 64 65 76  id*)) "cairo_dev
6320: 69 63 65 5f 6f 62 73 65 72 76 65 72 5f 70 72 69  ice_observer_pri
6330: 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  nt").(define-cai
6340: 72 6f 2d 66 75 6e 63 20 64 6f 75 62 6c 65 20 63  ro-func double c
6350: 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f 62 73 65  airo-device-obse
6360: 72 76 65 72 2d 65 6c 61 70 73 65 64 20 28 28 64  rver-elapsed ((d
6370: 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64  evice (* cairo-d
6380: 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72  evice-t))) "cair
6390: 6f 5f 64 65 76 69 63 65 5f 6f 62 73 65 72 76 65  o_device_observe
63a0: 72 5f 65 6c 61 70 73 65 64 22 29 0a 28 64 65 66  r_elapsed").(def
63b0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 64  ine-cairo-func d
63c0: 6f 75 62 6c 65 20 63 61 69 72 6f 2d 64 65 76 69  ouble cairo-devi
63d0: 63 65 2d 6f 62 73 65 72 76 65 72 2d 70 61 69 6e  ce-observer-pain
63e0: 74 2d 65 6c 61 70 73 65 64 20 28 28 64 65 76 69  t-elapsed ((devi
63f0: 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65 76 69  ce (* cairo-devi
6400: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 64  ce-t))) "cairo_d
6410: 65 76 69 63 65 5f 6f 62 73 65 72 76 65 72 5f 70  evice_observer_p
6420: 61 69 6e 74 5f 65 6c 61 70 73 65 64 22 29 0a 28  aint_elapsed").(
6430: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
6440: 63 20 64 6f 75 62 6c 65 20 63 61 69 72 6f 2d 64  c double cairo-d
6450: 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72 2d 6d  evice-observer-m
6460: 61 73 6b 2d 65 6c 61 70 73 65 64 20 28 28 64 65  ask-elapsed ((de
6470: 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64 65  vice (* cairo-de
6480: 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  vice-t))) "cairo
6490: 5f 64 65 76 69 63 65 5f 6f 62 73 65 72 76 65 72  _device_observer
64a0: 5f 6d 61 73 6b 5f 65 6c 61 70 73 65 64 22 29 0a  _mask_elapsed").
64b0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
64c0: 6e 63 20 64 6f 75 62 6c 65 20 63 61 69 72 6f 2d  nc double cairo-
64d0: 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72 2d  device-observer-
64e0: 66 69 6c 6c 2d 65 6c 61 70 73 65 64 20 28 28 64  fill-elapsed ((d
64f0: 65 76 69 63 65 20 28 2a 20 63 61 69 72 6f 2d 64  evice (* cairo-d
6500: 65 76 69 63 65 2d 74 29 29 29 20 22 63 61 69 72  evice-t))) "cair
6510: 6f 5f 64 65 76 69 63 65 5f 6f 62 73 65 72 76 65  o_device_observe
6520: 72 5f 66 69 6c 6c 5f 65 6c 61 70 73 65 64 22 29  r_fill_elapsed")
6530: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
6540: 75 6e 63 20 64 6f 75 62 6c 65 20 63 61 69 72 6f  unc double cairo
6550: 2d 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72  -device-observer
6560: 2d 73 74 72 6f 6b 65 2d 65 6c 61 70 73 65 64 20  -stroke-elapsed 
6570: 28 28 64 65 76 69 63 65 20 28 2a 20 63 61 69 72  ((device (* cair
6580: 6f 2d 64 65 76 69 63 65 2d 74 29 29 29 20 22 63  o-device-t))) "c
6590: 61 69 72 6f 5f 64 65 76 69 63 65 5f 6f 62 73 65  airo_device_obse
65a0: 72 76 65 72 5f 73 74 72 6f 6b 65 5f 65 6c 61 70  rver_stroke_elap
65b0: 73 65 64 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  sed").(define-ca
65c0: 69 72 6f 2d 66 75 6e 63 20 64 6f 75 62 6c 65 20  iro-func double 
65d0: 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f 62 73  cairo-device-obs
65e0: 65 72 76 65 72 2d 67 6c 79 70 68 73 2d 65 6c 61  erver-glyphs-ela
65f0: 70 73 65 64 20 28 28 64 65 76 69 63 65 20 28 2a  psed ((device (*
6600: 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74 29   cairo-device-t)
6610: 29 29 20 22 63 61 69 72 6f 5f 64 65 76 69 63 65  )) "cairo_device
6620: 5f 6f 62 73 65 72 76 65 72 5f 67 6c 79 70 68 73  _observer_glyphs
6630: 5f 65 6c 61 70 73 65 64 22 29 0a 28 64 65 66 69  _elapsed").(defi
6640: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a  ne-cairo-func (*
6650: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
6660: 29 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  ) cairo-surface-
6670: 72 65 66 65 72 65 6e 63 65 20 28 28 73 75 72 66  reference ((surf
6680: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
6690: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
66a0: 5f 73 75 72 66 61 63 65 5f 72 65 66 65 72 65 6e  _surface_referen
66b0: 63 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ce").(define-cai
66c0: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
66d0: 72 6f 2d 73 75 72 66 61 63 65 2d 66 69 6e 69 73  ro-surface-finis
66e0: 68 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63  h ((surface (* c
66f0: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29  airo-surface-t))
6700: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
6710: 5f 66 69 6e 69 73 68 22 29 0a 28 64 65 66 69 6e  _finish").(defin
6720: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
6730: 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  d cairo-surface-
6740: 64 65 73 74 72 6f 79 20 28 28 73 75 72 66 61 63  destroy ((surfac
6750: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
6760: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  ce-t))) "cairo_s
6770: 75 72 66 61 63 65 5f 64 65 73 74 72 6f 79 22 29  urface_destroy")
6780: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
6790: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 64 65 76  unc (* cairo-dev
67a0: 69 63 65 2d 74 29 20 63 61 69 72 6f 2d 73 75 72  ice-t) cairo-sur
67b0: 66 61 63 65 2d 67 65 74 2d 64 65 76 69 63 65 20  face-get-device 
67c0: 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61 69  ((surface (* cai
67d0: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20  ro-surface-t))) 
67e0: 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 67  "cairo_surface_g
67f0: 65 74 5f 64 65 76 69 63 65 22 29 0a 28 64 65 66  et_device").(def
6800: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 75  ine-cairo-func u
6810: 6e 73 69 67 6e 65 64 2d 69 6e 74 20 63 61 69 72  nsigned-int cair
6820: 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 72 65  o-surface-get-re
6830: 66 65 72 65 6e 63 65 2d 63 6f 75 6e 74 20 28 28  ference-count ((
6840: 73 75 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f  surface (* cairo
6850: 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20 22 63  -surface-t))) "c
6860: 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 67 65 74  airo_surface_get
6870: 5f 72 65 66 65 72 65 6e 63 65 5f 63 6f 75 6e 74  _reference_count
6880: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
6890: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
68a0: 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61  us-t cairo-surfa
68b0: 63 65 2d 73 74 61 74 75 73 20 28 28 73 75 72 66  ce-status ((surf
68c0: 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72  ace (* cairo-sur
68d0: 66 61 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f  face-t))) "cairo
68e0: 5f 73 75 72 66 61 63 65 5f 73 74 61 74 75 73 22  _surface_status"
68f0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
6900: 66 75 6e 63 20 63 61 69 72 6f 2d 73 75 72 66 61  func cairo-surfa
6910: 63 65 2d 74 79 70 65 2d 74 20 63 61 69 72 6f 2d  ce-type-t cairo-
6920: 73 75 72 66 61 63 65 2d 67 65 74 2d 74 79 70 65  surface-get-type
6930: 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61   ((surface (* ca
6940: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29  iro-surface-t)))
6950: 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f   "cairo_surface_
6960: 67 65 74 5f 74 79 70 65 22 29 0a 28 64 65 66 69  get_type").(defi
6970: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61  ne-cairo-func ca
6980: 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 20 63 61  iro-content-t ca
6990: 69 72 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d  iro-surface-get-
69a0: 63 6f 6e 74 65 6e 74 20 28 28 73 75 72 66 61 63  content ((surfac
69b0: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
69c0: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  ce-t))) "cairo_s
69d0: 75 72 66 61 63 65 5f 67 65 74 5f 63 6f 6e 74 65  urface_get_conte
69e0: 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  nt").(define-cai
69f0: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
6a00: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72  atus-t cairo-sur
6a10: 66 61 63 65 2d 77 72 69 74 65 2d 74 6f 2d 70 6e  face-write-to-pn
6a20: 67 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63  g ((surface (* c
6a30: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29  airo-surface-t))
6a40: 20 28 66 69 6c 65 6e 61 6d 65 20 73 74 72 69 6e   (filename strin
6a50: 67 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  g)) "cairo_surfa
6a60: 63 65 5f 77 72 69 74 65 5f 74 6f 5f 70 6e 67 22  ce_write_to_png"
6a70: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
6a80: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
6a90: 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63  s-t cairo-surfac
6aa0: 65 2d 77 72 69 74 65 2d 74 6f 2d 70 6e 67 2d 73  e-write-to-png-s
6ab0: 74 72 65 61 6d 20 28 28 73 75 72 66 61 63 65 20  tream ((surface 
6ac0: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
6ad0: 2d 74 29 29 20 28 77 72 69 74 65 5f 66 75 6e 63  -t)) (write_func
6ae0: 20 28 2a 20 63 61 69 72 6f 2d 77 72 69 74 65 2d   (* cairo-write-
6af0: 66 75 6e 63 2d 74 29 29 20 28 63 6c 6f 73 75 72  func-t)) (closur
6b00: 65 20 76 6f 69 64 2a 29 29 20 22 63 61 69 72 6f  e void*)) "cairo
6b10: 5f 73 75 72 66 61 63 65 5f 77 72 69 74 65 5f 74  _surface_write_t
6b20: 6f 5f 70 6e 67 5f 73 74 72 65 61 6d 22 29 0a 28  o_png_stream").(
6b30: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
6b40: 63 20 76 6f 69 64 2a 20 63 61 69 72 6f 2d 73 75  c void* cairo-su
6b50: 72 66 61 63 65 2d 67 65 74 2d 75 73 65 72 2d 64  rface-get-user-d
6b60: 61 74 61 20 28 28 73 75 72 66 61 63 65 20 28 2a  ata ((surface (*
6b70: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
6b80: 29 29 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f  )) (key (* cairo
6b90: 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74  -user-data-key-t
6ba0: 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  ))) "cairo_surfa
6bb0: 63 65 5f 67 65 74 5f 75 73 65 72 5f 64 61 74 61  ce_get_user_data
6bc0: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
6bd0: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
6be0: 75 73 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61  us-t cairo-surfa
6bf0: 63 65 2d 73 65 74 2d 75 73 65 72 2d 64 61 74 61  ce-set-user-data
6c00: 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61   ((surface (* ca
6c10: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 20  iro-surface-t)) 
6c20: 28 6b 65 79 20 28 2a 20 63 61 69 72 6f 2d 75 73  (key (* cairo-us
6c30: 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74 29 29 20  er-data-key-t)) 
6c40: 28 75 73 65 72 5f 64 61 74 61 20 76 6f 69 64 2a  (user_data void*
6c50: 29 20 28 64 65 73 74 72 6f 79 20 63 61 69 72 6f  ) (destroy cairo
6c60: 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63 2d 74 29  -destroy-func-t)
6c70: 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65  ) "cairo_surface
6c80: 5f 73 65 74 5f 75 73 65 72 5f 64 61 74 61 22 29  _set_user_data")
6c90: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
6ca0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73  unc void cairo-s
6cb0: 75 72 66 61 63 65 2d 67 65 74 2d 6d 69 6d 65 2d  urface-get-mime-
6cc0: 64 61 74 61 20 28 28 73 75 72 66 61 63 65 20 28  data ((surface (
6cd0: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
6ce0: 74 29 29 20 28 6d 69 6d 65 5f 74 79 70 65 20 73  t)) (mime_type s
6cf0: 74 72 69 6e 67 29 20 28 64 61 74 61 20 28 2a 20  tring) (data (* 
6d00: 75 6e 73 69 67 6e 65 64 2d 38 29 29 20 28 6c 65  unsigned-8)) (le
6d10: 6e 67 74 68 20 28 2a 20 75 6e 73 69 67 6e 65 64  ngth (* unsigned
6d20: 2d 6c 6f 6e 67 29 29 29 20 22 63 61 69 72 6f 5f  -long))) "cairo_
6d30: 73 75 72 66 61 63 65 5f 67 65 74 5f 6d 69 6d 65  surface_get_mime
6d40: 5f 64 61 74 61 22 29 0a 28 64 65 66 69 6e 65 2d  _data").(define-
6d50: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
6d60: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
6d70: 73 75 72 66 61 63 65 2d 73 65 74 2d 6d 69 6d 65  surface-set-mime
6d80: 2d 64 61 74 61 20 28 28 73 75 72 66 61 63 65 20  -data ((surface 
6d90: 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  (* cairo-surface
6da0: 2d 74 29 29 20 28 6d 69 6d 65 5f 74 79 70 65 20  -t)) (mime_type 
6db0: 73 74 72 69 6e 67 29 20 28 64 61 74 61 20 28 2a  string) (data (*
6dc0: 20 75 6e 73 69 67 6e 65 64 2d 38 29 29 20 28 6c   unsigned-8)) (l
6dd0: 65 6e 67 74 68 20 75 6e 73 69 67 6e 65 64 2d 6c  ength unsigned-l
6de0: 6f 6e 67 29 20 28 64 65 73 74 72 6f 79 20 63 61  ong) (destroy ca
6df0: 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63  iro-destroy-func
6e00: 2d 74 29 20 28 63 6c 6f 73 75 72 65 20 76 6f 69  -t) (closure voi
6e10: 64 2a 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66  d*)) "cairo_surf
6e20: 61 63 65 5f 73 65 74 5f 6d 69 6d 65 5f 64 61 74  ace_set_mime_dat
6e30: 61 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  a").(define-cair
6e40: 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 62 6f 6f  o-func cairo-boo
6e50: 6c 2d 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63  l-t cairo-surfac
6e60: 65 2d 73 75 70 70 6f 72 74 73 2d 6d 69 6d 65 2d  e-supports-mime-
6e70: 74 79 70 65 20 28 28 73 75 72 66 61 63 65 20 28  type ((surface (
6e80: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
6e90: 74 29 29 20 28 6d 69 6d 65 5f 74 79 70 65 20 73  t)) (mime_type s
6ea0: 74 72 69 6e 67 29 29 20 22 63 61 69 72 6f 5f 73  tring)) "cairo_s
6eb0: 75 72 66 61 63 65 5f 73 75 70 70 6f 72 74 73 5f  urface_supports_
6ec0: 6d 69 6d 65 5f 74 79 70 65 22 29 0a 28 64 65 66  mime_type").(def
6ed0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
6ee0: 6f 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63  oid cairo-surfac
6ef0: 65 2d 67 65 74 2d 66 6f 6e 74 2d 6f 70 74 69 6f  e-get-font-optio
6f00: 6e 73 20 28 28 73 75 72 66 61 63 65 20 28 2a 20  ns ((surface (* 
6f10: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
6f20: 29 20 28 6f 70 74 69 6f 6e 73 20 28 2a 20 63 61  ) (options (* ca
6f30: 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73  iro-font-options
6f40: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72  -t))) "cairo_sur
6f50: 66 61 63 65 5f 67 65 74 5f 66 6f 6e 74 5f 6f 70  face_get_font_op
6f60: 74 69 6f 6e 73 22 29 0a 28 64 65 66 69 6e 65 2d  tions").(define-
6f70: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
6f80: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 66 6c  cairo-surface-fl
6f90: 75 73 68 20 28 28 73 75 72 66 61 63 65 20 28 2a  ush ((surface (*
6fa0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
6fb0: 29 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61  ))) "cairo_surfa
6fc0: 63 65 5f 66 6c 75 73 68 22 29 0a 28 64 65 66 69  ce_flush").(defi
6fd0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
6fe0: 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65  id cairo-surface
6ff0: 2d 6d 61 72 6b 2d 64 69 72 74 79 20 28 28 73 75  -mark-dirty ((su
7000: 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73  rface (* cairo-s
7010: 75 72 66 61 63 65 2d 74 29 29 29 20 22 63 61 69  urface-t))) "cai
7020: 72 6f 5f 73 75 72 66 61 63 65 5f 6d 61 72 6b 5f  ro_surface_mark_
7030: 64 69 72 74 79 22 29 0a 28 64 65 66 69 6e 65 2d  dirty").(define-
7040: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
7050: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6d 61  cairo-surface-ma
7060: 72 6b 2d 64 69 72 74 79 2d 72 65 63 74 61 6e 67  rk-dirty-rectang
7070: 6c 65 20 28 28 73 75 72 66 61 63 65 20 28 2a 20  le ((surface (* 
7080: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
7090: 29 20 28 78 20 69 6e 74 29 20 28 79 20 69 6e 74  ) (x int) (y int
70a0: 29 20 28 77 69 64 74 68 20 69 6e 74 29 20 28 68  ) (width int) (h
70b0: 65 69 67 68 74 20 69 6e 74 29 29 20 22 63 61 69  eight int)) "cai
70c0: 72 6f 5f 73 75 72 66 61 63 65 5f 6d 61 72 6b 5f  ro_surface_mark_
70d0: 64 69 72 74 79 5f 72 65 63 74 61 6e 67 6c 65 22  dirty_rectangle"
70e0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
70f0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
7100: 73 75 72 66 61 63 65 2d 73 65 74 2d 64 65 76 69  surface-set-devi
7110: 63 65 2d 73 63 61 6c 65 20 28 28 73 75 72 66 61  ce-scale ((surfa
7120: 63 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  ce (* cairo-surf
7130: 61 63 65 2d 74 29 29 20 28 78 5f 73 63 61 6c 65  ace-t)) (x_scale
7140: 20 64 6f 75 62 6c 65 29 20 28 79 5f 73 63 61 6c   double) (y_scal
7150: 65 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  e double)) "cair
7160: 6f 5f 73 75 72 66 61 63 65 5f 73 65 74 5f 64 65  o_surface_set_de
7170: 76 69 63 65 5f 73 63 61 6c 65 22 29 0a 28 64 65  vice_scale").(de
7180: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
7190: 76 6f 69 64 20 63 61 69 72 6f 2d 73 75 72 66 61  void cairo-surfa
71a0: 63 65 2d 67 65 74 2d 64 65 76 69 63 65 2d 73 63  ce-get-device-sc
71b0: 61 6c 65 20 28 28 73 75 72 66 61 63 65 20 28 2a  ale ((surface (*
71c0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
71d0: 29 29 20 28 78 5f 73 63 61 6c 65 20 28 2a 20 64  )) (x_scale (* d
71e0: 6f 75 62 6c 65 29 29 20 28 79 5f 73 63 61 6c 65  ouble)) (y_scale
71f0: 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63   (* double))) "c
7200: 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 67 65 74  airo_surface_get
7210: 5f 64 65 76 69 63 65 5f 73 63 61 6c 65 22 29 0a  _device_scale").
7220: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
7230: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 75  nc void cairo-su
7240: 72 66 61 63 65 2d 73 65 74 2d 64 65 76 69 63 65  rface-set-device
7250: 2d 6f 66 66 73 65 74 20 28 28 73 75 72 66 61 63  -offset ((surfac
7260: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
7270: 63 65 2d 74 29 29 20 28 78 5f 6f 66 66 73 65 74  ce-t)) (x_offset
7280: 20 64 6f 75 62 6c 65 29 20 28 79 5f 6f 66 66 73   double) (y_offs
7290: 65 74 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69  et double)) "cai
72a0: 72 6f 5f 73 75 72 66 61 63 65 5f 73 65 74 5f 64  ro_surface_set_d
72b0: 65 76 69 63 65 5f 6f 66 66 73 65 74 22 29 0a 28  evice_offset").(
72c0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
72d0: 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 73 75 72  c void cairo-sur
72e0: 66 61 63 65 2d 67 65 74 2d 64 65 76 69 63 65 2d  face-get-device-
72f0: 6f 66 66 73 65 74 20 28 28 73 75 72 66 61 63 65  offset ((surface
7300: 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63   (* cairo-surfac
7310: 65 2d 74 29 29 20 28 78 5f 6f 66 66 73 65 74 20  e-t)) (x_offset 
7320: 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 79 5f 6f  (* double)) (y_o
7330: 66 66 73 65 74 20 28 2a 20 64 6f 75 62 6c 65 29  ffset (* double)
7340: 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63  )) "cairo_surfac
7350: 65 5f 67 65 74 5f 64 65 76 69 63 65 5f 6f 66 66  e_get_device_off
7360: 73 65 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  set").(define-ca
7370: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
7380: 69 72 6f 2d 73 75 72 66 61 63 65 2d 73 65 74 2d  iro-surface-set-
7390: 66 61 6c 6c 62 61 63 6b 2d 72 65 73 6f 6c 75 74  fallback-resolut
73a0: 69 6f 6e 20 28 28 73 75 72 66 61 63 65 20 28 2a  ion ((surface (*
73b0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
73c0: 29 29 20 28 78 5f 70 69 78 65 6c 73 5f 70 65 72  )) (x_pixels_per
73d0: 5f 69 6e 63 68 20 64 6f 75 62 6c 65 29 20 28 79  _inch double) (y
73e0: 5f 70 69 78 65 6c 73 5f 70 65 72 5f 69 6e 63 68  _pixels_per_inch
73f0: 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f   double)) "cairo
7400: 5f 73 75 72 66 61 63 65 5f 73 65 74 5f 66 61 6c  _surface_set_fal
7410: 6c 62 61 63 6b 5f 72 65 73 6f 6c 75 74 69 6f 6e  lback_resolution
7420: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
7430: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
7440: 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 66 61 6c  -surface-get-fal
7450: 6c 62 61 63 6b 2d 72 65 73 6f 6c 75 74 69 6f 6e  lback-resolution
7460: 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61   ((surface (* ca
7470: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 20  iro-surface-t)) 
7480: 28 78 5f 70 69 78 65 6c 73 5f 70 65 72 5f 69 6e  (x_pixels_per_in
7490: 63 68 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  ch (* double)) (
74a0: 79 5f 70 69 78 65 6c 73 5f 70 65 72 5f 69 6e 63  y_pixels_per_inc
74b0: 68 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22  h (* double))) "
74c0: 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f 67 65  cairo_surface_ge
74d0: 74 5f 66 61 6c 6c 62 61 63 6b 5f 72 65 73 6f 6c  t_fallback_resol
74e0: 75 74 69 6f 6e 22 29 0a 28 64 65 66 69 6e 65 2d  ution").(define-
74f0: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
7500: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 63 6f  cairo-surface-co
7510: 70 79 2d 70 61 67 65 20 28 28 73 75 72 66 61 63  py-page ((surfac
7520: 65 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66 61  e (* cairo-surfa
7530: 63 65 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 73  ce-t))) "cairo_s
7540: 75 72 66 61 63 65 5f 63 6f 70 79 5f 70 61 67 65  urface_copy_page
7550: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
7560: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
7570: 2d 73 75 72 66 61 63 65 2d 73 68 6f 77 2d 70 61  -surface-show-pa
7580: 67 65 20 28 28 73 75 72 66 61 63 65 20 28 2a 20  ge ((surface (* 
7590: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
75a0: 29 29 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63  )) "cairo_surfac
75b0: 65 5f 73 68 6f 77 5f 70 61 67 65 22 29 0a 28 64  e_show_page").(d
75c0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
75d0: 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74 20 63 61   cairo-bool-t ca
75e0: 69 72 6f 2d 73 75 72 66 61 63 65 2d 68 61 73 2d  iro-surface-has-
75f0: 73 68 6f 77 2d 74 65 78 74 2d 67 6c 79 70 68 73  show-text-glyphs
7600: 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61   ((surface (* ca
7610: 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 29  iro-surface-t)))
7620: 20 22 63 61 69 72 6f 5f 73 75 72 66 61 63 65 5f   "cairo_surface_
7630: 68 61 73 5f 73 68 6f 77 5f 74 65 78 74 5f 67 6c  has_show_text_gl
7640: 79 70 68 73 22 29 0a 28 64 65 66 69 6e 65 2d 63  yphs").(define-c
7650: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
7660: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61  ro-surface-t) ca
7670: 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66 61 63  iro-image-surfac
7680: 65 2d 63 72 65 61 74 65 20 28 28 66 6f 72 6d 61  e-create ((forma
7690: 74 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d 74  t cairo-format-t
76a0: 29 20 28 77 69 64 74 68 20 69 6e 74 29 20 28 68  ) (width int) (h
76b0: 65 69 67 68 74 20 69 6e 74 29 29 20 22 63 61 69  eight int)) "cai
76c0: 72 6f 5f 69 6d 61 67 65 5f 73 75 72 66 61 63 65  ro_image_surface
76d0: 5f 63 72 65 61 74 65 22 29 0a 28 64 65 66 69 6e  _create").(defin
76e0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 69 6e 74  e-cairo-func int
76f0: 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d 73 74   cairo-format-st
7700: 72 69 64 65 2d 66 6f 72 2d 77 69 64 74 68 20 28  ride-for-width (
7710: 28 66 6f 72 6d 61 74 20 63 61 69 72 6f 2d 66 6f  (format cairo-fo
7720: 72 6d 61 74 2d 74 29 20 28 77 69 64 74 68 20 69  rmat-t) (width i
7730: 6e 74 29 29 20 22 63 61 69 72 6f 5f 66 6f 72 6d  nt)) "cairo_form
7740: 61 74 5f 73 74 72 69 64 65 5f 66 6f 72 5f 77 69  at_stride_for_wi
7750: 64 74 68 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  dth").(define-ca
7760: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
7770: 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61 69  o-surface-t) cai
7780: 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66 61 63 65  ro-image-surface
7790: 2d 63 72 65 61 74 65 2d 66 6f 72 2d 64 61 74 61  -create-for-data
77a0: 20 28 28 64 61 74 61 20 28 2a 20 75 6e 73 69 67   ((data (* unsig
77b0: 6e 65 64 2d 38 29 29 20 28 66 6f 72 6d 61 74 20  ned-8)) (format 
77c0: 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d 74 29 20  cairo-format-t) 
77d0: 28 77 69 64 74 68 20 69 6e 74 29 20 28 68 65 69  (width int) (hei
77e0: 67 68 74 20 69 6e 74 29 20 28 73 74 72 69 64 65  ght int) (stride
77f0: 20 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 69 6d   int)) "cairo_im
7800: 61 67 65 5f 73 75 72 66 61 63 65 5f 63 72 65 61  age_surface_crea
7810: 74 65 5f 66 6f 72 5f 64 61 74 61 22 29 0a 28 64  te_for_data").(d
7820: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
7830: 20 28 2a 20 75 6e 73 69 67 6e 65 64 2d 38 29 20   (* unsigned-8) 
7840: 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66  cairo-image-surf
7850: 61 63 65 2d 67 65 74 2d 64 61 74 61 20 28 28 73  ace-get-data ((s
7860: 75 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d  urface (* cairo-
7870: 73 75 72 66 61 63 65 2d 74 29 29 29 20 22 63 61  surface-t))) "ca
7880: 69 72 6f 5f 69 6d 61 67 65 5f 73 75 72 66 61 63  iro_image_surfac
7890: 65 5f 67 65 74 5f 64 61 74 61 22 29 0a 28 64 65  e_get_data").(de
78a0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
78b0: 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d 74 20 63  cairo-format-t c
78c0: 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66 61  airo-image-surfa
78d0: 63 65 2d 67 65 74 2d 66 6f 72 6d 61 74 20 28 28  ce-get-format ((
78e0: 73 75 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f  surface (* cairo
78f0: 2d 73 75 72 66 61 63 65 2d 74 29 29 29 20 22 63  -surface-t))) "c
7900: 61 69 72 6f 5f 69 6d 61 67 65 5f 73 75 72 66 61  airo_image_surfa
7910: 63 65 5f 67 65 74 5f 66 6f 72 6d 61 74 22 29 0a  ce_get_format").
7920: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
7930: 6e 63 20 69 6e 74 20 63 61 69 72 6f 2d 69 6d 61  nc int cairo-ima
7940: 67 65 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 77  ge-surface-get-w
7950: 69 64 74 68 20 28 28 73 75 72 66 61 63 65 20 28  idth ((surface (
7960: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
7970: 74 29 29 29 20 22 63 61 69 72 6f 5f 69 6d 61 67  t))) "cairo_imag
7980: 65 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 77 69  e_surface_get_wi
7990: 64 74 68 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  dth").(define-ca
79a0: 69 72 6f 2d 66 75 6e 63 20 69 6e 74 20 63 61 69  iro-func int cai
79b0: 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66 61 63 65  ro-image-surface
79c0: 2d 67 65 74 2d 68 65 69 67 68 74 20 28 28 73 75  -get-height ((su
79d0: 72 66 61 63 65 20 28 2a 20 63 61 69 72 6f 2d 73  rface (* cairo-s
79e0: 75 72 66 61 63 65 2d 74 29 29 29 20 22 63 61 69  urface-t))) "cai
79f0: 72 6f 5f 69 6d 61 67 65 5f 73 75 72 66 61 63 65  ro_image_surface
7a00: 5f 67 65 74 5f 68 65 69 67 68 74 22 29 0a 28 64  _get_height").(d
7a10: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
7a20: 20 69 6e 74 20 63 61 69 72 6f 2d 69 6d 61 67 65   int cairo-image
7a30: 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 73 74 72  -surface-get-str
7a40: 69 64 65 20 28 28 73 75 72 66 61 63 65 20 28 2a  ide ((surface (*
7a50: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74   cairo-surface-t
7a60: 29 29 29 20 22 63 61 69 72 6f 5f 69 6d 61 67 65  ))) "cairo_image
7a70: 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 73 74 72  _surface_get_str
7a80: 69 64 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ide").(define-ca
7a90: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
7aa0: 6f 2d 73 75 72 66 61 63 65 2d 74 29 20 63 61 69  o-surface-t) cai
7ab0: 72 6f 2d 69 6d 61 67 65 2d 73 75 72 66 61 63 65  ro-image-surface
7ac0: 2d 63 72 65 61 74 65 2d 66 72 6f 6d 2d 70 6e 67  -create-from-png
7ad0: 20 28 28 66 69 6c 65 6e 61 6d 65 20 73 74 72 69   ((filename stri
7ae0: 6e 67 29 29 20 22 63 61 69 72 6f 5f 69 6d 61 67  ng)) "cairo_imag
7af0: 65 5f 73 75 72 66 61 63 65 5f 63 72 65 61 74 65  e_surface_create
7b00: 5f 66 72 6f 6d 5f 70 6e 67 22 29 0a 28 64 65 66  _from_png").(def
7b10: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
7b20: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
7b30: 74 29 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73  t) cairo-image-s
7b40: 75 72 66 61 63 65 2d 63 72 65 61 74 65 2d 66 72  urface-create-fr
7b50: 6f 6d 2d 70 6e 67 2d 73 74 72 65 61 6d 20 28 28  om-png-stream ((
7b60: 72 65 61 64 5f 66 75 6e 63 20 28 2a 20 63 61 69  read_func (* cai
7b70: 72 6f 2d 72 65 61 64 2d 66 75 6e 63 2d 74 29 29  ro-read-func-t))
7b80: 20 28 63 6c 6f 73 75 72 65 20 76 6f 69 64 2a 29   (closure void*)
7b90: 29 20 22 63 61 69 72 6f 5f 69 6d 61 67 65 5f 73  ) "cairo_image_s
7ba0: 75 72 66 61 63 65 5f 63 72 65 61 74 65 5f 66 72  urface_create_fr
7bb0: 6f 6d 5f 70 6e 67 5f 73 74 72 65 61 6d 22 29 0a  om_png_stream").
7bc0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
7bd0: 6e 63 20 28 2a 20 63 61 69 72 6f 2d 73 75 72 66  nc (* cairo-surf
7be0: 61 63 65 2d 74 29 20 63 61 69 72 6f 2d 72 65 63  ace-t) cairo-rec
7bf0: 6f 72 64 69 6e 67 2d 73 75 72 66 61 63 65 2d 63  ording-surface-c
7c00: 72 65 61 74 65 20 28 28 63 6f 6e 74 65 6e 74 20  reate ((content 
7c10: 63 61 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 29  cairo-content-t)
7c20: 20 28 65 78 74 65 6e 74 73 20 28 2a 20 63 61 69   (extents (* cai
7c30: 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 74 29 29  ro-rectangle-t))
7c40: 29 20 22 63 61 69 72 6f 5f 72 65 63 6f 72 64 69  ) "cairo_recordi
7c50: 6e 67 5f 73 75 72 66 61 63 65 5f 63 72 65 61 74  ng_surface_creat
7c60: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
7c70: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
7c80: 6f 2d 72 65 63 6f 72 64 69 6e 67 2d 73 75 72 66  o-recording-surf
7c90: 61 63 65 2d 69 6e 6b 2d 65 78 74 65 6e 74 73 20  ace-ink-extents 
7ca0: 28 28 73 75 72 66 61 63 65 20 28 2a 20 63 61 69  ((surface (* cai
7cb0: 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29 20 28  ro-surface-t)) (
7cc0: 78 30 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  x0 (* double)) (
7cd0: 79 30 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  y0 (* double)) (
7ce0: 77 69 64 74 68 20 28 2a 20 64 6f 75 62 6c 65 29  width (* double)
7cf0: 29 20 28 68 65 69 67 68 74 20 28 2a 20 64 6f 75  ) (height (* dou
7d00: 62 6c 65 29 29 29 20 22 63 61 69 72 6f 5f 72 65  ble))) "cairo_re
7d10: 63 6f 72 64 69 6e 67 5f 73 75 72 66 61 63 65 5f  cording_surface_
7d20: 69 6e 6b 5f 65 78 74 65 6e 74 73 22 29 0a 28 64  ink_extents").(d
7d30: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
7d40: 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74 20 63 61   cairo-bool-t ca
7d50: 69 72 6f 2d 72 65 63 6f 72 64 69 6e 67 2d 73 75  iro-recording-su
7d60: 72 66 61 63 65 2d 67 65 74 2d 65 78 74 65 6e 74  rface-get-extent
7d70: 73 20 28 28 73 75 72 66 61 63 65 20 28 2a 20 63  s ((surface (* c
7d80: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29 29  airo-surface-t))
7d90: 20 28 65 78 74 65 6e 74 73 20 28 2a 20 63 61 69   (extents (* cai
7da0: 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 74 29 29  ro-rectangle-t))
7db0: 29 20 22 63 61 69 72 6f 5f 72 65 63 6f 72 64 69  ) "cairo_recordi
7dc0: 6e 67 5f 73 75 72 66 61 63 65 5f 67 65 74 5f 65  ng_surface_get_e
7dd0: 78 74 65 6e 74 73 22 29 0a 28 64 65 66 69 6e 65  xtents").(define
7de0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
7df0: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 20  airo-pattern-t) 
7e00: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72  cairo-pattern-cr
7e10: 65 61 74 65 2d 72 61 73 74 65 72 2d 73 6f 75 72  eate-raster-sour
7e20: 63 65 20 28 28 75 73 65 72 5f 64 61 74 61 20 76  ce ((user_data v
7e30: 6f 69 64 2a 29 20 28 63 6f 6e 74 65 6e 74 20 63  oid*) (content c
7e40: 61 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 29 20  airo-content-t) 
7e50: 28 77 69 64 74 68 20 69 6e 74 29 20 28 68 65 69  (width int) (hei
7e60: 67 68 74 20 69 6e 74 29 29 20 22 63 61 69 72 6f  ght int)) "cairo
7e70: 5f 70 61 74 74 65 72 6e 5f 63 72 65 61 74 65 5f  _pattern_create_
7e80: 72 61 73 74 65 72 5f 73 6f 75 72 63 65 22 29 0a  raster_source").
7e90: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
7ea0: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72 61  nc void cairo-ra
7eb0: 73 74 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 74  ster-source-patt
7ec0: 65 72 6e 2d 73 65 74 2d 63 61 6c 6c 62 61 63 6b  ern-set-callback
7ed0: 2d 64 61 74 61 20 28 28 70 61 74 74 65 72 6e 20  -data ((pattern 
7ee0: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
7ef0: 2d 74 29 29 20 28 64 61 74 61 20 76 6f 69 64 2a  -t)) (data void*
7f00: 29 29 20 22 63 61 69 72 6f 5f 72 61 73 74 65 72  )) "cairo_raster
7f10: 5f 73 6f 75 72 63 65 5f 70 61 74 74 65 72 6e 5f  _source_pattern_
7f20: 73 65 74 5f 63 61 6c 6c 62 61 63 6b 5f 64 61 74  set_callback_dat
7f30: 61 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  a").(define-cair
7f40: 6f 2d 66 75 6e 63 20 76 6f 69 64 2a 20 63 61 69  o-func void* cai
7f50: 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65  ro-raster-source
7f60: 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 63 61 6c  -pattern-get-cal
7f70: 6c 62 61 63 6b 2d 64 61 74 61 20 28 28 70 61 74  lback-data ((pat
7f80: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
7f90: 74 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69 72  ttern-t))) "cair
7fa0: 6f 5f 72 61 73 74 65 72 5f 73 6f 75 72 63 65 5f  o_raster_source_
7fb0: 70 61 74 74 65 72 6e 5f 67 65 74 5f 63 61 6c 6c  pattern_get_call
7fc0: 62 61 63 6b 5f 64 61 74 61 22 29 0a 28 64 65 66  back_data").(def
7fd0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
7fe0: 6f 69 64 20 63 61 69 72 6f 2d 72 61 73 74 65 72  oid cairo-raster
7ff0: 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d  -source-pattern-
8000: 73 65 74 2d 61 63 71 75 69 72 65 20 28 28 70 61  set-acquire ((pa
8010: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
8020: 61 74 74 65 72 6e 2d 74 29 29 20 28 61 63 71 75  attern-t)) (acqu
8030: 69 72 65 20 28 2a 20 63 61 69 72 6f 2d 72 61 73  ire (* cairo-ras
8040: 74 65 72 2d 73 6f 75 72 63 65 2d 61 63 71 75 69  ter-source-acqui
8050: 72 65 2d 66 75 6e 63 2d 74 29 29 20 28 72 65 6c  re-func-t)) (rel
8060: 65 61 73 65 20 28 2a 20 63 61 69 72 6f 2d 72 61  ease (* cairo-ra
8070: 73 74 65 72 2d 73 6f 75 72 63 65 2d 72 65 6c 65  ster-source-rele
8080: 61 73 65 2d 66 75 6e 63 2d 74 29 29 29 20 22 63  ase-func-t))) "c
8090: 61 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f 75 72  airo_raster_sour
80a0: 63 65 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f 61  ce_pattern_set_a
80b0: 63 71 75 69 72 65 22 29 0a 28 64 65 66 69 6e 65  cquire").(define
80c0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
80d0: 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f   cairo-raster-so
80e0: 75 72 63 65 2d 70 61 74 74 65 72 6e 2d 67 65 74  urce-pattern-get
80f0: 2d 61 63 71 75 69 72 65 20 28 28 70 61 74 74 65  -acquire ((patte
8100: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
8110: 65 72 6e 2d 74 29 29 20 28 61 63 71 75 69 72 65  ern-t)) (acquire
8120: 20 28 2a 20 63 61 69 72 6f 2d 72 61 73 74 65 72   (* cairo-raster
8130: 2d 73 6f 75 72 63 65 2d 61 63 71 75 69 72 65 2d  -source-acquire-
8140: 66 75 6e 63 2d 74 29 29 20 28 72 65 6c 65 61 73  func-t)) (releas
8150: 65 20 28 2a 20 63 61 69 72 6f 2d 72 61 73 74 65  e (* cairo-raste
8160: 72 2d 73 6f 75 72 63 65 2d 72 65 6c 65 61 73 65  r-source-release
8170: 2d 66 75 6e 63 2d 74 29 29 29 20 22 63 61 69 72  -func-t))) "cair
8180: 6f 5f 72 61 73 74 65 72 5f 73 6f 75 72 63 65 5f  o_raster_source_
8190: 70 61 74 74 65 72 6e 5f 67 65 74 5f 61 63 71 75  pattern_get_acqu
81a0: 69 72 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ire").(define-ca
81b0: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
81c0: 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63  iro-raster-sourc
81d0: 65 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 73 6e  e-pattern-set-sn
81e0: 61 70 73 68 6f 74 20 28 28 70 61 74 74 65 72 6e  apshot ((pattern
81f0: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
8200: 6e 2d 74 29 29 20 28 73 6e 61 70 73 68 6f 74 20  n-t)) (snapshot 
8210: 28 2a 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d  (* cairo-raster-
8220: 73 6f 75 72 63 65 2d 73 6e 61 70 73 68 6f 74 2d  source-snapshot-
8230: 66 75 6e 63 2d 74 29 29 29 20 22 63 61 69 72 6f  func-t))) "cairo
8240: 5f 72 61 73 74 65 72 5f 73 6f 75 72 63 65 5f 70  _raster_source_p
8250: 61 74 74 65 72 6e 5f 73 65 74 5f 73 6e 61 70 73  attern_set_snaps
8260: 68 6f 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  hot").(define-ca
8270: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
8280: 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d  o-raster-source-
8290: 73 6e 61 70 73 68 6f 74 2d 66 75 6e 63 2d 74 29  snapshot-func-t)
82a0: 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f   cairo-raster-so
82b0: 75 72 63 65 2d 70 61 74 74 65 72 6e 2d 67 65 74  urce-pattern-get
82c0: 2d 73 6e 61 70 73 68 6f 74 20 28 28 70 61 74 74  -snapshot ((patt
82d0: 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74  ern (* cairo-pat
82e0: 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69 72 6f  tern-t))) "cairo
82f0: 5f 72 61 73 74 65 72 5f 73 6f 75 72 63 65 5f 70  _raster_source_p
8300: 61 74 74 65 72 6e 5f 67 65 74 5f 73 6e 61 70 73  attern_get_snaps
8310: 68 6f 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  hot").(define-ca
8320: 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61  iro-func void ca
8330: 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63  iro-raster-sourc
8340: 65 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 63 6f  e-pattern-set-co
8350: 70 79 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20  py ((pattern (* 
8360: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29  cairo-pattern-t)
8370: 29 20 28 63 6f 70 79 20 28 2a 20 63 61 69 72 6f  ) (copy (* cairo
8380: 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 63  -raster-source-c
8390: 6f 70 79 2d 66 75 6e 63 2d 74 29 29 29 20 22 63  opy-func-t))) "c
83a0: 61 69 72 6f 5f 72 61 73 74 65 72 5f 73 6f 75 72  airo_raster_sour
83b0: 63 65 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f 63  ce_pattern_set_c
83c0: 6f 70 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  opy").(define-ca
83d0: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
83e0: 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d  o-raster-source-
83f0: 63 6f 70 79 2d 66 75 6e 63 2d 74 29 20 63 61 69  copy-func-t) cai
8400: 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65  ro-raster-source
8410: 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 63 6f 70  -pattern-get-cop
8420: 79 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63  y ((pattern (* c
8430: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29  airo-pattern-t))
8440: 29 20 22 63 61 69 72 6f 5f 72 61 73 74 65 72 5f  ) "cairo_raster_
8450: 73 6f 75 72 63 65 5f 70 61 74 74 65 72 6e 5f 67  source_pattern_g
8460: 65 74 5f 63 6f 70 79 22 29 0a 28 64 65 66 69 6e  et_copy").(defin
8470: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
8480: 64 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d 73  d cairo-raster-s
8490: 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d 73 65  ource-pattern-se
84a0: 74 2d 66 69 6e 69 73 68 20 28 28 70 61 74 74 65  t-finish ((patte
84b0: 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74  rn (* cairo-patt
84c0: 65 72 6e 2d 74 29 29 20 28 66 69 6e 69 73 68 20  ern-t)) (finish 
84d0: 28 2a 20 63 61 69 72 6f 2d 72 61 73 74 65 72 2d  (* cairo-raster-
84e0: 73 6f 75 72 63 65 2d 66 69 6e 69 73 68 2d 66 75  source-finish-fu
84f0: 6e 63 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72  nc-t))) "cairo_r
8500: 61 73 74 65 72 5f 73 6f 75 72 63 65 5f 70 61 74  aster_source_pat
8510: 74 65 72 6e 5f 73 65 74 5f 66 69 6e 69 73 68 22  tern_set_finish"
8520: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
8530: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 72 61  func (* cairo-ra
8540: 73 74 65 72 2d 73 6f 75 72 63 65 2d 66 69 6e 69  ster-source-fini
8550: 73 68 2d 66 75 6e 63 2d 74 29 20 63 61 69 72 6f  sh-func-t) cairo
8560: 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 70  -raster-source-p
8570: 61 74 74 65 72 6e 2d 67 65 74 2d 66 69 6e 69 73  attern-get-finis
8580: 68 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63  h ((pattern (* c
8590: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29  airo-pattern-t))
85a0: 29 20 22 63 61 69 72 6f 5f 72 61 73 74 65 72 5f  ) "cairo_raster_
85b0: 73 6f 75 72 63 65 5f 70 61 74 74 65 72 6e 5f 67  source_pattern_g
85c0: 65 74 5f 66 69 6e 69 73 68 22 29 0a 28 64 65 66  et_finish").(def
85d0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28  ine-cairo-func (
85e0: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
85f0: 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  t) cairo-pattern
8600: 2d 63 72 65 61 74 65 2d 72 67 62 20 28 28 72 65  -create-rgb ((re
8610: 64 20 64 6f 75 62 6c 65 29 20 28 67 72 65 65 6e  d double) (green
8620: 20 64 6f 75 62 6c 65 29 20 28 62 6c 75 65 20 64   double) (blue d
8630: 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 70  ouble)) "cairo_p
8640: 61 74 74 65 72 6e 5f 63 72 65 61 74 65 5f 72 67  attern_create_rg
8650: 62 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  b").(define-cair
8660: 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d  o-func (* cairo-
8670: 70 61 74 74 65 72 6e 2d 74 29 20 63 61 69 72 6f  pattern-t) cairo
8680: 2d 70 61 74 74 65 72 6e 2d 63 72 65 61 74 65 2d  -pattern-create-
8690: 72 67 62 61 20 28 28 72 65 64 20 64 6f 75 62 6c  rgba ((red doubl
86a0: 65 29 20 28 67 72 65 65 6e 20 64 6f 75 62 6c 65  e) (green double
86b0: 29 20 28 62 6c 75 65 20 64 6f 75 62 6c 65 29 20  ) (blue double) 
86c0: 28 61 6c 70 68 61 20 64 6f 75 62 6c 65 29 29 20  (alpha double)) 
86d0: 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 63  "cairo_pattern_c
86e0: 72 65 61 74 65 5f 72 67 62 61 22 29 0a 28 64 65  reate_rgba").(de
86f0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
8700: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
8710: 2d 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65 72  -t) cairo-patter
8720: 6e 2d 63 72 65 61 74 65 2d 66 6f 72 2d 73 75 72  n-create-for-sur
8730: 66 61 63 65 20 28 28 73 75 72 66 61 63 65 20 28  face ((surface (
8740: 2a 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d  * cairo-surface-
8750: 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  t))) "cairo_patt
8760: 65 72 6e 5f 63 72 65 61 74 65 5f 66 6f 72 5f 73  ern_create_for_s
8770: 75 72 66 61 63 65 22 29 0a 28 64 65 66 69 6e 65  urface").(define
8780: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
8790: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 20  airo-pattern-t) 
87a0: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72  cairo-pattern-cr
87b0: 65 61 74 65 2d 6c 69 6e 65 61 72 20 28 28 78 30  eate-linear ((x0
87c0: 20 64 6f 75 62 6c 65 29 20 28 79 30 20 64 6f 75   double) (y0 dou
87d0: 62 6c 65 29 20 28 78 31 20 64 6f 75 62 6c 65 29  ble) (x1 double)
87e0: 20 28 79 31 20 64 6f 75 62 6c 65 29 29 20 22 63   (y1 double)) "c
87f0: 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 63 72 65  airo_pattern_cre
8800: 61 74 65 5f 6c 69 6e 65 61 72 22 29 0a 28 64 65  ate_linear").(de
8810: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
8820: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
8830: 2d 74 29 20 63 61 69 72 6f 2d 70 61 74 74 65 72  -t) cairo-patter
8840: 6e 2d 63 72 65 61 74 65 2d 72 61 64 69 61 6c 20  n-create-radial 
8850: 28 28 63 78 30 20 64 6f 75 62 6c 65 29 20 28 63  ((cx0 double) (c
8860: 79 30 20 64 6f 75 62 6c 65 29 20 28 72 61 64 69  y0 double) (radi
8870: 75 73 30 20 64 6f 75 62 6c 65 29 20 28 63 78 31  us0 double) (cx1
8880: 20 64 6f 75 62 6c 65 29 20 28 63 79 31 20 64 6f   double) (cy1 do
8890: 75 62 6c 65 29 20 28 72 61 64 69 75 73 31 20 64  uble) (radius1 d
88a0: 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 70  ouble)) "cairo_p
88b0: 61 74 74 65 72 6e 5f 63 72 65 61 74 65 5f 72 61  attern_create_ra
88c0: 64 69 61 6c 22 29 0a 28 64 65 66 69 6e 65 2d 63  dial").(define-c
88d0: 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69  airo-func (* cai
88e0: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 20 63 61  ro-pattern-t) ca
88f0: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72 65 61  iro-pattern-crea
8900: 74 65 2d 6d 65 73 68 20 28 29 20 22 63 61 69 72  te-mesh () "cair
8910: 6f 5f 70 61 74 74 65 72 6e 5f 63 72 65 61 74 65  o_pattern_create
8920: 5f 6d 65 73 68 22 29 0a 28 64 65 66 69 6e 65 2d  _mesh").(define-
8930: 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61  cairo-func (* ca
8940: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 20 63  iro-pattern-t) c
8950: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 72 65 66  airo-pattern-ref
8960: 65 72 65 6e 63 65 20 28 28 70 61 74 74 65 72 6e  erence ((pattern
8970: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
8980: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61  n-t))) "cairo_pa
8990: 74 74 65 72 6e 5f 72 65 66 65 72 65 6e 63 65 22  ttern_reference"
89a0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
89b0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
89c0: 70 61 74 74 65 72 6e 2d 64 65 73 74 72 6f 79 20  pattern-destroy 
89d0: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
89e0: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 29 20  ro-pattern-t))) 
89f0: 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 64  "cairo_pattern_d
8a00: 65 73 74 72 6f 79 22 29 0a 28 64 65 66 69 6e 65  estroy").(define
8a10: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 75 6e 73 69  -cairo-func unsi
8a20: 67 6e 65 64 2d 69 6e 74 20 63 61 69 72 6f 2d 70  gned-int cairo-p
8a30: 61 74 74 65 72 6e 2d 67 65 74 2d 72 65 66 65 72  attern-get-refer
8a40: 65 6e 63 65 2d 63 6f 75 6e 74 20 28 28 70 61 74  ence-count ((pat
8a50: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
8a60: 74 74 65 72 6e 2d 74 29 29 29 20 22 63 61 69 72  ttern-t))) "cair
8a70: 6f 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 72 65  o_pattern_get_re
8a80: 66 65 72 65 6e 63 65 5f 63 6f 75 6e 74 22 29 0a  ference_count").
8a90: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
8aa0: 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d  nc cairo-status-
8ab0: 74 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  t cairo-pattern-
8ac0: 73 74 61 74 75 73 20 28 28 70 61 74 74 65 72 6e  status ((pattern
8ad0: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
8ae0: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61  n-t))) "cairo_pa
8af0: 74 74 65 72 6e 5f 73 74 61 74 75 73 22 29 0a 28  ttern_status").(
8b00: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
8b10: 63 20 76 6f 69 64 2a 20 63 61 69 72 6f 2d 70 61  c void* cairo-pa
8b20: 74 74 65 72 6e 2d 67 65 74 2d 75 73 65 72 2d 64  ttern-get-user-d
8b30: 61 74 61 20 28 28 70 61 74 74 65 72 6e 20 28 2a  ata ((pattern (*
8b40: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74   cairo-pattern-t
8b50: 29 29 20 28 6b 65 79 20 28 2a 20 63 61 69 72 6f  )) (key (* cairo
8b60: 2d 75 73 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74  -user-data-key-t
8b70: 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65  ))) "cairo_patte
8b80: 72 6e 5f 67 65 74 5f 75 73 65 72 5f 64 61 74 61  rn_get_user_data
8b90: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
8ba0: 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74  -func cairo-stat
8bb0: 75 73 2d 74 20 63 61 69 72 6f 2d 70 61 74 74 65  us-t cairo-patte
8bc0: 72 6e 2d 73 65 74 2d 75 73 65 72 2d 64 61 74 61  rn-set-user-data
8bd0: 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61   ((pattern (* ca
8be0: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20  iro-pattern-t)) 
8bf0: 28 6b 65 79 20 28 2a 20 63 61 69 72 6f 2d 75 73  (key (* cairo-us
8c00: 65 72 2d 64 61 74 61 2d 6b 65 79 2d 74 29 29 20  er-data-key-t)) 
8c10: 28 75 73 65 72 5f 64 61 74 61 20 76 6f 69 64 2a  (user_data void*
8c20: 29 20 28 64 65 73 74 72 6f 79 20 63 61 69 72 6f  ) (destroy cairo
8c30: 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63 2d 74 29  -destroy-func-t)
8c40: 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e  ) "cairo_pattern
8c50: 5f 73 65 74 5f 75 73 65 72 5f 64 61 74 61 22 29  _set_user_data")
8c60: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
8c70: 75 6e 63 20 63 61 69 72 6f 2d 70 61 74 74 65 72  unc cairo-patter
8c80: 6e 2d 74 79 70 65 2d 74 20 63 61 69 72 6f 2d 70  n-type-t cairo-p
8c90: 61 74 74 65 72 6e 2d 67 65 74 2d 74 79 70 65 20  attern-get-type 
8ca0: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
8cb0: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 29 20  ro-pattern-t))) 
8cc0: 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67  "cairo_pattern_g
8cd0: 65 74 5f 74 79 70 65 22 29 0a 28 64 65 66 69 6e  et_type").(defin
8ce0: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69  e-cairo-func voi
8cf0: 64 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  d cairo-pattern-
8d00: 61 64 64 2d 63 6f 6c 6f 72 2d 73 74 6f 70 2d 72  add-color-stop-r
8d10: 67 62 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20  gb ((pattern (* 
8d20: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29  cairo-pattern-t)
8d30: 29 20 28 6f 66 66 73 65 74 20 64 6f 75 62 6c 65  ) (offset double
8d40: 29 20 28 72 65 64 20 64 6f 75 62 6c 65 29 20 28  ) (red double) (
8d50: 67 72 65 65 6e 20 64 6f 75 62 6c 65 29 20 28 62  green double) (b
8d60: 6c 75 65 20 64 6f 75 62 6c 65 29 29 20 22 63 61  lue double)) "ca
8d70: 69 72 6f 5f 70 61 74 74 65 72 6e 5f 61 64 64 5f  iro_pattern_add_
8d80: 63 6f 6c 6f 72 5f 73 74 6f 70 5f 72 67 62 22 29  color_stop_rgb")
8d90: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
8da0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 70  unc void cairo-p
8db0: 61 74 74 65 72 6e 2d 61 64 64 2d 63 6f 6c 6f 72  attern-add-color
8dc0: 2d 73 74 6f 70 2d 72 67 62 61 20 28 28 70 61 74  -stop-rgba ((pat
8dd0: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
8de0: 74 74 65 72 6e 2d 74 29 29 20 28 6f 66 66 73 65  ttern-t)) (offse
8df0: 74 20 64 6f 75 62 6c 65 29 20 28 72 65 64 20 64  t double) (red d
8e00: 6f 75 62 6c 65 29 20 28 67 72 65 65 6e 20 64 6f  ouble) (green do
8e10: 75 62 6c 65 29 20 28 62 6c 75 65 20 64 6f 75 62  uble) (blue doub
8e20: 6c 65 29 20 28 61 6c 70 68 61 20 64 6f 75 62 6c  le) (alpha doubl
8e30: 65 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65  e)) "cairo_patte
8e40: 72 6e 5f 61 64 64 5f 63 6f 6c 6f 72 5f 73 74 6f  rn_add_color_sto
8e50: 70 5f 72 67 62 61 22 29 0a 28 64 65 66 69 6e 65  p_rgba").(define
8e60: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
8e70: 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74   cairo-mesh-patt
8e80: 65 72 6e 2d 62 65 67 69 6e 2d 70 61 74 63 68 20  ern-begin-patch 
8e90: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
8ea0: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 29 20  ro-pattern-t))) 
8eb0: 22 63 61 69 72 6f 5f 6d 65 73 68 5f 70 61 74 74  "cairo_mesh_patt
8ec0: 65 72 6e 5f 62 65 67 69 6e 5f 70 61 74 63 68 22  ern_begin_patch"
8ed0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
8ee0: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
8ef0: 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d 65 6e 64  mesh-pattern-end
8f00: 2d 70 61 74 63 68 20 28 28 70 61 74 74 65 72 6e  -patch ((pattern
8f10: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
8f20: 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 6d 65  n-t))) "cairo_me
8f30: 73 68 5f 70 61 74 74 65 72 6e 5f 65 6e 64 5f 70  sh_pattern_end_p
8f40: 61 74 63 68 22 29 0a 28 64 65 66 69 6e 65 2d 63  atch").(define-c
8f50: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
8f60: 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72  airo-mesh-patter
8f70: 6e 2d 63 75 72 76 65 2d 74 6f 20 28 28 70 61 74  n-curve-to ((pat
8f80: 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70 61  tern (* cairo-pa
8f90: 74 74 65 72 6e 2d 74 29 29 20 28 78 31 20 64 6f  ttern-t)) (x1 do
8fa0: 75 62 6c 65 29 20 28 79 31 20 64 6f 75 62 6c 65  uble) (y1 double
8fb0: 29 20 28 78 32 20 64 6f 75 62 6c 65 29 20 28 79  ) (x2 double) (y
8fc0: 32 20 64 6f 75 62 6c 65 29 20 28 78 33 20 64 6f  2 double) (x3 do
8fd0: 75 62 6c 65 29 20 28 79 33 20 64 6f 75 62 6c 65  uble) (y3 double
8fe0: 29 29 20 22 63 61 69 72 6f 5f 6d 65 73 68 5f 70  )) "cairo_mesh_p
8ff0: 61 74 74 65 72 6e 5f 63 75 72 76 65 5f 74 6f 22  attern_curve_to"
9000: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
9010: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
9020: 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d 6c 69 6e  mesh-pattern-lin
9030: 65 2d 74 6f 20 28 28 70 61 74 74 65 72 6e 20 28  e-to ((pattern (
9040: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
9050: 74 29 29 20 28 78 20 64 6f 75 62 6c 65 29 20 28  t)) (x double) (
9060: 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72  y double)) "cair
9070: 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e 5f 6c  o_mesh_pattern_l
9080: 69 6e 65 5f 74 6f 22 29 0a 28 64 65 66 69 6e 65  ine_to").(define
9090: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64  -cairo-func void
90a0: 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74   cairo-mesh-patt
90b0: 65 72 6e 2d 6d 6f 76 65 2d 74 6f 20 28 28 70 61  ern-move-to ((pa
90c0: 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d 70  ttern (* cairo-p
90d0: 61 74 74 65 72 6e 2d 74 29 29 20 28 78 20 64 6f  attern-t)) (x do
90e0: 75 62 6c 65 29 20 28 79 20 64 6f 75 62 6c 65 29  uble) (y double)
90f0: 29 20 22 63 61 69 72 6f 5f 6d 65 73 68 5f 70 61  ) "cairo_mesh_pa
9100: 74 74 65 72 6e 5f 6d 6f 76 65 5f 74 6f 22 29 0a  ttern_move_to").
9110: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
9120: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d 65  nc void cairo-me
9130: 73 68 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 63  sh-pattern-set-c
9140: 6f 6e 74 72 6f 6c 2d 70 6f 69 6e 74 20 28 28 70  ontrol-point ((p
9150: 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d  attern (* cairo-
9160: 70 61 74 74 65 72 6e 2d 74 29 29 20 28 70 6f 69  pattern-t)) (poi
9170: 6e 74 5f 6e 75 6d 20 75 6e 73 69 67 6e 65 64 2d  nt_num unsigned-
9180: 69 6e 74 29 20 28 78 20 64 6f 75 62 6c 65 29 20  int) (x double) 
9190: 28 79 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69  (y double)) "cai
91a0: 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e 5f  ro_mesh_pattern_
91b0: 73 65 74 5f 63 6f 6e 74 72 6f 6c 5f 70 6f 69 6e  set_control_poin
91c0: 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  t").(define-cair
91d0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
91e0: 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d 73  o-mesh-pattern-s
91f0: 65 74 2d 63 6f 72 6e 65 72 2d 63 6f 6c 6f 72 2d  et-corner-color-
9200: 72 67 62 20 28 28 70 61 74 74 65 72 6e 20 28 2a  rgb ((pattern (*
9210: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74   cairo-pattern-t
9220: 29 29 20 28 63 6f 72 6e 65 72 5f 6e 75 6d 20 75  )) (corner_num u
9230: 6e 73 69 67 6e 65 64 2d 69 6e 74 29 20 28 72 65  nsigned-int) (re
9240: 64 20 64 6f 75 62 6c 65 29 20 28 67 72 65 65 6e  d double) (green
9250: 20 64 6f 75 62 6c 65 29 20 28 62 6c 75 65 20 64   double) (blue d
9260: 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d  ouble)) "cairo_m
9270: 65 73 68 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f  esh_pattern_set_
9280: 63 6f 72 6e 65 72 5f 63 6f 6c 6f 72 5f 72 67 62  corner_color_rgb
9290: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
92a0: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
92b0: 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d 73 65  -mesh-pattern-se
92c0: 74 2d 63 6f 72 6e 65 72 2d 63 6f 6c 6f 72 2d 72  t-corner-color-r
92d0: 67 62 61 20 28 28 70 61 74 74 65 72 6e 20 28 2a  gba ((pattern (*
92e0: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74   cairo-pattern-t
92f0: 29 29 20 28 63 6f 72 6e 65 72 5f 6e 75 6d 20 75  )) (corner_num u
9300: 6e 73 69 67 6e 65 64 2d 69 6e 74 29 20 28 72 65  nsigned-int) (re
9310: 64 20 64 6f 75 62 6c 65 29 20 28 67 72 65 65 6e  d double) (green
9320: 20 64 6f 75 62 6c 65 29 20 28 62 6c 75 65 20 64   double) (blue d
9330: 6f 75 62 6c 65 29 20 28 61 6c 70 68 61 20 64 6f  ouble) (alpha do
9340: 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 65  uble)) "cairo_me
9350: 73 68 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f 63  sh_pattern_set_c
9360: 6f 72 6e 65 72 5f 63 6f 6c 6f 72 5f 72 67 62 61  orner_color_rgba
9370: 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f  ").(define-cairo
9380: 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f  -func void cairo
9390: 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 6d 61 74  -pattern-set-mat
93a0: 72 69 78 20 28 28 70 61 74 74 65 72 6e 20 28 2a  rix ((pattern (*
93b0: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74   cairo-pattern-t
93c0: 29 29 20 28 6d 61 74 72 69 78 20 28 2a 20 63 61  )) (matrix (* ca
93d0: 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29 29 20  iro-matrix-t))) 
93e0: 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 73  "cairo_pattern_s
93f0: 65 74 5f 6d 61 74 72 69 78 22 29 0a 28 64 65 66  et_matrix").(def
9400: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
9410: 6f 69 64 20 63 61 69 72 6f 2d 70 61 74 74 65 72  oid cairo-patter
9420: 6e 2d 67 65 74 2d 6d 61 74 72 69 78 20 28 28 70  n-get-matrix ((p
9430: 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d  attern (* cairo-
9440: 70 61 74 74 65 72 6e 2d 74 29 29 20 28 6d 61 74  pattern-t)) (mat
9450: 72 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74  rix (* cairo-mat
9460: 72 69 78 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  rix-t))) "cairo_
9470: 70 61 74 74 65 72 6e 5f 67 65 74 5f 6d 61 74 72  pattern_get_matr
9480: 69 78 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  ix").(define-cai
9490: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
94a0: 72 6f 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 65  ro-pattern-set-e
94b0: 78 74 65 6e 64 20 28 28 70 61 74 74 65 72 6e 20  xtend ((pattern 
94c0: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
94d0: 2d 74 29 29 20 28 65 78 74 65 6e 64 20 63 61 69  -t)) (extend cai
94e0: 72 6f 2d 65 78 74 65 6e 64 2d 74 29 29 20 22 63  ro-extend-t)) "c
94f0: 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 73 65 74  airo_pattern_set
9500: 5f 65 78 74 65 6e 64 22 29 0a 28 64 65 66 69 6e  _extend").(defin
9510: 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69  e-cairo-func cai
9520: 72 6f 2d 65 78 74 65 6e 64 2d 74 20 63 61 69 72  ro-extend-t cair
9530: 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 65 78  o-pattern-get-ex
9540: 74 65 6e 64 20 28 28 70 61 74 74 65 72 6e 20 28  tend ((pattern (
9550: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
9560: 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  t))) "cairo_patt
9570: 65 72 6e 5f 67 65 74 5f 65 78 74 65 6e 64 22 29  ern_get_extend")
9580: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
9590: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 70  unc void cairo-p
95a0: 61 74 74 65 72 6e 2d 73 65 74 2d 66 69 6c 74 65  attern-set-filte
95b0: 72 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63  r ((pattern (* c
95c0: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29  airo-pattern-t))
95d0: 20 28 66 69 6c 74 65 72 20 63 61 69 72 6f 2d 66   (filter cairo-f
95e0: 69 6c 74 65 72 2d 74 29 29 20 22 63 61 69 72 6f  ilter-t)) "cairo
95f0: 5f 70 61 74 74 65 72 6e 5f 73 65 74 5f 66 69 6c  _pattern_set_fil
9600: 74 65 72 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ter").(define-ca
9610: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 66  iro-func cairo-f
9620: 69 6c 74 65 72 2d 74 20 63 61 69 72 6f 2d 70 61  ilter-t cairo-pa
9630: 74 74 65 72 6e 2d 67 65 74 2d 66 69 6c 74 65 72  ttern-get-filter
9640: 20 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61   ((pattern (* ca
9650: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 29  iro-pattern-t)))
9660: 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f   "cairo_pattern_
9670: 67 65 74 5f 66 69 6c 74 65 72 22 29 0a 28 64 65  get_filter").(de
9680: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
9690: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63  cairo-status-t c
96a0: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74  airo-pattern-get
96b0: 2d 72 67 62 61 20 28 28 70 61 74 74 65 72 6e 20  -rgba ((pattern 
96c0: 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e  (* cairo-pattern
96d0: 2d 74 29 29 20 28 72 65 64 20 28 2a 20 64 6f 75  -t)) (red (* dou
96e0: 62 6c 65 29 29 20 28 67 72 65 65 6e 20 28 2a 20  ble)) (green (* 
96f0: 64 6f 75 62 6c 65 29 29 20 28 62 6c 75 65 20 28  double)) (blue (
9700: 2a 20 64 6f 75 62 6c 65 29 29 20 28 61 6c 70 68  * double)) (alph
9710: 61 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22  a (* double))) "
9720: 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67 65  cairo_pattern_ge
9730: 74 5f 72 67 62 61 22 29 0a 28 64 65 66 69 6e 65  t_rgba").(define
9740: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72  -cairo-func cair
9750: 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f  o-status-t cairo
9760: 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 73 75 72  -pattern-get-sur
9770: 66 61 63 65 20 28 28 70 61 74 74 65 72 6e 20 28  face ((pattern (
9780: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
9790: 74 29 29 20 28 73 75 72 66 61 63 65 20 28 2a 20  t)) (surface (* 
97a0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 29  cairo-surface-t)
97b0: 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74 65 72  )) "cairo_patter
97c0: 6e 5f 67 65 74 5f 73 75 72 66 61 63 65 22 29 0a  n_get_surface").
97d0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
97e0: 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d  nc cairo-status-
97f0: 74 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  t cairo-pattern-
9800: 67 65 74 2d 63 6f 6c 6f 72 2d 73 74 6f 70 2d 72  get-color-stop-r
9810: 67 62 61 20 28 28 70 61 74 74 65 72 6e 20 28 2a  gba ((pattern (*
9820: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74   cairo-pattern-t
9830: 29 29 20 28 69 6e 64 65 78 20 69 6e 74 29 20 28  )) (index int) (
9840: 6f 66 66 73 65 74 20 28 2a 20 64 6f 75 62 6c 65  offset (* double
9850: 29 29 20 28 72 65 64 20 28 2a 20 64 6f 75 62 6c  )) (red (* doubl
9860: 65 29 29 20 28 67 72 65 65 6e 20 28 2a 20 64 6f  e)) (green (* do
9870: 75 62 6c 65 29 29 20 28 62 6c 75 65 20 28 2a 20  uble)) (blue (* 
9880: 64 6f 75 62 6c 65 29 29 20 28 61 6c 70 68 61 20  double)) (alpha 
9890: 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61  (* double))) "ca
98a0: 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f  iro_pattern_get_
98b0: 63 6f 6c 6f 72 5f 73 74 6f 70 5f 72 67 62 61 22  color_stop_rgba"
98c0: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
98d0: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
98e0: 73 2d 74 20 63 61 69 72 6f 2d 70 61 74 74 65 72  s-t cairo-patter
98f0: 6e 2d 67 65 74 2d 63 6f 6c 6f 72 2d 73 74 6f 70  n-get-color-stop
9900: 2d 63 6f 75 6e 74 20 28 28 70 61 74 74 65 72 6e  -count ((pattern
9910: 20 28 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72   (* cairo-patter
9920: 6e 2d 74 29 29 20 28 63 6f 75 6e 74 20 28 2a 20  n-t)) (count (* 
9930: 69 6e 74 29 29 29 20 22 63 61 69 72 6f 5f 70 61  int))) "cairo_pa
9940: 74 74 65 72 6e 5f 67 65 74 5f 63 6f 6c 6f 72 5f  ttern_get_color_
9950: 73 74 6f 70 5f 63 6f 75 6e 74 22 29 0a 28 64 65  stop_count").(de
9960: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
9970: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63  cairo-status-t c
9980: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74  airo-pattern-get
9990: 2d 6c 69 6e 65 61 72 2d 70 6f 69 6e 74 73 20 28  -linear-points (
99a0: 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72  (pattern (* cair
99b0: 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28 78  o-pattern-t)) (x
99c0: 30 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 79  0 (* double)) (y
99d0: 30 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 78  0 (* double)) (x
99e0: 31 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 79  1 (* double)) (y
99f0: 31 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22  1 (* double))) "
9a00: 63 61 69 72 6f 5f 70 61 74 74 65 72 6e 5f 67 65  cairo_pattern_ge
9a10: 74 5f 6c 69 6e 65 61 72 5f 70 6f 69 6e 74 73 22  t_linear_points"
9a20: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
9a30: 66 75 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75  func cairo-statu
9a40: 73 2d 74 20 63 61 69 72 6f 2d 70 61 74 74 65 72  s-t cairo-patter
9a50: 6e 2d 67 65 74 2d 72 61 64 69 61 6c 2d 63 69 72  n-get-radial-cir
9a60: 63 6c 65 73 20 28 28 70 61 74 74 65 72 6e 20 28  cles ((pattern (
9a70: 2a 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d  * cairo-pattern-
9a80: 74 29 29 20 28 78 30 20 28 2a 20 64 6f 75 62 6c  t)) (x0 (* doubl
9a90: 65 29 29 20 28 79 30 20 28 2a 20 64 6f 75 62 6c  e)) (y0 (* doubl
9aa0: 65 29 29 20 28 72 30 20 28 2a 20 64 6f 75 62 6c  e)) (r0 (* doubl
9ab0: 65 29 29 20 28 78 31 20 28 2a 20 64 6f 75 62 6c  e)) (x1 (* doubl
9ac0: 65 29 29 20 28 79 31 20 28 2a 20 64 6f 75 62 6c  e)) (y1 (* doubl
9ad0: 65 29 29 20 28 72 31 20 28 2a 20 64 6f 75 62 6c  e)) (r1 (* doubl
9ae0: 65 29 29 29 20 22 63 61 69 72 6f 5f 70 61 74 74  e))) "cairo_patt
9af0: 65 72 6e 5f 67 65 74 5f 72 61 64 69 61 6c 5f 63  ern_get_radial_c
9b00: 69 72 63 6c 65 73 22 29 0a 28 64 65 66 69 6e 65  ircles").(define
9b10: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72  -cairo-func cair
9b20: 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f  o-status-t cairo
9b30: 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d 67 65  -mesh-pattern-ge
9b40: 74 2d 70 61 74 63 68 2d 63 6f 75 6e 74 20 28 28  t-patch-count ((
9b50: 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f  pattern (* cairo
9b60: 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28 63 6f  -pattern-t)) (co
9b70: 75 6e 74 20 28 2a 20 75 6e 73 69 67 6e 65 64 2d  unt (* unsigned-
9b80: 69 6e 74 29 29 29 20 22 63 61 69 72 6f 5f 6d 65  int))) "cairo_me
9b90: 73 68 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 70  sh_pattern_get_p
9ba0: 61 74 63 68 5f 63 6f 75 6e 74 22 29 0a 28 64 65  atch_count").(de
9bb0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
9bc0: 28 2a 20 63 61 69 72 6f 2d 70 61 74 68 2d 74 29  (* cairo-path-t)
9bd0: 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74   cairo-mesh-patt
9be0: 65 72 6e 2d 67 65 74 2d 70 61 74 68 20 28 28 70  ern-get-path ((p
9bf0: 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72 6f 2d  attern (* cairo-
9c00: 70 61 74 74 65 72 6e 2d 74 29 29 20 28 70 61 74  pattern-t)) (pat
9c10: 63 68 5f 6e 75 6d 20 75 6e 73 69 67 6e 65 64 2d  ch_num unsigned-
9c20: 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 6d 65 73  int)) "cairo_mes
9c30: 68 5f 70 61 74 74 65 72 6e 5f 67 65 74 5f 70 61  h_pattern_get_pa
9c40: 74 68 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  th").(define-cai
9c50: 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73 74  ro-func cairo-st
9c60: 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 6d 65 73  atus-t cairo-mes
9c70: 68 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 63 6f  h-pattern-get-co
9c80: 72 6e 65 72 2d 63 6f 6c 6f 72 2d 72 67 62 61 20  rner-color-rgba 
9c90: 28 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69  ((pattern (* cai
9ca0: 72 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28  ro-pattern-t)) (
9cb0: 70 61 74 63 68 5f 6e 75 6d 20 75 6e 73 69 67 6e  patch_num unsign
9cc0: 65 64 2d 69 6e 74 29 20 28 63 6f 72 6e 65 72 5f  ed-int) (corner_
9cd0: 6e 75 6d 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74  num unsigned-int
9ce0: 29 20 28 72 65 64 20 28 2a 20 64 6f 75 62 6c 65  ) (red (* double
9cf0: 29 29 20 28 67 72 65 65 6e 20 28 2a 20 64 6f 75  )) (green (* dou
9d00: 62 6c 65 29 29 20 28 62 6c 75 65 20 28 2a 20 64  ble)) (blue (* d
9d10: 6f 75 62 6c 65 29 29 20 28 61 6c 70 68 61 20 28  ouble)) (alpha (
9d20: 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61 69  * double))) "cai
9d30: 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65 72 6e 5f  ro_mesh_pattern_
9d40: 67 65 74 5f 63 6f 72 6e 65 72 5f 63 6f 6c 6f 72  get_corner_color
9d50: 5f 72 67 62 61 22 29 0a 28 64 65 66 69 6e 65 2d  _rgba").(define-
9d60: 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f  cairo-func cairo
9d70: 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d  -status-t cairo-
9d80: 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d 67 65 74  mesh-pattern-get
9d90: 2d 63 6f 6e 74 72 6f 6c 2d 70 6f 69 6e 74 20 28  -control-point (
9da0: 28 70 61 74 74 65 72 6e 20 28 2a 20 63 61 69 72  (pattern (* cair
9db0: 6f 2d 70 61 74 74 65 72 6e 2d 74 29 29 20 28 70  o-pattern-t)) (p
9dc0: 61 74 63 68 5f 6e 75 6d 20 75 6e 73 69 67 6e 65  atch_num unsigne
9dd0: 64 2d 69 6e 74 29 20 28 70 6f 69 6e 74 5f 6e 75  d-int) (point_nu
9de0: 6d 20 75 6e 73 69 67 6e 65 64 2d 69 6e 74 29 20  m unsigned-int) 
9df0: 28 78 20 28 2a 20 64 6f 75 62 6c 65 29 29 20 28  (x (* double)) (
9e00: 79 20 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22  y (* double))) "
9e10: 63 61 69 72 6f 5f 6d 65 73 68 5f 70 61 74 74 65  cairo_mesh_patte
9e20: 72 6e 5f 67 65 74 5f 63 6f 6e 74 72 6f 6c 5f 70  rn_get_control_p
9e30: 6f 69 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  oint").(define-c
9e40: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
9e50: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 69 6e 69 74  airo-matrix-init
9e60: 20 28 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69   ((matrix (* cai
9e70: 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 78  ro-matrix-t)) (x
9e80: 78 20 64 6f 75 62 6c 65 29 20 28 79 78 20 64 6f  x double) (yx do
9e90: 75 62 6c 65 29 20 28 78 79 20 64 6f 75 62 6c 65  uble) (xy double
9ea0: 29 20 28 79 79 20 64 6f 75 62 6c 65 29 20 28 78  ) (yy double) (x
9eb0: 30 20 64 6f 75 62 6c 65 29 20 28 79 30 20 64 6f  0 double) (y0 do
9ec0: 75 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 61  uble)) "cairo_ma
9ed0: 74 72 69 78 5f 69 6e 69 74 22 29 0a 28 64 65 66  trix_init").(def
9ee0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76  ine-cairo-func v
9ef0: 6f 69 64 20 63 61 69 72 6f 2d 6d 61 74 72 69 78  oid cairo-matrix
9f00: 2d 69 6e 69 74 2d 69 64 65 6e 74 69 74 79 20 28  -init-identity (
9f10: 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72 6f  (matrix (* cairo
9f20: 2d 6d 61 74 72 69 78 2d 74 29 29 29 20 22 63 61  -matrix-t))) "ca
9f30: 69 72 6f 5f 6d 61 74 72 69 78 5f 69 6e 69 74 5f  iro_matrix_init_
9f40: 69 64 65 6e 74 69 74 79 22 29 0a 28 64 65 66 69  identity").(defi
9f50: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
9f60: 69 64 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d  id cairo-matrix-
9f70: 69 6e 69 74 2d 74 72 61 6e 73 6c 61 74 65 20 28  init-translate (
9f80: 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72 6f  (matrix (* cairo
9f90: 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 74 78 20  -matrix-t)) (tx 
9fa0: 64 6f 75 62 6c 65 29 20 28 74 79 20 64 6f 75 62  double) (ty doub
9fb0: 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 61 74 72  le)) "cairo_matr
9fc0: 69 78 5f 69 6e 69 74 5f 74 72 61 6e 73 6c 61 74  ix_init_translat
9fd0: 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  e").(define-cair
9fe0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
9ff0: 6f 2d 6d 61 74 72 69 78 2d 69 6e 69 74 2d 73 63  o-matrix-init-sc
a000: 61 6c 65 20 28 28 6d 61 74 72 69 78 20 28 2a 20  ale ((matrix (* 
a010: 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29  cairo-matrix-t))
a020: 20 28 73 78 20 64 6f 75 62 6c 65 29 20 28 73 79   (sx double) (sy
a030: 20 64 6f 75 62 6c 65 29 29 20 22 63 61 69 72 6f   double)) "cairo
a040: 5f 6d 61 74 72 69 78 5f 69 6e 69 74 5f 73 63 61  _matrix_init_sca
a050: 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  le").(define-cai
a060: 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69  ro-func void cai
a070: 72 6f 2d 6d 61 74 72 69 78 2d 69 6e 69 74 2d 72  ro-matrix-init-r
a080: 6f 74 61 74 65 20 28 28 6d 61 74 72 69 78 20 28  otate ((matrix (
a090: 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74  * cairo-matrix-t
a0a0: 29 29 20 28 72 61 64 69 61 6e 73 20 64 6f 75 62  )) (radians doub
a0b0: 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 61 74 72  le)) "cairo_matr
a0c0: 69 78 5f 69 6e 69 74 5f 72 6f 74 61 74 65 22 29  ix_init_rotate")
a0d0: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
a0e0: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d  unc void cairo-m
a0f0: 61 74 72 69 78 2d 74 72 61 6e 73 6c 61 74 65 20  atrix-translate 
a100: 28 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72  ((matrix (* cair
a110: 6f 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 74 78  o-matrix-t)) (tx
a120: 20 64 6f 75 62 6c 65 29 20 28 74 79 20 64 6f 75   double) (ty dou
a130: 62 6c 65 29 29 20 22 63 61 69 72 6f 5f 6d 61 74  ble)) "cairo_mat
a140: 72 69 78 5f 74 72 61 6e 73 6c 61 74 65 22 29 0a  rix_translate").
a150: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
a160: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d 61  nc void cairo-ma
a170: 74 72 69 78 2d 73 63 61 6c 65 20 28 28 6d 61 74  trix-scale ((mat
a180: 72 69 78 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74  rix (* cairo-mat
a190: 72 69 78 2d 74 29 29 20 28 73 78 20 64 6f 75 62  rix-t)) (sx doub
a1a0: 6c 65 29 20 28 73 79 20 64 6f 75 62 6c 65 29 29  le) (sy double))
a1b0: 20 22 63 61 69 72 6f 5f 6d 61 74 72 69 78 5f 73   "cairo_matrix_s
a1c0: 63 61 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d 63  cale").(define-c
a1d0: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
a1e0: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 72 6f 74 61  airo-matrix-rota
a1f0: 74 65 20 28 28 6d 61 74 72 69 78 20 28 2a 20 63  te ((matrix (* c
a200: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29 20  airo-matrix-t)) 
a210: 28 72 61 64 69 61 6e 73 20 64 6f 75 62 6c 65 29  (radians double)
a220: 29 20 22 63 61 69 72 6f 5f 6d 61 74 72 69 78 5f  ) "cairo_matrix_
a230: 72 6f 74 61 74 65 22 29 0a 28 64 65 66 69 6e 65  rotate").(define
a240: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72  -cairo-func cair
a250: 6f 2d 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f  o-status-t cairo
a260: 2d 6d 61 74 72 69 78 2d 69 6e 76 65 72 74 20 28  -matrix-invert (
a270: 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72 6f  (matrix (* cairo
a280: 2d 6d 61 74 72 69 78 2d 74 29 29 29 20 22 63 61  -matrix-t))) "ca
a290: 69 72 6f 5f 6d 61 74 72 69 78 5f 69 6e 76 65 72  iro_matrix_inver
a2a0: 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72  t").(define-cair
a2b0: 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72  o-func void cair
a2c0: 6f 2d 6d 61 74 72 69 78 2d 6d 75 6c 74 69 70 6c  o-matrix-multipl
a2d0: 79 20 28 28 72 65 73 75 6c 74 20 28 2a 20 63 61  y ((result (* ca
a2e0: 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29 29 20 28  iro-matrix-t)) (
a2f0: 61 20 28 2a 20 63 61 69 72 6f 2d 6d 61 74 72 69  a (* cairo-matri
a300: 78 2d 74 29 29 20 28 62 20 28 2a 20 63 61 69 72  x-t)) (b (* cair
a310: 6f 2d 6d 61 74 72 69 78 2d 74 29 29 29 20 22 63  o-matrix-t))) "c
a320: 61 69 72 6f 5f 6d 61 74 72 69 78 5f 6d 75 6c 74  airo_matrix_mult
a330: 69 70 6c 79 22 29 0a 28 64 65 66 69 6e 65 2d 63  iply").(define-c
a340: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
a350: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 72 61 6e  airo-matrix-tran
a360: 73 66 6f 72 6d 2d 64 69 73 74 61 6e 63 65 20 28  sform-distance (
a370: 28 6d 61 74 72 69 78 20 28 2a 20 63 61 69 72 6f  (matrix (* cairo
a380: 2d 6d 61 74 72 69 78 2d 74 29 29 20 28 64 78 20  -matrix-t)) (dx 
a390: 28 2a 20 64 6f 75 62 6c 65 29 29 20 28 64 79 20  (* double)) (dy 
a3a0: 28 2a 20 64 6f 75 62 6c 65 29 29 29 20 22 63 61  (* double))) "ca
a3b0: 69 72 6f 5f 6d 61 74 72 69 78 5f 74 72 61 6e 73  iro_matrix_trans
a3c0: 66 6f 72 6d 5f 64 69 73 74 61 6e 63 65 22 29 0a  form_distance").
a3d0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
a3e0: 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 6d 61  nc void cairo-ma
a3f0: 74 72 69 78 2d 74 72 61 6e 73 66 6f 72 6d 2d 70  trix-transform-p
a400: 6f 69 6e 74 20 28 28 6d 61 74 72 69 78 20 28 2a  oint ((matrix (*
a410: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 29   cairo-matrix-t)
a420: 29 20 28 78 20 28 2a 20 64 6f 75 62 6c 65 29 29  ) (x (* double))
a430: 20 28 79 20 28 2a 20 64 6f 75 62 6c 65 29 29 29   (y (* double)))
a440: 20 22 63 61 69 72 6f 5f 6d 61 74 72 69 78 5f 74   "cairo_matrix_t
a450: 72 61 6e 73 66 6f 72 6d 5f 70 6f 69 6e 74 22 29  ransform_point")
a460: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
a470: 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 72 65 67  unc (* cairo-reg
a480: 69 6f 6e 2d 74 29 20 63 61 69 72 6f 2d 72 65 67  ion-t) cairo-reg
a490: 69 6f 6e 2d 63 72 65 61 74 65 20 28 29 20 22 63  ion-create () "c
a4a0: 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 63 72 65 61  airo_region_crea
a4b0: 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 63 61 69  te").(define-cai
a4c0: 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72 6f  ro-func (* cairo
a4d0: 2d 72 65 67 69 6f 6e 2d 74 29 20 63 61 69 72 6f  -region-t) cairo
a4e0: 2d 72 65 67 69 6f 6e 2d 63 72 65 61 74 65 2d 72  -region-create-r
a4f0: 65 63 74 61 6e 67 6c 65 20 28 28 72 65 63 74 61  ectangle ((recta
a500: 6e 67 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72 65  ngle (* cairo-re
a510: 63 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 29  ctangle-int-t)))
a520: 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 63   "cairo_region_c
a530: 72 65 61 74 65 5f 72 65 63 74 61 6e 67 6c 65 22  reate_rectangle"
a540: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
a550: 66 75 6e 63 20 28 2a 20 63 61 69 72 6f 2d 72 65  func (* cairo-re
a560: 67 69 6f 6e 2d 74 29 20 63 61 69 72 6f 2d 72 65  gion-t) cairo-re
a570: 67 69 6f 6e 2d 63 72 65 61 74 65 2d 72 65 63 74  gion-create-rect
a580: 61 6e 67 6c 65 73 20 28 28 72 65 63 74 73 20 28  angles ((rects (
a590: 2a 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c  * cairo-rectangl
a5a0: 65 2d 69 6e 74 2d 74 29 29 20 28 63 6f 75 6e 74  e-int-t)) (count
a5b0: 20 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 72 65   int)) "cairo_re
a5c0: 67 69 6f 6e 5f 63 72 65 61 74 65 5f 72 65 63 74  gion_create_rect
a5d0: 61 6e 67 6c 65 73 22 29 0a 28 64 65 66 69 6e 65  angles").(define
a5e0: 2d 63 61 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63  -cairo-func (* c
a5f0: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 20 63  airo-region-t) c
a600: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 63 6f 70 79  airo-region-copy
a610: 20 28 28 6f 72 69 67 69 6e 61 6c 20 28 2a 20 63   ((original (* c
a620: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29  airo-region-t)))
a630: 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 63   "cairo_region_c
a640: 6f 70 79 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  opy").(define-ca
a650: 69 72 6f 2d 66 75 6e 63 20 28 2a 20 63 61 69 72  iro-func (* cair
a660: 6f 2d 72 65 67 69 6f 6e 2d 74 29 20 63 61 69 72  o-region-t) cair
a670: 6f 2d 72 65 67 69 6f 6e 2d 72 65 66 65 72 65 6e  o-region-referen
a680: 63 65 20 28 28 72 65 67 69 6f 6e 20 28 2a 20 63  ce ((region (* c
a690: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29  airo-region-t)))
a6a0: 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 72   "cairo_region_r
a6b0: 65 66 65 72 65 6e 63 65 22 29 0a 28 64 65 66 69  eference").(defi
a6c0: 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f  ne-cairo-func vo
a6d0: 69 64 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d  id cairo-region-
a6e0: 64 65 73 74 72 6f 79 20 28 28 72 65 67 69 6f 6e  destroy ((region
a6f0: 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e   (* cairo-region
a700: 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65 67  -t))) "cairo_reg
a710: 69 6f 6e 5f 64 65 73 74 72 6f 79 22 29 0a 28 64  ion_destroy").(d
a720: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
a730: 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74 20 63 61   cairo-bool-t ca
a740: 69 72 6f 2d 72 65 67 69 6f 6e 2d 65 71 75 61 6c  iro-region-equal
a750: 20 28 28 61 20 28 2a 20 63 61 69 72 6f 2d 72 65   ((a (* cairo-re
a760: 67 69 6f 6e 2d 74 29 29 20 28 62 20 28 2a 20 63  gion-t)) (b (* c
a770: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29  airo-region-t)))
a780: 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 65   "cairo_region_e
a790: 71 75 61 6c 22 29 0a 28 64 65 66 69 6e 65 2d 63  qual").(define-c
a7a0: 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d  airo-func cairo-
a7b0: 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 72  status-t cairo-r
a7c0: 65 67 69 6f 6e 2d 73 74 61 74 75 73 20 28 28 72  egion-status ((r
a7d0: 65 67 69 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72  egion (* cairo-r
a7e0: 65 67 69 6f 6e 2d 74 29 29 29 20 22 63 61 69 72  egion-t))) "cair
a7f0: 6f 5f 72 65 67 69 6f 6e 5f 73 74 61 74 75 73 22  o_region_status"
a800: 29 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d  ).(define-cairo-
a810: 66 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d  func void cairo-
a820: 72 65 67 69 6f 6e 2d 67 65 74 2d 65 78 74 65 6e  region-get-exten
a830: 74 73 20 28 28 72 65 67 69 6f 6e 20 28 2a 20 63  ts ((region (* c
a840: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 20  airo-region-t)) 
a850: 28 65 78 74 65 6e 74 73 20 28 2a 20 63 61 69 72  (extents (* cair
a860: 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 69 6e 74 2d  o-rectangle-int-
a870: 74 29 29 29 20 22 63 61 69 72 6f 5f 72 65 67 69  t))) "cairo_regi
a880: 6f 6e 5f 67 65 74 5f 65 78 74 65 6e 74 73 22 29  on_get_extents")
a890: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
a8a0: 75 6e 63 20 69 6e 74 20 63 61 69 72 6f 2d 72 65  unc int cairo-re
a8b0: 67 69 6f 6e 2d 6e 75 6d 2d 72 65 63 74 61 6e 67  gion-num-rectang
a8c0: 6c 65 73 20 28 28 72 65 67 69 6f 6e 20 28 2a 20  les ((region (* 
a8d0: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29  cairo-region-t))
a8e0: 29 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f  ) "cairo_region_
a8f0: 6e 75 6d 5f 72 65 63 74 61 6e 67 6c 65 73 22 29  num_rectangles")
a900: 0a 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66  .(define-cairo-f
a910: 75 6e 63 20 76 6f 69 64 20 63 61 69 72 6f 2d 72  unc void cairo-r
a920: 65 67 69 6f 6e 2d 67 65 74 2d 72 65 63 74 61 6e  egion-get-rectan
a930: 67 6c 65 20 28 28 72 65 67 69 6f 6e 20 28 2a 20  gle ((region (* 
a940: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29  cairo-region-t))
a950: 20 28 6e 74 68 20 69 6e 74 29 20 28 72 65 63 74   (nth int) (rect
a960: 61 6e 67 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72  angle (* cairo-r
a970: 65 63 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29  ectangle-int-t))
a980: 29 20 22 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f  ) "cairo_region_
a990: 67 65 74 5f 72 65 63 74 61 6e 67 6c 65 22 29 0a  get_rectangle").
a9a0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
a9b0: 6e 63 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74 20  nc cairo-bool-t 
a9c0: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 69 73 2d  cairo-region-is-
a9d0: 65 6d 70 74 79 20 28 28 72 65 67 69 6f 6e 20 28  empty ((region (
a9e0: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
a9f0: 29 29 29 20 22 63 61 69 72 6f 5f 72 65 67 69 6f  ))) "cairo_regio
aa00: 6e 5f 69 73 5f 65 6d 70 74 79 22 29 0a 28 64 65  n_is_empty").(de
aa10: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
aa20: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 6f 76 65  cairo-region-ove
aa30: 72 6c 61 70 2d 74 20 63 61 69 72 6f 2d 72 65 67  rlap-t cairo-reg
aa40: 69 6f 6e 2d 63 6f 6e 74 61 69 6e 73 2d 72 65 63  ion-contains-rec
aa50: 74 61 6e 67 6c 65 20 28 28 72 65 67 69 6f 6e 20  tangle ((region 
aa60: 28 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d  (* cairo-region-
aa70: 74 29 29 20 28 72 65 63 74 61 6e 67 6c 65 20 28  t)) (rectangle (
aa80: 2a 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c  * cairo-rectangl
aa90: 65 2d 69 6e 74 2d 74 29 29 29 20 22 63 61 69 72  e-int-t))) "cair
aaa0: 6f 5f 72 65 67 69 6f 6e 5f 63 6f 6e 74 61 69 6e  o_region_contain
aab0: 73 5f 72 65 63 74 61 6e 67 6c 65 22 29 0a 28 64  s_rectangle").(d
aac0: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
aad0: 20 63 61 69 72 6f 2d 62 6f 6f 6c 2d 74 20 63 61   cairo-bool-t ca
aae0: 69 72 6f 2d 72 65 67 69 6f 6e 2d 63 6f 6e 74 61  iro-region-conta
aaf0: 69 6e 73 2d 70 6f 69 6e 74 20 28 28 72 65 67 69  ins-point ((regi
ab00: 6f 6e 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69  on (* cairo-regi
ab10: 6f 6e 2d 74 29 29 20 28 78 20 69 6e 74 29 20 28  on-t)) (x int) (
ab20: 79 20 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 72  y int)) "cairo_r
ab30: 65 67 69 6f 6e 5f 63 6f 6e 74 61 69 6e 73 5f 70  egion_contains_p
ab40: 6f 69 6e 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  oint").(define-c
ab50: 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20 63  airo-func void c
ab60: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 72 61 6e  airo-region-tran
ab70: 73 6c 61 74 65 20 28 28 72 65 67 69 6f 6e 20 28  slate ((region (
ab80: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
ab90: 29 29 20 28 64 78 20 69 6e 74 29 20 28 64 79 20  )) (dx int) (dy 
aba0: 69 6e 74 29 29 20 22 63 61 69 72 6f 5f 72 65 67  int)) "cairo_reg
abb0: 69 6f 6e 5f 74 72 61 6e 73 6c 61 74 65 22 29 0a  ion_translate").
abc0: 28 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75  (define-cairo-fu
abd0: 6e 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d  nc cairo-status-
abe0: 74 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 73  t cairo-region-s
abf0: 75 62 74 72 61 63 74 20 28 28 64 73 74 20 28 2a  ubtract ((dst (*
ac00: 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29   cairo-region-t)
ac10: 29 20 28 6f 74 68 65 72 20 28 2a 20 63 61 69 72  ) (other (* cair
ac20: 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 29 20 22 63  o-region-t))) "c
ac30: 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 73 75 62 74  airo_region_subt
ac40: 72 61 63 74 22 29 0a 28 64 65 66 69 6e 65 2d 63  ract").(define-c
ac50: 61 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d  airo-func cairo-
ac60: 73 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 72  status-t cairo-r
ac70: 65 67 69 6f 6e 2d 73 75 62 74 72 61 63 74 2d 72  egion-subtract-r
ac80: 65 63 74 61 6e 67 6c 65 20 28 28 64 73 74 20 28  ectangle ((dst (
ac90: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
aca0: 29 29 20 28 72 65 63 74 61 6e 67 6c 65 20 28 2a  )) (rectangle (*
acb0: 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65   cairo-rectangle
acc0: 2d 69 6e 74 2d 74 29 29 29 20 22 63 61 69 72 6f  -int-t))) "cairo
acd0: 5f 72 65 67 69 6f 6e 5f 73 75 62 74 72 61 63 74  _region_subtract
ace0: 5f 72 65 63 74 61 6e 67 6c 65 22 29 0a 28 64 65  _rectangle").(de
acf0: 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20  fine-cairo-func 
ad00: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63  cairo-status-t c
ad10: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 69 6e 74 65  airo-region-inte
ad20: 72 73 65 63 74 20 28 28 64 73 74 20 28 2a 20 63  rsect ((dst (* c
ad30: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 20  airo-region-t)) 
ad40: 28 6f 74 68 65 72 20 28 2a 20 63 61 69 72 6f 2d  (other (* cairo-
ad50: 72 65 67 69 6f 6e 2d 74 29 29 29 20 22 63 61 69  region-t))) "cai
ad60: 72 6f 5f 72 65 67 69 6f 6e 5f 69 6e 74 65 72 73  ro_region_inters
ad70: 65 63 74 22 29 0a 28 64 65 66 69 6e 65 2d 63 61  ect").(define-ca
ad80: 69 72 6f 2d 66 75 6e 63 20 63 61 69 72 6f 2d 73  iro-func cairo-s
ad90: 74 61 74 75 73 2d 74 20 63 61 69 72 6f 2d 72 65  tatus-t cairo-re
ada0: 67 69 6f 6e 2d 69 6e 74 65 72 73 65 63 74 2d 72  gion-intersect-r
adb0: 65 63 74 61 6e 67 6c 65 20 28 28 64 73 74 20 28  ectangle ((dst (
adc0: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
add0: 29 29 20 28 72 65 63 74 61 6e 67 6c 65 20 28 2a  )) (rectangle (*
ade0: 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65   cairo-rectangle
adf0: 2d 69 6e 74 2d 74 29 29 29 20 22 63 61 69 72 6f  -int-t))) "cairo
ae00: 5f 72 65 67 69 6f 6e 5f 69 6e 74 65 72 73 65 63  _region_intersec
ae10: 74 5f 72 65 63 74 61 6e 67 6c 65 22 29 0a 28 64  t_rectangle").(d
ae20: 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63  efine-cairo-func
ae30: 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20   cairo-status-t 
ae40: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 75 6e 69  cairo-region-uni
ae50: 6f 6e 20 28 28 64 73 74 20 28 2a 20 63 61 69 72  on ((dst (* cair
ae60: 6f 2d 72 65 67 69 6f 6e 2d 74 29 29 20 28 6f 74  o-region-t)) (ot
ae70: 68 65 72 20 28 2a 20 63 61 69 72 6f 2d 72 65 67  her (* cairo-reg
ae80: 69 6f 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f  ion-t))) "cairo_
ae90: 72 65 67 69 6f 6e 5f 75 6e 69 6f 6e 22 29 0a 28  region_union").(
aea0: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
aeb0: 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74  c cairo-status-t
aec0: 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 75 6e   cairo-region-un
aed0: 69 6f 6e 2d 72 65 63 74 61 6e 67 6c 65 20 28 28  ion-rectangle ((
aee0: 64 73 74 20 28 2a 20 63 61 69 72 6f 2d 72 65 67  dst (* cairo-reg
aef0: 69 6f 6e 2d 74 29 29 20 28 72 65 63 74 61 6e 67  ion-t)) (rectang
af00: 6c 65 20 28 2a 20 63 61 69 72 6f 2d 72 65 63 74  le (* cairo-rect
af10: 61 6e 67 6c 65 2d 69 6e 74 2d 74 29 29 29 20 22  angle-int-t))) "
af20: 63 61 69 72 6f 5f 72 65 67 69 6f 6e 5f 75 6e 69  cairo_region_uni
af30: 6f 6e 5f 72 65 63 74 61 6e 67 6c 65 22 29 0a 28  on_rectangle").(
af40: 64 65 66 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e  define-cairo-fun
af50: 63 20 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74  c cairo-status-t
af60: 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 78 6f   cairo-region-xo
af70: 72 20 28 28 64 73 74 20 28 2a 20 63 61 69 72 6f  r ((dst (* cairo
af80: 2d 72 65 67 69 6f 6e 2d 74 29 29 20 28 6f 74 68  -region-t)) (oth
af90: 65 72 20 28 2a 20 63 61 69 72 6f 2d 72 65 67 69  er (* cairo-regi
afa0: 6f 6e 2d 74 29 29 29 20 22 63 61 69 72 6f 5f 72  on-t))) "cairo_r
afb0: 65 67 69 6f 6e 5f 78 6f 72 22 29 0a 28 64 65 66  egion_xor").(def
afc0: 69 6e 65 2d 63 61 69 72 6f 2d 66 75 6e 63 20 63  ine-cairo-func c
afd0: 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 20 63 61  airo-status-t ca
afe0: 69 72 6f 2d 72 65 67 69 6f 6e 2d 78 6f 72 2d 72  iro-region-xor-r
aff0: 65 63 74 61 6e 67 6c 65 20 28 28 64 73 74 20 28  ectangle ((dst (
b000: 2a 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 74  * cairo-region-t
b010: 29 29 20 28 72 65 63 74 61 6e 67 6c 65 20 28 2a  )) (rectangle (*
b020: 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65   cairo-rectangle
b030: 2d 69 6e 74 2d 74 29 29 29 20 22 63 61 69 72 6f  -int-t))) "cairo
b040: 5f 72 65 67 69 6f 6e 5f 78 6f 72 5f 72 65 63 74  _region_xor_rect
b050: 61 6e 67 6c 65 22 29 0a 28 64 65 66 69 6e 65 2d  angle").(define-
b060: 63 61 69 72 6f 2d 66 75 6e 63 20 76 6f 69 64 20  cairo-func void 
b070: 63 61 69 72 6f 2d 64 65 62 75 67 2d 72 65 73 65  cairo-debug-rese
b080: 74 2d 73 74 61 74 69 63 2d 64 61 74 61 20 28 29  t-static-data ()
b090: 20 22 63 61 69 72 6f 5f 64 65 62 75 67 5f 72 65   "cairo_debug_re
b0a0: 73 65 74 5f 73 74 61 74 69 63 5f 64 61 74 61 22  set_static_data"
b0b0: 29 0a                                            ).