Artifact
d69560c5c0d0f11c7070339aa05f41498663d4d2:
- File
cairo.sls
— part of check-in
[342d9b1e94]
at
2016-12-15 01:14:13
on branch trunk
— cairo ffi improvements
(user:
aldo
size: 14254)
0000: 3b 3b 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 ;;.;; Copyright
0010: 32 30 31 36 20 41 6c 64 6f 20 4e 69 63 6f 6c 61 2016 Aldo Nicola
0020: 73 20 42 72 75 6e 6f 0a 3b 3b 0a 3b 3b 20 4c 69 s Bruno.;;.;; Li
0030: 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 censed under the
0040: 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c Apache License,
0050: 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 Version 2.0 (th
0060: 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 0a 3b 3b e "License");.;;
0070: 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 75 73 65 you may not use
0080: 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 this file excep
0090: 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 t in compliance
00a0: 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 with the License
00b0: 2e 0a 3b 3b 20 59 6f 75 20 6d 61 79 20 6f 62 74 ..;; You may obt
00c0: 61 69 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 ain a copy of th
00d0: 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 3b 3b 0a e License at.;;.
00e0: 3b 3b 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 ;; http://ww
00f0: 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 w.apache.org/lic
0100: 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e enses/LICENSE-2.
0110: 30 0a 3b 3b 0a 3b 3b 20 55 6e 6c 65 73 73 20 72 0.;;.;; Unless r
0120: 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 equired by appli
0130: 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 cable law or agr
0140: 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e eed to in writin
0150: 67 2c 20 73 6f 66 74 77 61 72 65 0a 3b 3b 20 64 g, software.;; d
0160: 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 istributed under
0170: 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 the License is
0180: 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 distributed on a
0190: 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c n "AS IS" BASIS,
01a0: 0a 3b 3b 20 57 49 54 48 4f 55 54 20 57 41 52 52 .;; WITHOUT WARR
01b0: 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 ANTIES OR CONDIT
01c0: 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 IONS OF ANY KIND
01d0: 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 , either express
01e0: 20 6f 72 20 69 6d 70 6c 69 65 64 2e 0a 3b 3b 20 or implied..;;
01f0: 53 65 65 20 74 68 65 20 4c 69 63 65 6e 73 65 20 See the License
0200: 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 for the specific
0210: 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e language govern
0220: 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 ing permissions
0230: 61 6e 64 0a 3b 3b 20 6c 69 6d 69 74 61 74 69 6f and.;; limitatio
0240: 6e 73 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 ns under the Lic
0250: 65 6e 73 65 2e 0a 0a 23 21 63 68 65 7a 73 63 68 ense...#!chezsch
0260: 65 6d 65 0a 0a 28 6c 69 62 72 61 72 79 0a 20 28 eme..(library. (
0270: 63 61 69 72 6f 29 0a 20 28 65 78 70 6f 72 74 20 cairo). (export
0280: 0a 20 20 63 61 69 72 6f 2d 6c 69 62 72 61 72 79 . cairo-library
0290: 2d 69 6e 69 74 0a 20 20 63 61 69 72 6f 2d 76 65 -init. cairo-ve
02a0: 72 73 69 6f 6e 20 63 61 69 72 6f 2d 76 65 72 73 rsion cairo-vers
02b0: 69 6f 6e 2d 73 74 72 69 6e 67 20 63 61 69 72 6f ion-string cairo
02c0: 2d 63 72 65 61 74 65 20 0a 20 20 3b 3b 63 61 69 -create . ;;cai
02d0: 72 6f 2d 72 65 66 65 72 65 6e 63 65 20 63 61 69 ro-reference cai
02e0: 72 6f 2d 64 65 73 74 72 6f 79 20 63 61 69 72 6f ro-destroy cairo
02f0: 2d 67 65 74 2d 72 65 66 65 72 65 6e 63 65 2d 63 -get-reference-c
0300: 6f 75 6e 74 20 0a 20 20 63 61 69 72 6f 2d 67 65 ount . cairo-ge
0310: 74 2d 75 73 65 72 2d 64 61 74 61 0a 20 20 63 61 t-user-data. ca
0320: 69 72 6f 2d 73 65 74 2d 75 73 65 72 2d 64 61 74 iro-set-user-dat
0330: 61 20 63 61 69 72 6f 2d 73 61 76 65 20 63 61 69 a cairo-save cai
0340: 72 6f 2d 72 65 73 74 6f 72 65 20 63 61 69 72 6f ro-restore cairo
0350: 2d 70 75 73 68 2d 67 72 6f 75 70 0a 20 20 63 61 -push-group. ca
0360: 69 72 6f 2d 70 75 73 68 2d 67 72 6f 75 70 2d 77 iro-push-group-w
0370: 69 74 68 2d 63 6f 6e 74 65 6e 74 20 63 61 69 72 ith-content cair
0380: 6f 2d 70 6f 70 2d 67 72 6f 75 70 0a 20 20 63 61 o-pop-group. ca
0390: 69 72 6f 2d 70 6f 70 2d 67 72 6f 75 70 2d 74 6f iro-pop-group-to
03a0: 2d 73 6f 75 72 63 65 20 63 61 69 72 6f 2d 73 65 -source cairo-se
03b0: 74 2d 6f 70 65 72 61 74 6f 72 20 63 61 69 72 6f t-operator cairo
03c0: 2d 73 65 74 2d 73 6f 75 72 63 65 0a 20 20 63 61 -set-source. ca
03d0: 69 72 6f 2d 73 65 74 2d 73 6f 75 72 63 65 2d 72 iro-set-source-r
03e0: 67 62 20 63 61 69 72 6f 2d 73 65 74 2d 73 6f 75 gb cairo-set-sou
03f0: 72 63 65 2d 72 67 62 61 20 63 61 69 72 6f 2d 73 rce-rgba cairo-s
0400: 65 74 2d 73 6f 75 72 63 65 2d 73 75 72 66 61 63 et-source-surfac
0410: 65 0a 20 20 63 61 69 72 6f 2d 73 65 74 2d 74 6f e. cairo-set-to
0420: 6c 65 72 61 6e 63 65 20 63 61 69 72 6f 2d 73 65 lerance cairo-se
0430: 74 2d 61 6e 74 69 61 6c 69 61 73 20 63 61 69 72 t-antialias cair
0440: 6f 2d 73 65 74 2d 66 69 6c 6c 2d 72 75 6c 65 0a o-set-fill-rule.
0450: 20 20 63 61 69 72 6f 2d 73 65 74 2d 6c 69 6e 65 cairo-set-line
0460: 2d 77 69 64 74 68 20 63 61 69 72 6f 2d 73 65 74 -width cairo-set
0470: 2d 6c 69 6e 65 2d 63 61 70 20 63 61 69 72 6f 2d -line-cap cairo-
0480: 73 65 74 2d 6c 69 6e 65 2d 6a 6f 69 6e 0a 20 20 set-line-join.
0490: 63 61 69 72 6f 2d 73 65 74 2d 64 61 73 68 20 63 cairo-set-dash c
04a0: 61 69 72 6f 2d 73 65 74 2d 6d 69 74 65 72 2d 6c airo-set-miter-l
04b0: 69 6d 69 74 20 63 61 69 72 6f 2d 74 72 61 6e 73 imit cairo-trans
04c0: 6c 61 74 65 20 63 61 69 72 6f 2d 73 63 61 6c 65 late cairo-scale
04d0: 0a 20 20 63 61 69 72 6f 2d 72 6f 74 61 74 65 20 . cairo-rotate
04e0: 63 61 69 72 6f 2d 74 72 61 6e 73 66 6f 72 6d 20 cairo-transform
04f0: 63 61 69 72 6f 2d 73 65 74 2d 6d 61 74 72 69 78 cairo-set-matrix
0500: 20 63 61 69 72 6f 2d 69 64 65 6e 74 69 74 79 2d cairo-identity-
0510: 6d 61 74 72 69 78 0a 20 20 63 61 69 72 6f 2d 75 matrix. cairo-u
0520: 73 65 72 2d 74 6f 2d 64 65 76 69 63 65 20 63 61 ser-to-device ca
0530: 69 72 6f 2d 75 73 65 72 2d 74 6f 2d 64 65 76 69 iro-user-to-devi
0540: 63 65 2d 64 69 73 74 61 6e 63 65 0a 20 20 63 61 ce-distance. ca
0550: 69 72 6f 2d 64 65 76 69 63 65 2d 74 6f 2d 75 73 iro-device-to-us
0560: 65 72 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d er cairo-device-
0570: 74 6f 2d 75 73 65 72 2d 64 69 73 74 61 6e 63 65 to-user-distance
0580: 20 63 61 69 72 6f 2d 6e 65 77 2d 70 61 74 68 0a cairo-new-path.
0590: 20 20 63 61 69 72 6f 2d 6d 6f 76 65 2d 74 6f 20 cairo-move-to
05a0: 63 61 69 72 6f 2d 6e 65 77 2d 73 75 62 2d 70 61 cairo-new-sub-pa
05b0: 74 68 20 63 61 69 72 6f 2d 6c 69 6e 65 2d 74 6f th cairo-line-to
05c0: 20 63 61 69 72 6f 2d 63 75 72 76 65 2d 74 6f 0a cairo-curve-to.
05d0: 20 20 63 61 69 72 6f 2d 61 72 63 20 63 61 69 72 cairo-arc cair
05e0: 6f 2d 61 72 63 2d 6e 65 67 61 74 69 76 65 20 63 o-arc-negative c
05f0: 61 69 72 6f 2d 72 65 6c 2d 6d 6f 76 65 2d 74 6f airo-rel-move-to
0600: 0a 0a 20 20 63 61 69 72 6f 2d 72 65 6c 2d 6c 69 .. cairo-rel-li
0610: 6e 65 2d 74 6f 20 63 61 69 72 6f 2d 72 65 6c 2d ne-to cairo-rel-
0620: 63 75 72 76 65 2d 74 6f 20 63 61 69 72 6f 2d 72 curve-to cairo-r
0630: 65 63 74 61 6e 67 6c 65 0a 20 20 63 61 69 72 6f ectangle. cairo
0640: 2d 63 6c 6f 73 65 2d 70 61 74 68 20 63 61 69 72 -close-path cair
0650: 6f 2d 70 61 74 68 2d 65 78 74 65 6e 74 73 20 63 o-path-extents c
0660: 61 69 72 6f 2d 70 61 69 6e 74 0a 20 20 63 61 69 airo-paint. cai
0670: 72 6f 2d 70 61 69 6e 74 2d 77 69 74 68 2d 61 6c ro-paint-with-al
0680: 70 68 61 20 63 61 69 72 6f 2d 6d 61 73 6b 20 63 pha cairo-mask c
0690: 61 69 72 6f 2d 6d 61 73 6b 2d 73 75 72 66 61 63 airo-mask-surfac
06a0: 65 20 63 61 69 72 6f 2d 73 74 72 6f 6b 65 0a 20 e cairo-stroke.
06b0: 20 63 61 69 72 6f 2d 73 74 72 6f 6b 65 2d 70 72 cairo-stroke-pr
06c0: 65 73 65 72 76 65 20 63 61 69 72 6f 2d 66 69 6c eserve cairo-fil
06d0: 6c 20 63 61 69 72 6f 2d 66 69 6c 6c 2d 70 72 65 l cairo-fill-pre
06e0: 73 65 72 76 65 20 63 61 69 72 6f 2d 63 6f 70 79 serve cairo-copy
06f0: 2d 70 61 67 65 0a 20 20 63 61 69 72 6f 2d 73 68 -page. cairo-sh
0700: 6f 77 2d 70 61 67 65 20 63 61 69 72 6f 2d 69 6e ow-page cairo-in
0710: 2d 73 74 72 6f 6b 65 20 63 61 69 72 6f 2d 69 6e -stroke cairo-in
0720: 2d 66 69 6c 6c 20 63 61 69 72 6f 2d 69 6e 2d 63 -fill cairo-in-c
0730: 6c 69 70 0a 20 20 63 61 69 72 6f 2d 73 74 72 6f lip. cairo-stro
0740: 6b 65 2d 65 78 74 65 6e 74 73 20 63 61 69 72 6f ke-extents cairo
0750: 2d 66 69 6c 6c 2d 65 78 74 65 6e 74 73 20 63 61 -fill-extents ca
0760: 69 72 6f 2d 72 65 73 65 74 2d 63 6c 69 70 20 63 iro-reset-clip c
0770: 61 69 72 6f 2d 63 6c 69 70 0a 20 20 63 61 69 72 airo-clip. cair
0780: 6f 2d 63 6c 69 70 2d 70 72 65 73 65 72 76 65 20 o-clip-preserve
0790: 63 61 69 72 6f 2d 63 6c 69 70 2d 65 78 74 65 6e cairo-clip-exten
07a0: 74 73 20 63 61 69 72 6f 2d 63 6f 70 79 2d 63 6c ts cairo-copy-cl
07b0: 69 70 2d 72 65 63 74 61 6e 67 6c 65 2d 6c 69 73 ip-rectangle-lis
07c0: 74 0a 09 09 09 09 09 3b 63 61 69 72 6f 2d 72 65 t......;cairo-re
07d0: 63 74 61 6e 67 6c 65 2d 6c 69 73 74 2d 64 65 73 ctangle-list-des
07e0: 74 72 6f 79 20 0a 20 20 63 61 69 72 6f 2d 67 6c troy . cairo-gl
07f0: 79 70 68 2d 61 6c 6c 6f 63 61 74 65 20 63 61 69 yph-allocate cai
0800: 72 6f 2d 67 6c 79 70 68 2d 66 72 65 65 0a 20 20 ro-glyph-free.
0810: 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 73 74 cairo-text-clust
0820: 65 72 2d 61 6c 6c 6f 63 61 74 65 20 63 61 69 72 er-allocate cair
0830: 6f 2d 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 66 o-text-cluster-f
0840: 72 65 65 0a 20 20 63 61 69 72 6f 2d 66 6f 6e 74 ree. cairo-font
0850: 2d 6f 70 74 69 6f 6e 73 2d 63 72 65 61 74 65 20 -options-create
0860: 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f cairo-font-optio
0870: 6e 73 2d 63 6f 70 79 0a 09 09 09 09 09 3b 63 61 ns-copy......;ca
0880: 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 iro-font-options
0890: 2d 64 65 73 74 72 6f 79 20 0a 20 20 63 61 69 72 -destroy . cair
08a0: 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 73 o-font-options-s
08b0: 74 61 74 75 73 0a 20 20 63 61 69 72 6f 2d 66 6f tatus. cairo-fo
08c0: 6e 74 2d 6f 70 74 69 6f 6e 73 2d 6d 65 72 67 65 nt-options-merge
08d0: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 cairo-font-opti
08e0: 6f 6e 73 2d 65 71 75 61 6c 0a 20 20 63 61 69 72 ons-equal. cair
08f0: 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 68 o-font-options-h
0900: 61 73 68 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f ash cairo-font-o
0910: 70 74 69 6f 6e 73 2d 73 65 74 2d 61 6e 74 69 61 ptions-set-antia
0920: 6c 69 61 73 0a 20 20 63 61 69 72 6f 2d 66 6f 6e lias. cairo-fon
0930: 74 2d 6f 70 74 69 6f 6e 73 2d 67 65 74 2d 61 6e t-options-get-an
0940: 74 69 61 6c 69 61 73 20 63 61 69 72 6f 2d 66 6f tialias cairo-fo
0950: 6e 74 2d 6f 70 74 69 6f 6e 73 2d 73 65 74 2d 73 nt-options-set-s
0960: 75 62 70 69 78 65 6c 2d 6f 72 64 65 72 0a 20 20 ubpixel-order.
0970: 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f cairo-font-optio
0980: 6e 73 2d 67 65 74 2d 73 75 62 70 69 78 65 6c 2d ns-get-subpixel-
0990: 6f 72 64 65 72 0a 20 20 63 61 69 72 6f 2d 66 6f order. cairo-fo
09a0: 6e 74 2d 6f 70 74 69 6f 6e 73 2d 73 65 74 2d 68 nt-options-set-h
09b0: 69 6e 74 2d 73 74 79 6c 65 20 63 61 69 72 6f 2d int-style cairo-
09c0: 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 67 65 74 font-options-get
09d0: 2d 68 69 6e 74 2d 73 74 79 6c 65 0a 20 20 63 61 -hint-style. ca
09e0: 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 iro-font-options
09f0: 2d 73 65 74 2d 68 69 6e 74 2d 6d 65 74 72 69 63 -set-hint-metric
0a00: 73 0a 20 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f s. cairo-font-o
0a10: 70 74 69 6f 6e 73 2d 67 65 74 2d 68 69 6e 74 2d ptions-get-hint-
0a20: 6d 65 74 72 69 63 73 20 63 61 69 72 6f 2d 73 65 metrics cairo-se
0a30: 6c 65 63 74 2d 66 6f 6e 74 2d 66 61 63 65 0a 20 lect-font-face.
0a40: 20 63 61 69 72 6f 2d 73 65 74 2d 66 6f 6e 74 2d cairo-set-font-
0a50: 73 69 7a 65 20 63 61 69 72 6f 2d 73 65 74 2d 66 size cairo-set-f
0a60: 6f 6e 74 2d 6d 61 74 72 69 78 20 63 61 69 72 6f ont-matrix cairo
0a70: 2d 67 65 74 2d 66 6f 6e 74 2d 6d 61 74 72 69 78 -get-font-matrix
0a80: 0a 20 20 63 61 69 72 6f 2d 73 65 74 2d 66 6f 6e . cairo-set-fon
0a90: 74 2d 6f 70 74 69 6f 6e 73 20 63 61 69 72 6f 2d t-options cairo-
0aa0: 67 65 74 2d 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 get-font-options
0ab0: 20 63 61 69 72 6f 2d 73 65 74 2d 66 6f 6e 74 2d cairo-set-font-
0ac0: 66 61 63 65 0a 20 20 63 61 69 72 6f 2d 67 65 74 face. cairo-get
0ad0: 2d 66 6f 6e 74 2d 66 61 63 65 20 63 61 69 72 6f -font-face cairo
0ae0: 2d 73 65 74 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 -set-scaled-font
0af0: 20 63 61 69 72 6f 2d 67 65 74 2d 73 63 61 6c 65 cairo-get-scale
0b00: 64 2d 66 6f 6e 74 0a 20 20 63 61 69 72 6f 2d 73 d-font. cairo-s
0b10: 68 6f 77 2d 74 65 78 74 20 63 61 69 72 6f 2d 73 how-text cairo-s
0b20: 68 6f 77 2d 67 6c 79 70 68 73 20 63 61 69 72 6f how-glyphs cairo
0b30: 2d 73 68 6f 77 2d 74 65 78 74 2d 67 6c 79 70 68 -show-text-glyph
0b40: 73 0a 20 20 63 61 69 72 6f 2d 74 65 78 74 2d 70 s. cairo-text-p
0b50: 61 74 68 20 63 61 69 72 6f 2d 67 6c 79 70 68 2d ath cairo-glyph-
0b60: 70 61 74 68 20 63 61 69 72 6f 2d 74 65 78 74 2d path cairo-text-
0b70: 65 78 74 65 6e 74 73 0a 20 20 63 61 69 72 6f 2d extents. cairo-
0b80: 67 6c 79 70 68 2d 65 78 74 65 6e 74 73 20 63 61 glyph-extents ca
0b90: 69 72 6f 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 iro-font-extents
0ba0: 20 0a 09 09 09 09 09 3b 63 61 69 72 6f 2d 66 6f ......;cairo-fo
0bb0: 6e 74 2d 66 61 63 65 2d 72 65 66 65 72 65 6e 63 nt-face-referenc
0bc0: 65 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 e cairo-font-fac
0bd0: 65 2d 64 65 73 74 72 6f 79 20 63 61 69 72 6f 2d e-destroy cairo-
0be0: 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 72 65 font-face-get-re
0bf0: 66 65 72 65 6e 63 65 2d 63 6f 75 6e 74 0a 20 20 ference-count.
0c00: 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d cairo-font-face-
0c10: 73 74 61 74 75 73 20 63 61 69 72 6f 2d 66 6f 6e status cairo-fon
0c20: 74 2d 66 61 63 65 2d 67 65 74 2d 74 79 70 65 0a t-face-get-type.
0c30: 20 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 cairo-font-fac
0c40: 65 2d 67 65 74 2d 75 73 65 72 2d 64 61 74 61 20 e-get-user-data
0c50: 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d cairo-font-face-
0c60: 73 65 74 2d 75 73 65 72 2d 64 61 74 61 0a 20 20 set-user-data.
0c70: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e cairo-scaled-fon
0c80: 74 2d 63 72 65 61 74 65 20 0a 09 09 09 09 09 3b t-create ......;
0c90: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e cairo-scaled-fon
0ca0: 74 2d 72 65 66 65 72 65 6e 63 65 20 63 61 69 72 t-reference cair
0cb0: 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 64 65 o-scaled-font-de
0cc0: 73 74 72 6f 79 20 63 61 69 72 6f 2d 73 63 61 6c stroy cairo-scal
0cd0: 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 72 65 66 65 ed-font-get-refe
0ce0: 72 65 6e 63 65 2d 63 6f 75 6e 74 0a 20 20 63 61 rence-count. ca
0cf0: 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d iro-scaled-font-
0d00: 73 74 61 74 75 73 20 63 61 69 72 6f 2d 73 63 61 status cairo-sca
0d10: 6c 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 74 79 70 led-font-get-typ
0d20: 65 0a 20 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 e. cairo-scaled
0d30: 2d 66 6f 6e 74 2d 67 65 74 2d 75 73 65 72 2d 64 -font-get-user-d
0d40: 61 74 61 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 ata cairo-scaled
0d50: 2d 66 6f 6e 74 2d 73 65 74 2d 75 73 65 72 2d 64 -font-set-user-d
0d60: 61 74 61 0a 20 20 63 61 69 72 6f 2d 73 63 61 6c ata. cairo-scal
0d70: 65 64 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 20 ed-font-extents
0d80: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e cairo-scaled-fon
0d90: 74 2d 74 65 78 74 2d 65 78 74 65 6e 74 73 0a 20 t-text-extents.
0da0: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f cairo-scaled-fo
0db0: 6e 74 2d 67 6c 79 70 68 2d 65 78 74 65 6e 74 73 nt-glyph-extents
0dc0: 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f cairo-scaled-fo
0dd0: 6e 74 2d 74 65 78 74 2d 74 6f 2d 67 6c 79 70 68 nt-text-to-glyph
0de0: 73 0a 20 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 s. cairo-scaled
0df0: 2d 66 6f 6e 74 2d 67 65 74 2d 66 6f 6e 74 2d 66 -font-get-font-f
0e00: 61 63 65 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 ace cairo-scaled
0e10: 2d 66 6f 6e 74 2d 67 65 74 2d 66 6f 6e 74 2d 6d -font-get-font-m
0e20: 61 74 72 69 78 0a 20 20 63 61 69 72 6f 2d 73 63 atrix. cairo-sc
0e30: 61 6c 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 63 74 aled-font-get-ct
0e40: 6d 20 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 m cairo-scaled-f
0e50: 6f 6e 74 2d 67 65 74 2d 73 63 61 6c 65 2d 6d 61 ont-get-scale-ma
0e60: 74 72 69 78 0a 20 20 63 61 69 72 6f 2d 73 63 61 trix. cairo-sca
0e70: 6c 65 64 2d 66 6f 6e 74 2d 67 65 74 2d 66 6f 6e led-font-get-fon
0e80: 74 2d 6f 70 74 69 6f 6e 73 20 63 61 69 72 6f 2d t-options cairo-
0e90: 74 6f 79 2d 66 6f 6e 74 2d 66 61 63 65 2d 63 72 toy-font-face-cr
0ea0: 65 61 74 65 0a 20 20 63 61 69 72 6f 2d 74 6f 79 eate. cairo-toy
0eb0: 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 66 -font-face-get-f
0ec0: 61 6d 69 6c 79 20 63 61 69 72 6f 2d 74 6f 79 2d amily cairo-toy-
0ed0: 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 73 6c font-face-get-sl
0ee0: 61 6e 74 0a 20 20 63 61 69 72 6f 2d 74 6f 79 2d ant. cairo-toy-
0ef0: 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 77 65 font-face-get-we
0f00: 69 67 68 74 20 63 61 69 72 6f 2d 75 73 65 72 2d ight cairo-user-
0f10: 66 6f 6e 74 2d 66 61 63 65 2d 63 72 65 61 74 65 font-face-create
0f20: 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 2d 66 6f . cairo-user-fo
0f30: 6e 74 2d 66 61 63 65 2d 73 65 74 2d 69 6e 69 74 nt-face-set-init
0f40: 2d 66 75 6e 63 0a 20 20 63 61 69 72 6f 2d 75 73 -func. cairo-us
0f50: 65 72 2d 66 6f 6e 74 2d 66 61 63 65 2d 73 65 74 er-font-face-set
0f60: 2d 72 65 6e 64 65 72 2d 67 6c 79 70 68 2d 66 75 -render-glyph-fu
0f70: 6e 63 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 2d nc. cairo-user-
0f80: 66 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 74 65 font-face-set-te
0f90: 78 74 2d 74 6f 2d 67 6c 79 70 68 73 2d 66 75 6e xt-to-glyphs-fun
0fa0: 63 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 2d 66 c. cairo-user-f
0fb0: 6f 6e 74 2d 66 61 63 65 2d 73 65 74 2d 75 6e 69 ont-face-set-uni
0fc0: 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d 66 75 code-to-glyph-fu
0fd0: 6e 63 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 2d nc. cairo-user-
0fe0: 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 69 6e font-face-get-in
0ff0: 69 74 2d 66 75 6e 63 0a 20 20 63 61 69 72 6f 2d it-func. cairo-
1000: 75 73 65 72 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 user-font-face-g
1010: 65 74 2d 72 65 6e 64 65 72 2d 67 6c 79 70 68 2d et-render-glyph-
1020: 66 75 6e 63 0a 20 20 63 61 69 72 6f 2d 75 73 65 func. cairo-use
1030: 72 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d r-font-face-get-
1040: 74 65 78 74 2d 74 6f 2d 67 6c 79 70 68 73 2d 66 text-to-glyphs-f
1050: 75 6e 63 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 unc. cairo-user
1060: 2d 66 6f 6e 74 2d 66 61 63 65 2d 67 65 74 2d 75 -font-face-get-u
1070: 6e 69 63 6f 64 65 2d 74 6f 2d 67 6c 79 70 68 2d nicode-to-glyph-
1080: 66 75 6e 63 20 63 61 69 72 6f 2d 67 65 74 2d 6f func cairo-get-o
1090: 70 65 72 61 74 6f 72 0a 20 20 63 61 69 72 6f 2d perator. cairo-
10a0: 67 65 74 2d 73 6f 75 72 63 65 20 63 61 69 72 6f get-source cairo
10b0: 2d 67 65 74 2d 74 6f 6c 65 72 61 6e 63 65 20 63 -get-tolerance c
10c0: 61 69 72 6f 2d 67 65 74 2d 61 6e 74 69 61 6c 69 airo-get-antiali
10d0: 61 73 0a 20 20 63 61 69 72 6f 2d 68 61 73 2d 63 as. cairo-has-c
10e0: 75 72 72 65 6e 74 2d 70 6f 69 6e 74 20 63 61 69 urrent-point cai
10f0: 72 6f 2d 67 65 74 2d 63 75 72 72 65 6e 74 2d 70 ro-get-current-p
1100: 6f 69 6e 74 20 63 61 69 72 6f 2d 67 65 74 2d 66 oint cairo-get-f
1110: 69 6c 6c 2d 72 75 6c 65 0a 20 20 63 61 69 72 6f ill-rule. cairo
1120: 2d 67 65 74 2d 6c 69 6e 65 2d 77 69 64 74 68 20 -get-line-width
1130: 63 61 69 72 6f 2d 67 65 74 2d 6c 69 6e 65 2d 63 cairo-get-line-c
1140: 61 70 20 63 61 69 72 6f 2d 67 65 74 2d 6c 69 6e ap cairo-get-lin
1150: 65 2d 6a 6f 69 6e 0a 20 20 63 61 69 72 6f 2d 67 e-join. cairo-g
1160: 65 74 2d 6d 69 74 65 72 2d 6c 69 6d 69 74 20 63 et-miter-limit c
1170: 61 69 72 6f 2d 67 65 74 2d 64 61 73 68 2d 63 6f airo-get-dash-co
1180: 75 6e 74 20 63 61 69 72 6f 2d 67 65 74 2d 64 61 unt cairo-get-da
1190: 73 68 0a 20 20 63 61 69 72 6f 2d 67 65 74 2d 6d sh. cairo-get-m
11a0: 61 74 72 69 78 20 63 61 69 72 6f 2d 67 65 74 2d atrix cairo-get-
11b0: 74 61 72 67 65 74 20 63 61 69 72 6f 2d 67 65 74 target cairo-get
11c0: 2d 67 72 6f 75 70 2d 74 61 72 67 65 74 0a 20 20 -group-target.
11d0: 63 61 69 72 6f 2d 63 6f 70 79 2d 70 61 74 68 20 cairo-copy-path
11e0: 63 61 69 72 6f 2d 63 6f 70 79 2d 70 61 74 68 2d cairo-copy-path-
11f0: 66 6c 61 74 20 63 61 69 72 6f 2d 61 70 70 65 6e flat cairo-appen
1200: 64 2d 70 61 74 68 0a 09 09 09 09 09 3b 63 61 69 d-path......;cai
1210: 72 6f 2d 70 61 74 68 2d 64 65 73 74 72 6f 79 20 ro-path-destroy
1220: 0a 20 20 63 61 69 72 6f 2d 73 74 61 74 75 73 20 . cairo-status
1230: 63 61 69 72 6f 2d 73 74 61 74 75 73 2d 74 6f 2d cairo-status-to-
1240: 73 74 72 69 6e 67 0a 09 09 09 09 09 3b 63 61 69 string......;cai
1250: 72 6f 2d 64 65 76 69 63 65 2d 72 65 66 65 72 65 ro-device-refere
1260: 6e 63 65 20 0a 20 20 63 61 69 72 6f 2d 64 65 76 nce . cairo-dev
1270: 69 63 65 2d 67 65 74 2d 74 79 70 65 20 63 61 69 ice-get-type cai
1280: 72 6f 2d 64 65 76 69 63 65 2d 73 74 61 74 75 73 ro-device-status
1290: 0a 20 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d . cairo-device-
12a0: 61 63 71 75 69 72 65 20 63 61 69 72 6f 2d 64 65 acquire cairo-de
12b0: 76 69 63 65 2d 72 65 6c 65 61 73 65 20 63 61 69 vice-release cai
12c0: 72 6f 2d 64 65 76 69 63 65 2d 66 6c 75 73 68 0a ro-device-flush.
12d0: 20 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 66 cairo-device-f
12e0: 69 6e 69 73 68 20 0a 09 09 09 09 09 3b 63 61 69 inish ......;cai
12f0: 72 6f 2d 64 65 76 69 63 65 2d 64 65 73 74 72 6f ro-device-destro
1300: 79 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 67 y cairo-device-g
1310: 65 74 2d 72 65 66 65 72 65 6e 63 65 2d 63 6f 75 et-reference-cou
1320: 6e 74 20 0a 20 20 63 61 69 72 6f 2d 64 65 76 69 nt . cairo-devi
1330: 63 65 2d 67 65 74 2d 75 73 65 72 2d 64 61 74 61 ce-get-user-data
1340: 0a 20 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d . cairo-device-
1350: 73 65 74 2d 75 73 65 72 2d 64 61 74 61 20 63 61 set-user-data ca
1360: 69 72 6f 2d 73 75 72 66 61 63 65 2d 63 72 65 61 iro-surface-crea
1370: 74 65 2d 73 69 6d 69 6c 61 72 0a 20 20 63 61 69 te-similar. cai
1380: 72 6f 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74 ro-surface-creat
1390: 65 2d 73 69 6d 69 6c 61 72 2d 69 6d 61 67 65 20 e-similar-image
13a0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6d 61 cairo-surface-ma
13b0: 70 2d 74 6f 2d 69 6d 61 67 65 0a 20 20 63 61 69 p-to-image. cai
13c0: 72 6f 2d 73 75 72 66 61 63 65 2d 75 6e 6d 61 70 ro-surface-unmap
13d0: 2d 69 6d 61 67 65 20 63 61 69 72 6f 2d 73 75 72 -image cairo-sur
13e0: 66 61 63 65 2d 63 72 65 61 74 65 2d 66 6f 72 2d face-create-for-
13f0: 72 65 63 74 61 6e 67 6c 65 0a 20 20 63 61 69 72 rectangle. cair
1400: 6f 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74 65 o-surface-create
1410: 2d 6f 62 73 65 72 76 65 72 0a 20 20 63 61 69 72 -observer. cair
1420: 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 o-surface-observ
1430: 65 72 2d 61 64 64 2d 70 61 69 6e 74 2d 63 61 6c er-add-paint-cal
1440: 6c 62 61 63 6b 0a 20 20 63 61 69 72 6f 2d 73 75 lback. cairo-su
1450: 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 61 rface-observer-a
1460: 64 64 2d 6d 61 73 6b 2d 63 61 6c 6c 62 61 63 6b dd-mask-callback
1470: 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 . cairo-surface
1480: 2d 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 66 69 -observer-add-fi
1490: 6c 6c 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 63 61 ll-callback. ca
14a0: 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 iro-surface-obse
14b0: 72 76 65 72 2d 61 64 64 2d 73 74 72 6f 6b 65 2d rver-add-stroke-
14c0: 63 61 6c 6c 62 61 63 6b 0a 20 20 63 61 69 72 6f callback. cairo
14d0: 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 72 76 65 -surface-observe
14e0: 72 2d 61 64 64 2d 67 6c 79 70 68 73 2d 63 61 6c r-add-glyphs-cal
14f0: 6c 62 61 63 6b 0a 20 20 63 61 69 72 6f 2d 73 75 lback. cairo-su
1500: 72 66 61 63 65 2d 6f 62 73 65 72 76 65 72 2d 61 rface-observer-a
1510: 64 64 2d 66 6c 75 73 68 2d 63 61 6c 6c 62 61 63 dd-flush-callbac
1520: 6b 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 k. cairo-surfac
1530: 65 2d 6f 62 73 65 72 76 65 72 2d 61 64 64 2d 66 e-observer-add-f
1540: 69 6e 69 73 68 2d 63 61 6c 6c 62 61 63 6b 0a 20 inish-callback.
1550: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f cairo-surface-o
1560: 62 73 65 72 76 65 72 2d 70 72 69 6e 74 20 63 61 bserver-print ca
1570: 69 72 6f 2d 73 75 72 66 61 63 65 2d 6f 62 73 65 iro-surface-obse
1580: 72 76 65 72 2d 65 6c 61 70 73 65 64 0a 20 20 63 rver-elapsed. c
1590: 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f 62 73 65 airo-device-obse
15a0: 72 76 65 72 2d 70 72 69 6e 74 20 63 61 69 72 6f rver-print cairo
15b0: 2d 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72 -device-observer
15c0: 2d 65 6c 61 70 73 65 64 0a 20 20 63 61 69 72 6f -elapsed. cairo
15d0: 2d 64 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72 -device-observer
15e0: 2d 70 61 69 6e 74 2d 65 6c 61 70 73 65 64 20 63 -paint-elapsed c
15f0: 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f 62 73 65 airo-device-obse
1600: 72 76 65 72 2d 6d 61 73 6b 2d 65 6c 61 70 73 65 rver-mask-elapse
1610: 64 0a 20 20 63 61 69 72 6f 2d 64 65 76 69 63 65 d. cairo-device
1620: 2d 6f 62 73 65 72 76 65 72 2d 66 69 6c 6c 2d 65 -observer-fill-e
1630: 6c 61 70 73 65 64 0a 20 20 63 61 69 72 6f 2d 64 lapsed. cairo-d
1640: 65 76 69 63 65 2d 6f 62 73 65 72 76 65 72 2d 73 evice-observer-s
1650: 74 72 6f 6b 65 2d 65 6c 61 70 73 65 64 0a 20 20 troke-elapsed.
1660: 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 6f 62 73 cairo-device-obs
1670: 65 72 76 65 72 2d 67 6c 79 70 68 73 2d 65 6c 61 erver-glyphs-ela
1680: 70 73 65 64 20 0a 09 09 09 09 09 3b 63 61 69 72 psed ......;cair
1690: 6f 2d 73 75 72 66 61 63 65 2d 72 65 66 65 72 65 o-surface-refere
16a0: 6e 63 65 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 nce. cairo-surf
16b0: 61 63 65 2d 66 69 6e 69 73 68 20 0a 09 09 09 09 ace-finish .....
16c0: 09 3b 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d .;cairo-surface-
16d0: 64 65 73 74 72 6f 79 20 0a 20 20 63 61 69 72 6f destroy . cairo
16e0: 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 64 65 76 -surface-get-dev
16f0: 69 63 65 0a 09 09 09 09 09 3b 63 61 69 72 6f 2d ice......;cairo-
1700: 73 75 72 66 61 63 65 2d 67 65 74 2d 72 65 66 65 surface-get-refe
1710: 72 65 6e 63 65 2d 63 6f 75 6e 74 20 0a 20 20 63 rence-count . c
1720: 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 73 74 61 airo-surface-sta
1730: 74 75 73 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 tus. cairo-surf
1740: 61 63 65 2d 67 65 74 2d 74 79 70 65 20 63 61 69 ace-get-type cai
1750: 72 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 63 ro-surface-get-c
1760: 6f 6e 74 65 6e 74 0a 20 20 63 61 69 72 6f 2d 73 ontent. cairo-s
1770: 75 72 66 61 63 65 2d 77 72 69 74 65 2d 74 6f 2d urface-write-to-
1780: 70 6e 67 20 63 61 69 72 6f 2d 73 75 72 66 61 63 png cairo-surfac
1790: 65 2d 77 72 69 74 65 2d 74 6f 2d 70 6e 67 2d 73 e-write-to-png-s
17a0: 74 72 65 61 6d 0a 20 20 63 61 69 72 6f 2d 73 75 tream. cairo-su
17b0: 72 66 61 63 65 2d 67 65 74 2d 75 73 65 72 2d 64 rface-get-user-d
17c0: 61 74 61 20 63 61 69 72 6f 2d 73 75 72 66 61 63 ata cairo-surfac
17d0: 65 2d 73 65 74 2d 75 73 65 72 2d 64 61 74 61 0a e-set-user-data.
17e0: 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d cairo-surface-
17f0: 67 65 74 2d 6d 69 6d 65 2d 64 61 74 61 20 63 61 get-mime-data ca
1800: 69 72 6f 2d 73 75 72 66 61 63 65 2d 73 65 74 2d iro-surface-set-
1810: 6d 69 6d 65 2d 64 61 74 61 0a 20 20 63 61 69 72 mime-data. cair
1820: 6f 2d 73 75 72 66 61 63 65 2d 73 75 70 70 6f 72 o-surface-suppor
1830: 74 73 2d 6d 69 6d 65 2d 74 79 70 65 20 63 61 69 ts-mime-type cai
1840: 72 6f 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 66 ro-surface-get-f
1850: 6f 6e 74 2d 6f 70 74 69 6f 6e 73 0a 20 20 63 61 ont-options. ca
1860: 69 72 6f 2d 73 75 72 66 61 63 65 2d 66 6c 75 73 iro-surface-flus
1870: 68 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d h cairo-surface-
1880: 6d 61 72 6b 2d 64 69 72 74 79 0a 20 20 63 61 69 mark-dirty. cai
1890: 72 6f 2d 73 75 72 66 61 63 65 2d 6d 61 72 6b 2d ro-surface-mark-
18a0: 64 69 72 74 79 2d 72 65 63 74 61 6e 67 6c 65 20 dirty-rectangle
18b0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 73 65 cairo-surface-se
18c0: 74 2d 64 65 76 69 63 65 2d 73 63 61 6c 65 0a 20 t-device-scale.
18d0: 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 67 cairo-surface-g
18e0: 65 74 2d 64 65 76 69 63 65 2d 73 63 61 6c 65 20 et-device-scale
18f0: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 73 65 cairo-surface-se
1900: 74 2d 64 65 76 69 63 65 2d 6f 66 66 73 65 74 0a t-device-offset.
1910: 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d cairo-surface-
1920: 67 65 74 2d 64 65 76 69 63 65 2d 6f 66 66 73 65 get-device-offse
1930: 74 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d t cairo-surface-
1940: 73 65 74 2d 66 61 6c 6c 62 61 63 6b 2d 72 65 73 set-fallback-res
1950: 6f 6c 75 74 69 6f 6e 0a 20 20 63 61 69 72 6f 2d olution. cairo-
1960: 73 75 72 66 61 63 65 2d 67 65 74 2d 66 61 6c 6c surface-get-fall
1970: 62 61 63 6b 2d 72 65 73 6f 6c 75 74 69 6f 6e 20 back-resolution
1980: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 63 6f cairo-surface-co
1990: 70 79 2d 70 61 67 65 0a 20 20 63 61 69 72 6f 2d py-page. cairo-
19a0: 73 75 72 66 61 63 65 2d 73 68 6f 77 2d 70 61 67 surface-show-pag
19b0: 65 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d e cairo-surface-
19c0: 68 61 73 2d 73 68 6f 77 2d 74 65 78 74 2d 67 6c has-show-text-gl
19d0: 79 70 68 73 0a 20 20 63 61 69 72 6f 2d 69 6d 61 yphs. cairo-ima
19e0: 67 65 2d 73 75 72 66 61 63 65 2d 63 72 65 61 74 ge-surface-creat
19f0: 65 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d 73 e cairo-format-s
1a00: 74 72 69 64 65 2d 66 6f 72 2d 77 69 64 74 68 0a tride-for-width.
1a10: 20 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 75 cairo-image-su
1a20: 72 66 61 63 65 2d 63 72 65 61 74 65 2d 66 6f 72 rface-create-for
1a30: 2d 64 61 74 61 20 63 61 69 72 6f 2d 69 6d 61 67 -data cairo-imag
1a40: 65 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 64 61 e-surface-get-da
1a50: 74 61 0a 20 20 63 61 69 72 6f 2d 69 6d 61 67 65 ta. cairo-image
1a60: 2d 73 75 72 66 61 63 65 2d 67 65 74 2d 66 6f 72 -surface-get-for
1a70: 6d 61 74 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d mat cairo-image-
1a80: 73 75 72 66 61 63 65 2d 67 65 74 2d 77 69 64 74 surface-get-widt
1a90: 68 0a 20 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d h. cairo-image-
1aa0: 73 75 72 66 61 63 65 2d 67 65 74 2d 68 65 69 67 surface-get-heig
1ab0: 68 74 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d 73 ht cairo-image-s
1ac0: 75 72 66 61 63 65 2d 67 65 74 2d 73 74 72 69 64 urface-get-strid
1ad0: 65 0a 20 20 63 61 69 72 6f 2d 69 6d 61 67 65 2d e. cairo-image-
1ae0: 73 75 72 66 61 63 65 2d 63 72 65 61 74 65 2d 66 surface-create-f
1af0: 72 6f 6d 2d 70 6e 67 0a 20 20 63 61 69 72 6f 2d rom-png. cairo-
1b00: 69 6d 61 67 65 2d 73 75 72 66 61 63 65 2d 63 72 image-surface-cr
1b10: 65 61 74 65 2d 66 72 6f 6d 2d 70 6e 67 2d 73 74 eate-from-png-st
1b20: 72 65 61 6d 0a 20 20 63 61 69 72 6f 2d 72 65 63 ream. cairo-rec
1b30: 6f 72 64 69 6e 67 2d 73 75 72 66 61 63 65 2d 63 ording-surface-c
1b40: 72 65 61 74 65 20 63 61 69 72 6f 2d 72 65 63 6f reate cairo-reco
1b50: 72 64 69 6e 67 2d 73 75 72 66 61 63 65 2d 69 6e rding-surface-in
1b60: 6b 2d 65 78 74 65 6e 74 73 0a 20 20 63 61 69 72 k-extents. cair
1b70: 6f 2d 72 65 63 6f 72 64 69 6e 67 2d 73 75 72 66 o-recording-surf
1b80: 61 63 65 2d 67 65 74 2d 65 78 74 65 6e 74 73 20 ace-get-extents
1b90: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72 cairo-pattern-cr
1ba0: 65 61 74 65 2d 72 61 73 74 65 72 2d 73 6f 75 72 eate-raster-sour
1bb0: 63 65 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 65 ce. cairo-raste
1bc0: 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e r-source-pattern
1bd0: 2d 73 65 74 2d 63 61 6c 6c 62 61 63 6b 2d 64 61 -set-callback-da
1be0: 74 61 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 65 ta. cairo-raste
1bf0: 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e r-source-pattern
1c00: 2d 67 65 74 2d 63 61 6c 6c 62 61 63 6b 2d 64 61 -get-callback-da
1c10: 74 61 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 65 ta. cairo-raste
1c20: 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e r-source-pattern
1c30: 2d 73 65 74 2d 61 63 71 75 69 72 65 0a 20 20 63 -set-acquire. c
1c40: 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 airo-raster-sour
1c50: 63 65 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d 61 ce-pattern-get-a
1c60: 63 71 75 69 72 65 0a 20 20 63 61 69 72 6f 2d 72 cquire. cairo-r
1c70: 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 aster-source-pat
1c80: 74 65 72 6e 2d 73 65 74 2d 73 6e 61 70 73 68 6f tern-set-snapsho
1c90: 74 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 65 72 t. cairo-raster
1ca0: 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 6e 2d -source-pattern-
1cb0: 67 65 74 2d 73 6e 61 70 73 68 6f 74 0a 20 20 63 get-snapshot. c
1cc0: 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 airo-raster-sour
1cd0: 63 65 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 63 ce-pattern-set-c
1ce0: 6f 70 79 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 opy. cairo-rast
1cf0: 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 er-source-patter
1d00: 6e 2d 67 65 74 2d 63 6f 70 79 0a 20 20 63 61 69 n-get-copy. cai
1d10: 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 ro-raster-source
1d20: 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 66 69 6e -pattern-set-fin
1d30: 69 73 68 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 ish. cairo-rast
1d40: 65 72 2d 73 6f 75 72 63 65 2d 70 61 74 74 65 72 er-source-patter
1d50: 6e 2d 67 65 74 2d 66 69 6e 69 73 68 20 63 61 69 n-get-finish cai
1d60: 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72 65 61 74 ro-pattern-creat
1d70: 65 2d 72 67 62 0a 20 20 63 61 69 72 6f 2d 70 61 e-rgb. cairo-pa
1d80: 74 74 65 72 6e 2d 63 72 65 61 74 65 2d 72 67 62 ttern-create-rgb
1d90: 61 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d a cairo-pattern-
1da0: 63 72 65 61 74 65 2d 66 6f 72 2d 73 75 72 66 61 create-for-surfa
1db0: 63 65 0a 20 20 63 61 69 72 6f 2d 70 61 74 74 65 ce. cairo-patte
1dc0: 72 6e 2d 63 72 65 61 74 65 2d 6c 69 6e 65 61 72 rn-create-linear
1dd0: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 cairo-pattern-c
1de0: 72 65 61 74 65 2d 72 61 64 69 61 6c 0a 20 20 63 reate-radial. c
1df0: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 63 72 65 airo-pattern-cre
1e00: 61 74 65 2d 6d 65 73 68 20 0a 09 09 09 09 09 3b ate-mesh ......;
1e10: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 72 65 cairo-pattern-re
1e20: 66 65 72 65 6e 63 65 20 63 61 69 72 6f 2d 70 61 ference cairo-pa
1e30: 74 74 65 72 6e 2d 64 65 73 74 72 6f 79 20 63 61 ttern-destroy ca
1e40: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d iro-pattern-get-
1e50: 72 65 66 65 72 65 6e 63 65 2d 63 6f 75 6e 74 0a reference-count.
1e60: 20 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d cairo-pattern-
1e70: 73 74 61 74 75 73 20 63 61 69 72 6f 2d 70 61 74 status cairo-pat
1e80: 74 65 72 6e 2d 67 65 74 2d 75 73 65 72 2d 64 61 tern-get-user-da
1e90: 74 61 0a 20 20 63 61 69 72 6f 2d 70 61 74 74 65 ta. cairo-patte
1ea0: 72 6e 2d 73 65 74 2d 75 73 65 72 2d 64 61 74 61 rn-set-user-data
1eb0: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 cairo-pattern-g
1ec0: 65 74 2d 74 79 70 65 0a 20 20 63 61 69 72 6f 2d et-type. cairo-
1ed0: 70 61 74 74 65 72 6e 2d 61 64 64 2d 63 6f 6c 6f pattern-add-colo
1ee0: 72 2d 73 74 6f 70 2d 72 67 62 20 63 61 69 72 6f r-stop-rgb cairo
1ef0: 2d 70 61 74 74 65 72 6e 2d 61 64 64 2d 63 6f 6c -pattern-add-col
1f00: 6f 72 2d 73 74 6f 70 2d 72 67 62 61 0a 20 20 63 or-stop-rgba. c
1f10: 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72 airo-mesh-patter
1f20: 6e 2d 62 65 67 69 6e 2d 70 61 74 63 68 20 63 61 n-begin-patch ca
1f30: 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e iro-mesh-pattern
1f40: 2d 65 6e 64 2d 70 61 74 63 68 0a 20 20 63 61 69 -end-patch. cai
1f50: 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 72 6e 2d ro-mesh-pattern-
1f60: 63 75 72 76 65 2d 74 6f 20 63 61 69 72 6f 2d 6d curve-to cairo-m
1f70: 65 73 68 2d 70 61 74 74 65 72 6e 2d 6c 69 6e 65 esh-pattern-line
1f80: 2d 74 6f 0a 20 20 63 61 69 72 6f 2d 6d 65 73 68 -to. cairo-mesh
1f90: 2d 70 61 74 74 65 72 6e 2d 6d 6f 76 65 2d 74 6f -pattern-move-to
1fa0: 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 cairo-mesh-patt
1fb0: 65 72 6e 2d 73 65 74 2d 63 6f 6e 74 72 6f 6c 2d ern-set-control-
1fc0: 70 6f 69 6e 74 0a 20 20 63 61 69 72 6f 2d 6d 65 point. cairo-me
1fd0: 73 68 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 63 sh-pattern-set-c
1fe0: 6f 72 6e 65 72 2d 63 6f 6c 6f 72 2d 72 67 62 0a orner-color-rgb.
1ff0: 20 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 cairo-mesh-pat
2000: 74 65 72 6e 2d 73 65 74 2d 63 6f 72 6e 65 72 2d tern-set-corner-
2010: 63 6f 6c 6f 72 2d 72 67 62 61 20 63 61 69 72 6f color-rgba cairo
2020: 2d 70 61 74 74 65 72 6e 2d 73 65 74 2d 6d 61 74 -pattern-set-mat
2030: 72 69 78 0a 20 20 63 61 69 72 6f 2d 70 61 74 74 rix. cairo-patt
2040: 65 72 6e 2d 67 65 74 2d 6d 61 74 72 69 78 20 63 ern-get-matrix c
2050: 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 73 65 74 airo-pattern-set
2060: 2d 65 78 74 65 6e 64 0a 20 20 63 61 69 72 6f 2d -extend. cairo-
2070: 70 61 74 74 65 72 6e 2d 67 65 74 2d 65 78 74 65 pattern-get-exte
2080: 6e 64 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e nd cairo-pattern
2090: 2d 73 65 74 2d 66 69 6c 74 65 72 0a 20 20 63 61 -set-filter. ca
20a0: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d iro-pattern-get-
20b0: 66 69 6c 74 65 72 20 63 61 69 72 6f 2d 70 61 74 filter cairo-pat
20c0: 74 65 72 6e 2d 67 65 74 2d 72 67 62 61 0a 20 20 tern-get-rgba.
20d0: 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 cairo-pattern-ge
20e0: 74 2d 73 75 72 66 61 63 65 20 63 61 69 72 6f 2d t-surface cairo-
20f0: 70 61 74 74 65 72 6e 2d 67 65 74 2d 63 6f 6c 6f pattern-get-colo
2100: 72 2d 73 74 6f 70 2d 72 67 62 61 0a 20 20 63 61 r-stop-rgba. ca
2110: 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d iro-pattern-get-
2120: 63 6f 6c 6f 72 2d 73 74 6f 70 2d 63 6f 75 6e 74 color-stop-count
2130: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 67 cairo-pattern-g
2140: 65 74 2d 6c 69 6e 65 61 72 2d 70 6f 69 6e 74 73 et-linear-points
2150: 0a 20 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e . cairo-pattern
2160: 2d 67 65 74 2d 72 61 64 69 61 6c 2d 63 69 72 63 -get-radial-circ
2170: 6c 65 73 20 63 61 69 72 6f 2d 6d 65 73 68 2d 70 les cairo-mesh-p
2180: 61 74 74 65 72 6e 2d 67 65 74 2d 70 61 74 63 68 attern-get-patch
2190: 2d 63 6f 75 6e 74 0a 20 20 63 61 69 72 6f 2d 6d -count. cairo-m
21a0: 65 73 68 2d 70 61 74 74 65 72 6e 2d 67 65 74 2d esh-pattern-get-
21b0: 70 61 74 68 20 63 61 69 72 6f 2d 6d 65 73 68 2d path cairo-mesh-
21c0: 70 61 74 74 65 72 6e 2d 67 65 74 2d 63 6f 72 6e pattern-get-corn
21d0: 65 72 2d 63 6f 6c 6f 72 2d 72 67 62 61 0a 20 20 er-color-rgba.
21e0: 63 61 69 72 6f 2d 6d 65 73 68 2d 70 61 74 74 65 cairo-mesh-patte
21f0: 72 6e 2d 67 65 74 2d 63 6f 6e 74 72 6f 6c 2d 70 rn-get-control-p
2200: 6f 69 6e 74 20 63 61 69 72 6f 2d 6d 61 74 72 69 oint cairo-matri
2210: 78 2d 69 6e 69 74 0a 20 20 63 61 69 72 6f 2d 6d x-init. cairo-m
2220: 61 74 72 69 78 2d 69 6e 69 74 2d 69 64 65 6e 74 atrix-init-ident
2230: 69 74 79 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 ity cairo-matrix
2240: 2d 69 6e 69 74 2d 74 72 61 6e 73 6c 61 74 65 0a -init-translate.
2250: 20 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 69 cairo-matrix-i
2260: 6e 69 74 2d 73 63 61 6c 65 20 63 61 69 72 6f 2d nit-scale cairo-
2270: 6d 61 74 72 69 78 2d 69 6e 69 74 2d 72 6f 74 61 matrix-init-rota
2280: 74 65 0a 20 20 63 61 69 72 6f 2d 6d 61 74 72 69 te. cairo-matri
2290: 78 2d 74 72 61 6e 73 6c 61 74 65 20 63 61 69 72 x-translate cair
22a0: 6f 2d 6d 61 74 72 69 78 2d 73 63 61 6c 65 20 63 o-matrix-scale c
22b0: 61 69 72 6f 2d 6d 61 74 72 69 78 2d 72 6f 74 61 airo-matrix-rota
22c0: 74 65 0a 20 20 63 61 69 72 6f 2d 6d 61 74 72 69 te. cairo-matri
22d0: 78 2d 69 6e 76 65 72 74 20 63 61 69 72 6f 2d 6d x-invert cairo-m
22e0: 61 74 72 69 78 2d 6d 75 6c 74 69 70 6c 79 0a 20 atrix-multiply.
22f0: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 72 cairo-matrix-tr
2300: 61 6e 73 66 6f 72 6d 2d 64 69 73 74 61 6e 63 65 ansform-distance
2310: 20 63 61 69 72 6f 2d 6d 61 74 72 69 78 2d 74 72 cairo-matrix-tr
2320: 61 6e 73 66 6f 72 6d 2d 70 6f 69 6e 74 0a 20 20 ansform-point.
2330: 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 63 72 65 cairo-region-cre
2340: 61 74 65 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e ate cairo-region
2350: 2d 63 72 65 61 74 65 2d 72 65 63 74 61 6e 67 6c -create-rectangl
2360: 65 0a 20 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e e. cairo-region
2370: 2d 63 72 65 61 74 65 2d 72 65 63 74 61 6e 67 6c -create-rectangl
2380: 65 73 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d es cairo-region-
2390: 63 6f 70 79 0a 09 09 09 09 09 3b 63 61 69 72 6f copy......;cairo
23a0: 2d 72 65 67 69 6f 6e 2d 72 65 66 65 72 65 6e 63 -region-referenc
23b0: 65 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 64 e cairo-region-d
23c0: 65 73 74 72 6f 79 20 0a 20 20 63 61 69 72 6f 2d estroy . cairo-
23d0: 72 65 67 69 6f 6e 2d 65 71 75 61 6c 0a 20 20 63 region-equal. c
23e0: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 73 74 61 74 airo-region-stat
23f0: 75 73 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d us cairo-region-
2400: 67 65 74 2d 65 78 74 65 6e 74 73 0a 20 20 63 61 get-extents. ca
2410: 69 72 6f 2d 72 65 67 69 6f 6e 2d 6e 75 6d 2d 72 iro-region-num-r
2420: 65 63 74 61 6e 67 6c 65 73 20 63 61 69 72 6f 2d ectangles cairo-
2430: 72 65 67 69 6f 6e 2d 67 65 74 2d 72 65 63 74 61 region-get-recta
2440: 6e 67 6c 65 0a 20 20 63 61 69 72 6f 2d 72 65 67 ngle. cairo-reg
2450: 69 6f 6e 2d 69 73 2d 65 6d 70 74 79 20 63 61 69 ion-is-empty cai
2460: 72 6f 2d 72 65 67 69 6f 6e 2d 63 6f 6e 74 61 69 ro-region-contai
2470: 6e 73 2d 72 65 63 74 61 6e 67 6c 65 0a 20 20 63 ns-rectangle. c
2480: 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 63 6f 6e 74 airo-region-cont
2490: 61 69 6e 73 2d 70 6f 69 6e 74 20 63 61 69 72 6f ains-point cairo
24a0: 2d 72 65 67 69 6f 6e 2d 74 72 61 6e 73 6c 61 74 -region-translat
24b0: 65 0a 20 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e e. cairo-region
24c0: 2d 73 75 62 74 72 61 63 74 20 63 61 69 72 6f 2d -subtract cairo-
24d0: 72 65 67 69 6f 6e 2d 73 75 62 74 72 61 63 74 2d region-subtract-
24e0: 72 65 63 74 61 6e 67 6c 65 0a 20 20 63 61 69 72 rectangle. cair
24f0: 6f 2d 72 65 67 69 6f 6e 2d 69 6e 74 65 72 73 65 o-region-interse
2500: 63 74 20 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d ct cairo-region-
2510: 69 6e 74 65 72 73 65 63 74 2d 72 65 63 74 61 6e intersect-rectan
2520: 67 6c 65 0a 20 20 63 61 69 72 6f 2d 72 65 67 69 gle. cairo-regi
2530: 6f 6e 2d 75 6e 69 6f 6e 20 63 61 69 72 6f 2d 72 on-union cairo-r
2540: 65 67 69 6f 6e 2d 75 6e 69 6f 6e 2d 72 65 63 74 egion-union-rect
2550: 61 6e 67 6c 65 20 63 61 69 72 6f 2d 72 65 67 69 angle cairo-regi
2560: 6f 6e 2d 78 6f 72 0a 20 20 63 61 69 72 6f 2d 72 on-xor. cairo-r
2570: 65 67 69 6f 6e 2d 78 6f 72 2d 72 65 63 74 61 6e egion-xor-rectan
2580: 67 6c 65 20 63 61 69 72 6f 2d 64 65 62 75 67 2d gle cairo-debug-
2590: 72 65 73 65 74 2d 73 74 61 74 69 63 2d 64 61 74 reset-static-dat
25a0: 61 0a 20 20 63 61 69 72 6f 2d 70 64 66 2d 73 75 a. cairo-pdf-su
25b0: 72 66 61 63 65 2d 63 72 65 61 74 65 20 63 61 69 rface-create cai
25c0: 72 6f 2d 70 64 66 2d 73 75 72 66 61 63 65 2d 63 ro-pdf-surface-c
25d0: 72 65 61 74 65 2d 66 6f 72 2d 73 74 72 65 61 6d reate-for-stream
25e0: 0a 20 20 63 61 69 72 6f 2d 70 64 66 2d 73 75 72 . cairo-pdf-sur
25f0: 66 61 63 65 2d 72 65 73 74 72 69 63 74 2d 74 6f face-restrict-to
2600: 2d 76 65 72 73 69 6f 6e 20 63 61 69 72 6f 2d 70 -version cairo-p
2610: 64 66 2d 67 65 74 2d 76 65 72 73 69 6f 6e 73 0a df-get-versions.
2620: 20 20 63 61 69 72 6f 2d 70 64 66 2d 76 65 72 73 cairo-pdf-vers
2630: 69 6f 6e 2d 74 6f 2d 73 74 72 69 6e 67 20 63 61 ion-to-string ca
2640: 69 72 6f 2d 70 64 66 2d 73 75 72 66 61 63 65 2d iro-pdf-surface-
2650: 73 65 74 2d 73 69 7a 65 0a 0a 20 20 63 61 69 72 set-size.. cair
2660: 6f 2d 73 65 74 2d 73 6f 75 72 63 65 2d 63 6f 6c o-set-source-col
2670: 6f 72 0a 20 20 63 6f 6c 6f 72 2d 72 20 63 6f 6c or. color-r col
2680: 6f 72 2d 67 20 63 6f 6c 6f 72 2d 62 20 63 6f 6c or-g color-b col
2690: 6f 72 2d 61 0a 20 20 6d 61 6b 65 2d 63 6f 6c 6f or-a. make-colo
26a0: 72 20 63 6f 6c 6f 72 3f 0a 20 20 0a 20 20 75 6e r color?. . un
26b0: 73 69 67 6e 65 64 2d 38 2a 0a 20 20 63 61 69 72 signed-8*. cair
26c0: 6f 2d 62 6f 6f 6c 2d 74 0a 20 20 63 61 69 72 6f o-bool-t. cairo
26d0: 2d 74 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 -t. cairo-surfa
26e0: 63 65 2d 74 0a 20 20 63 61 69 72 6f 2d 73 75 72 ce-t. cairo-sur
26f0: 66 61 63 65 2d 74 2a 0a 20 20 63 61 69 72 6f 2d face-t*. cairo-
2700: 64 65 76 69 63 65 2d 74 0a 20 20 63 61 69 72 6f device-t. cairo
2710: 2d 6d 61 74 72 69 78 2d 74 0a 20 20 63 61 69 72 -matrix-t. cair
2720: 6f 2d 70 61 74 74 65 72 6e 2d 74 0a 20 20 63 61 o-pattern-t. ca
2730: 69 72 6f 2d 64 65 73 74 72 6f 79 2d 66 75 6e 63 iro-destroy-func
2740: 2d 74 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 2d -t. cairo-user-
2750: 64 61 74 61 2d 6b 65 79 2d 74 0a 20 20 63 61 69 data-key-t. cai
2760: 72 6f 2d 73 74 61 74 75 73 2d 74 0a 20 20 63 61 ro-status-t. ca
2770: 69 72 6f 2d 63 6f 6e 74 65 6e 74 2d 74 0a 20 20 iro-content-t.
2780: 63 61 69 72 6f 2d 66 6f 72 6d 61 74 2d 74 0a 20 cairo-format-t.
2790: 20 63 61 69 72 6f 2d 77 72 69 74 65 2d 66 75 6e cairo-write-fun
27a0: 63 2d 74 0a 20 20 63 61 69 72 6f 2d 72 65 61 64 c-t. cairo-read
27b0: 2d 66 75 6e 63 2d 74 0a 20 20 63 61 69 72 6f 2d -func-t. cairo-
27c0: 72 65 63 74 61 6e 67 6c 65 2d 69 6e 74 2d 74 0a rectangle-int-t.
27d0: 20 20 63 61 69 72 6f 2d 6f 70 65 72 61 74 6f 72 cairo-operator
27e0: 2d 74 0a 20 20 63 61 69 72 6f 2d 61 6e 74 69 61 -t. cairo-antia
27f0: 6c 69 61 73 2d 74 0a 20 20 63 61 69 72 6f 2d 66 lias-t. cairo-f
2800: 69 6c 6c 2d 72 75 6c 65 2d 74 0a 20 20 63 61 69 ill-rule-t. cai
2810: 72 6f 2d 6c 69 6e 65 2d 63 61 70 2d 74 0a 20 20 ro-line-cap-t.
2820: 63 61 69 72 6f 2d 6c 69 6e 65 2d 6a 6f 69 6e 2d cairo-line-join-
2830: 74 0a 20 20 64 6f 75 62 6c 65 2d 61 72 72 61 79 t. double-array
2840: 0a 20 20 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 . cairo-rectang
2850: 6c 65 2d 74 0a 20 20 63 61 69 72 6f 2d 72 65 63 le-t. cairo-rec
2860: 74 61 6e 67 6c 65 2d 6c 69 73 74 2d 74 0a 20 20 tangle-list-t.
2870: 63 61 69 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e cairo-scaled-fon
2880: 74 2d 74 0a 20 20 63 61 69 72 6f 2d 66 6f 6e 74 t-t. cairo-font
2890: 2d 66 61 63 65 2d 74 0a 20 20 63 61 69 72 6f 2d -face-t. cairo-
28a0: 67 6c 79 70 68 2d 74 0a 20 20 63 61 69 72 6f 2d glyph-t. cairo-
28b0: 67 6c 79 70 68 2d 74 2a 0a 20 20 63 61 69 72 6f glyph-t*. cairo
28c0: 2d 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 74 0a -text-cluster-t.
28d0: 20 20 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 cairo-text-clu
28e0: 73 74 65 72 2d 74 2a 0a 20 20 63 61 69 72 6f 2d ster-t*. cairo-
28f0: 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 66 6c 61 text-cluster-fla
2900: 67 73 2d 74 0a 20 20 63 61 69 72 6f 2d 74 65 78 gs-t. cairo-tex
2910: 74 2d 65 78 74 65 6e 74 73 2d 74 0a 20 20 63 61 t-extents-t. ca
2920: 69 72 6f 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 iro-font-extents
2930: 2d 74 0a 20 20 63 61 69 72 6f 2d 66 6f 6e 74 2d -t. cairo-font-
2940: 73 6c 61 6e 74 2d 74 0a 20 20 63 61 69 72 6f 2d slant-t. cairo-
2950: 66 6f 6e 74 2d 77 65 69 67 68 74 2d 74 0a 20 20 font-weight-t.
2960: 63 61 69 72 6f 2d 73 75 62 70 69 78 65 6c 2d 6f cairo-subpixel-o
2970: 72 64 65 72 2d 74 0a 20 20 63 61 69 72 6f 2d 68 rder-t. cairo-h
2980: 69 6e 74 2d 73 74 79 6c 65 2d 74 0a 20 20 63 61 int-style-t. ca
2990: 69 72 6f 2d 68 69 6e 74 2d 6d 65 74 72 69 63 73 iro-hint-metrics
29a0: 2d 74 0a 20 20 63 61 69 72 6f 2d 66 6f 6e 74 2d -t. cairo-font-
29b0: 6f 70 74 69 6f 6e 73 2d 74 0a 20 20 63 61 69 72 options-t. cair
29c0: 6f 2d 66 6f 6e 74 2d 74 79 70 65 2d 74 0a 20 20 o-font-type-t.
29d0: 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c 65 cairo-user-scale
29e0: 64 2d 66 6f 6e 74 2d 69 6e 69 74 2d 66 75 6e 63 d-font-init-func
29f0: 2d 74 0a 20 20 63 61 69 72 6f 2d 75 73 65 72 2d -t. cairo-user-
2a00: 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 72 65 6e 64 scaled-font-rend
2a10: 65 72 2d 67 6c 79 70 68 2d 66 75 6e 63 2d 74 0a er-glyph-func-t.
2a20: 20 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 cairo-user-sca
2a30: 6c 65 64 2d 66 6f 6e 74 2d 74 65 78 74 2d 74 6f led-font-text-to
2a40: 2d 67 6c 79 70 68 73 2d 66 75 6e 63 2d 74 0a 20 -glyphs-func-t.
2a50: 20 63 61 69 72 6f 2d 75 73 65 72 2d 73 63 61 6c cairo-user-scal
2a60: 65 64 2d 66 6f 6e 74 2d 75 6e 69 63 6f 64 65 2d ed-font-unicode-
2a70: 74 6f 2d 67 6c 79 70 68 2d 66 75 6e 63 2d 74 0a to-glyph-func-t.
2a80: 20 20 63 61 69 72 6f 2d 70 61 74 68 2d 64 61 74 cairo-path-dat
2a90: 61 2d 74 79 70 65 2d 74 0a 20 20 63 61 69 72 6f a-type-t. cairo
2aa0: 2d 70 61 74 68 2d 64 61 74 61 2d 74 0a 20 20 63 -path-data-t. c
2ab0: 61 69 72 6f 2d 70 61 74 68 2d 74 0a 20 20 63 61 airo-path-t. ca
2ac0: 69 72 6f 2d 64 65 76 69 63 65 2d 74 79 70 65 2d iro-device-type-
2ad0: 74 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 t. cairo-surfac
2ae0: 65 2d 6f 62 73 65 72 76 65 72 2d 6d 6f 64 65 2d e-observer-mode-
2af0: 74 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 t. cairo-surfac
2b00: 65 2d 6f 62 73 65 72 76 65 72 2d 63 61 6c 6c 62 e-observer-callb
2b10: 61 63 6b 2d 74 0a 20 20 63 61 69 72 6f 2d 73 75 ack-t. cairo-su
2b20: 72 66 61 63 65 2d 74 79 70 65 2d 74 0a 20 20 63 rface-type-t. c
2b30: 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 airo-raster-sour
2b40: 63 65 2d 61 63 71 75 69 72 65 2d 66 75 6e 63 2d ce-acquire-func-
2b50: 74 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 65 72 t. cairo-raster
2b60: 2d 73 6f 75 72 63 65 2d 61 63 71 75 69 72 65 2d -source-acquire-
2b70: 66 75 6e 63 2d 74 2a 0a 20 20 63 61 69 72 6f 2d func-t*. cairo-
2b80: 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 72 65 raster-source-re
2b90: 6c 65 61 73 65 2d 66 75 6e 63 2d 74 0a 20 20 63 lease-func-t. c
2ba0: 61 69 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 airo-raster-sour
2bb0: 63 65 2d 72 65 6c 65 61 73 65 2d 66 75 6e 63 2d ce-release-func-
2bc0: 74 2a 0a 20 20 63 61 69 72 6f 2d 72 61 73 74 65 t*. cairo-raste
2bd0: 72 2d 73 6f 75 72 63 65 2d 73 6e 61 70 73 68 6f r-source-snapsho
2be0: 74 2d 66 75 6e 63 2d 74 0a 20 20 63 61 69 72 6f t-func-t. cairo
2bf0: 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 2d 63 -raster-source-c
2c00: 6f 70 79 2d 66 75 6e 63 2d 74 0a 20 20 63 61 69 opy-func-t. cai
2c10: 72 6f 2d 72 61 73 74 65 72 2d 73 6f 75 72 63 65 ro-raster-source
2c20: 2d 66 69 6e 69 73 68 2d 66 75 6e 63 2d 74 0a 20 -finish-func-t.
2c30: 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e 2d 74 cairo-pattern-t
2c40: 79 70 65 2d 74 0a 20 20 63 61 69 72 6f 2d 65 78 ype-t. cairo-ex
2c50: 74 65 6e 64 2d 74 0a 20 20 63 61 69 72 6f 2d 66 tend-t. cairo-f
2c60: 69 6c 74 65 72 2d 74 0a 20 20 63 61 69 72 6f 2d ilter-t. cairo-
2c70: 72 65 67 69 6f 6e 2d 74 0a 20 20 63 61 69 72 6f region-t. cairo
2c80: 2d 72 65 67 69 6f 6e 2d 6f 76 65 72 6c 61 70 2d -region-overlap-
2c90: 74 0a 20 20 63 61 69 72 6f 2d 70 64 66 2d 76 65 t. cairo-pdf-ve
2ca0: 72 73 69 6f 6e 2d 74 0a 20 20 63 61 69 72 6f 2d rsion-t. cairo-
2cb0: 70 64 66 2d 76 65 72 73 69 6f 6e 2d 74 2a 0a 09 pdf-version-t*..
2cc0: 09 09 09 09 3b 65 6e 75 6d 73 0a 20 20 63 61 69 ....;enums. cai
2cd0: 72 6f 2d 73 74 61 74 75 73 2d 65 6e 75 6d 0a 20 ro-status-enum.
2ce0: 20 63 61 69 72 6f 2d 66 6f 72 6d 61 74 0a 20 20 cairo-format.
2cf0: 63 61 69 72 6f 2d 6f 70 65 72 61 74 6f 72 0a 20 cairo-operator.
2d00: 20 63 61 69 72 6f 2d 61 6e 74 69 61 6c 69 61 73 cairo-antialias
2d10: 0a 20 20 63 61 69 72 6f 2d 66 69 6c 6c 2d 72 75 . cairo-fill-ru
2d20: 6c 65 0a 20 20 63 61 69 72 6f 2d 6c 69 6e 65 2d le. cairo-line-
2d30: 63 61 70 0a 20 20 63 61 69 72 6f 2d 6c 69 6e 65 cap. cairo-line
2d40: 2d 6a 6f 69 6e 0a 20 20 63 61 69 72 6f 2d 74 65 -join. cairo-te
2d50: 78 74 2d 63 6c 75 73 74 65 72 2d 66 6c 61 67 0a xt-cluster-flag.
2d60: 20 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 73 6c 61 cairo-font-sla
2d70: 6e 74 0a 20 20 63 61 69 72 6f 2d 66 6f 6e 74 2d nt. cairo-font-
2d80: 77 65 69 67 68 74 0a 20 20 63 61 69 72 6f 2d 73 weight. cairo-s
2d90: 75 62 70 69 78 65 6c 2d 6f 72 64 65 72 0a 20 20 ubpixel-order.
2da0: 63 61 69 72 6f 2d 68 69 6e 74 2d 73 74 79 6c 65 cairo-hint-style
2db0: 0a 20 20 63 61 69 72 6f 2d 68 69 6e 74 2d 6d 65 . cairo-hint-me
2dc0: 74 72 69 63 73 0a 20 20 63 61 69 72 6f 2d 66 6f trics. cairo-fo
2dd0: 6e 74 2d 74 79 70 65 0a 20 20 63 61 69 72 6f 2d nt-type. cairo-
2de0: 70 61 74 68 2d 64 61 74 61 2d 74 79 70 65 0a 20 path-data-type.
2df0: 20 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 74 79 cairo-device-ty
2e00: 70 65 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 pe. cairo-surfa
2e10: 63 65 2d 6f 62 73 65 72 76 65 72 2d 6d 6f 64 65 ce-observer-mode
2e20: 0a 20 20 63 61 69 72 6f 2d 73 75 72 66 61 63 65 . cairo-surface
2e30: 2d 74 79 70 65 0a 20 20 63 61 69 72 6f 2d 70 61 -type. cairo-pa
2e40: 74 74 65 72 6e 2d 74 79 70 65 0a 20 20 63 61 69 ttern-type. cai
2e50: 72 6f 2d 65 78 74 65 6e 64 0a 20 20 63 61 69 72 ro-extend. cair
2e60: 6f 2d 66 69 6c 74 65 72 0a 20 20 63 61 69 72 6f o-filter. cairo
2e70: 2d 72 65 67 69 6f 6e 2d 6f 76 65 72 6c 61 70 0a -region-overlap.
2e80: 20 20 3b 3b 20 41 4c 4c 4f 43 41 54 4f 52 53 09 ;; ALLOCATORS.
2e90: 20 0a 20 20 63 61 69 72 6f 2d 72 65 63 74 61 6e . cairo-rectan
2ea0: 67 6c 65 2d 63 72 65 61 74 65 0a 20 20 63 61 69 gle-create. cai
2eb0: 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d 6c 69 73 ro-rectangle-lis
2ec0: 74 2d 63 72 65 61 74 65 0a 20 20 63 61 69 72 6f t-create. cairo
2ed0: 2d 67 6c 79 70 68 2d 63 72 65 61 74 65 0a 20 20 -glyph-create.
2ee0: 63 61 69 72 6f 2d 67 6c 79 70 68 2a 2d 63 72 65 cairo-glyph*-cre
2ef0: 61 74 65 0a 20 20 63 61 69 72 6f 2d 74 65 78 74 ate. cairo-text
2f00: 2d 63 6c 75 73 74 65 72 2d 63 72 65 61 74 65 0a -cluster-create.
2f10: 20 20 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c 75 cairo-text-clu
2f20: 73 74 65 72 2a 2d 63 72 65 61 74 65 0a 20 20 63 ster*-create. c
2f30: 61 69 72 6f 2d 74 65 78 74 2d 65 78 74 65 6e 74 airo-text-extent
2f40: 73 2d 63 72 65 61 74 65 0a 20 20 63 61 69 72 6f s-create. cairo
2f50: 2d 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 66 6c -text-cluster-fl
2f60: 61 67 73 2d 63 72 65 61 74 65 0a 20 20 63 61 69 ags-create. cai
2f70: 72 6f 2d 66 6f 6e 74 2d 65 78 74 65 6e 74 73 2d ro-font-extents-
2f80: 63 72 65 61 74 65 0a 20 20 63 61 69 72 6f 2d 70 create. cairo-p
2f90: 61 74 68 2d 63 72 65 61 74 65 0a 20 20 64 6f 75 ath-create. dou
2fa0: 62 6c 65 2d 61 72 72 61 79 2d 63 72 65 61 74 65 ble-array-create
2fb0: 20 0a 20 20 64 6f 75 62 6c 65 2d 61 72 72 61 79 . double-array
2fc0: 2d 63 72 65 61 74 65 2d 66 72 6f 6d 2d 76 65 63 -create-from-vec
2fd0: 74 6f 72 0a 20 20 63 61 69 72 6f 2d 6d 61 74 72 tor. cairo-matr
2fe0: 69 78 2d 63 72 65 61 74 65 0a 20 20 63 61 69 72 ix-create. cair
2ff0: 6f 2d 69 6e 74 2d 63 72 65 61 74 65 0a 20 20 63 o-int-create. c
3000: 61 69 72 6f 2d 76 6f 69 64 2a 2d 63 72 65 61 74 airo-void*-creat
3010: 65 0a 20 20 63 61 69 72 6f 2d 67 75 61 72 64 69 e. cairo-guardi
3020: 61 6e 0a 20 20 63 61 69 72 6f 2d 66 72 65 65 2d an. cairo-free-
3030: 67 61 72 62 61 67 65 0a 20 20 63 61 69 72 6f 2d garbage. cairo-
3040: 67 75 61 72 64 2d 70 6f 69 6e 74 65 72 0a 20 20 guard-pointer.
3050: 77 69 74 68 2d 63 61 69 72 6f 0a 20 20 6c 65 74 with-cairo. let
3060: 2d 73 74 72 75 63 74 0a 20 20 29 0a 20 28 69 6d -struct. ). (im
3070: 70 6f 72 74 20 28 63 68 65 7a 73 63 68 65 6d 65 port (chezscheme
3080: 29 20 28 66 66 69 2d 75 74 69 6c 73 29 29 0a 20 ) (ffi-utils)).
3090: 0a 20 28 69 6e 63 6c 75 64 65 20 22 63 61 69 72 . (include "cair
30a0: 6f 2f 66 66 69 2d 75 74 69 6c 73 2e 73 73 22 29 o/ffi-utils.ss")
30b0: 0a 0a 20 28 64 65 66 69 6e 65 20 28 63 61 69 72 .. (define (cair
30c0: 6f 2d 6c 69 62 72 61 72 79 2d 69 6e 69 74 20 2e o-library-init .
30d0: 20 74 29 20 28 6c 6f 61 64 2d 73 68 61 72 65 64 t) (load-shared
30e0: 2d 6f 62 6a 65 63 74 20 28 69 66 20 28 6e 75 6c -object (if (nul
30f0: 6c 3f 20 74 29 20 22 6c 69 62 63 61 69 72 6f 2e l? t) "libcairo.
3100: 73 6f 2e 32 22 20 28 63 61 72 20 74 29 29 29 29 so.2" (car t))))
3110: 0a 0a 20 28 69 6e 63 6c 75 64 65 20 22 63 61 69 .. (include "cai
3120: 72 6f 2f 74 79 70 65 73 2e 73 73 22 29 0a 0a 20 ro/types.ss")..
3130: 28 64 65 66 69 6e 65 20 63 61 69 72 6f 2d 67 75 (define cairo-gu
3140: 61 72 64 69 61 6e 20 28 6d 61 6b 65 2d 67 75 61 ardian (make-gua
3150: 72 64 69 61 6e 29 29 0a 20 28 64 65 66 69 6e 65 rdian)). (define
3160: 20 28 63 61 69 72 6f 2d 67 75 61 72 64 2d 70 6f (cairo-guard-po
3170: 69 6e 74 65 72 20 6f 62 6a 29 20 0a 20 20 20 28 inter obj) . (
3180: 63 61 69 72 6f 2d 66 72 65 65 2d 67 61 72 62 61 cairo-free-garba
3190: 67 65 29 20 0a 20 20 20 28 63 61 69 72 6f 2d 67 ge) . (cairo-g
31a0: 75 61 72 64 69 61 6e 20 6f 62 6a 29 0a 20 20 20 uardian obj).
31b0: 6f 62 6a 29 0a 20 28 69 6e 63 6c 75 64 65 20 22 obj). (include "
31c0: 63 61 69 72 6f 2f 63 61 69 72 6f 2d 66 75 6e 63 cairo/cairo-func
31d0: 74 69 6f 6e 73 2e 73 73 22 29 0a 20 28 64 65 66 tions.ss"). (def
31e0: 69 6e 65 20 28 63 61 69 72 6f 2d 66 72 65 65 2d ine (cairo-free-
31f0: 67 61 72 62 61 67 65 29 0a 20 20 20 28 6c 65 74 garbage). (let
3200: 20 6c 6f 6f 70 20 28 5b 70 20 28 63 61 69 72 6f loop ([p (cairo
3210: 2d 67 75 61 72 64 69 61 6e 29 5d 29 0a 20 20 20 -guardian)]).
3220: 20 20 28 77 68 65 6e 20 70 0a 09 20 20 20 28 77 (when p.. (w
3230: 68 65 6e 20 28 66 74 79 70 65 2d 70 6f 69 6e 74 hen (ftype-point
3240: 65 72 3f 20 70 29 0a 09 09 20 3b 28 70 72 69 6e er? p)... ;(prin
3250: 74 66 20 22 63 61 69 72 6f 2d 66 72 65 65 2d 67 tf "cairo-free-g
3260: 61 72 62 61 67 65 3a 20 66 72 65 65 69 6e 67 20 arbage: freeing
3270: 6d 65 6d 6f 72 79 20 61 74 20 7e 78 5c 6e 22 20 memory at ~x\n"
3280: 70 29 0a 09 09 20 3b 3b 5b 28 66 74 79 70 65 2d p)... ;;[(ftype-
3290: 70 6f 69 6e 74 65 72 3f 20 75 73 62 2d 64 65 76 pointer? usb-dev
32a0: 69 63 65 2a 2d 61 72 72 61 79 20 70 29 0a 09 09 ice*-array p)...
32b0: 20 28 63 6f 6e 64 20 0a 09 09 20 20 5b 28 66 74 (cond ... [(ft
32c0: 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 63 61 69 ype-pointer? cai
32d0: 72 6f 2d 74 20 70 29 20 28 63 61 69 72 6f 2d 64 ro-t p) (cairo-d
32e0: 65 73 74 72 6f 79 20 70 29 5d 0a 09 09 20 20 5b estroy p)]... [
32f0: 28 66 74 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 (ftype-pointer?
3300: 63 61 69 72 6f 2d 73 75 72 66 61 63 65 2d 74 20 cairo-surface-t
3310: 70 29 20 28 63 61 69 72 6f 2d 73 75 72 66 61 63 p) (cairo-surfac
3320: 65 2d 64 65 73 74 72 6f 79 20 70 29 5d 0a 09 09 e-destroy p)]...
3330: 20 20 5b 28 66 74 79 70 65 2d 70 6f 69 6e 74 65 [(ftype-pointe
3340: 72 3f 20 63 61 69 72 6f 2d 70 61 74 74 65 72 6e r? cairo-pattern
3350: 2d 74 20 70 29 20 28 63 61 69 72 6f 2d 70 61 74 -t p) (cairo-pat
3360: 74 65 72 6e 2d 64 65 73 74 72 6f 79 20 70 29 5d tern-destroy p)]
3370: 0a 09 09 20 20 5b 28 66 74 79 70 65 2d 70 6f 69 ... [(ftype-poi
3380: 6e 74 65 72 3f 20 63 61 69 72 6f 2d 72 65 67 69 nter? cairo-regi
3390: 6f 6e 2d 74 20 70 29 20 28 76 6f 69 64 29 5d 3b on-t p) (void)];
33a0: 20 28 63 61 69 72 6f 2d 72 65 67 69 6f 6e 2d 64 (cairo-region-d
33b0: 65 73 74 72 6f 79 20 70 29 5d 0a 09 09 20 20 5b estroy p)]... [
33c0: 28 66 74 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 (ftype-pointer?
33d0: 63 61 69 72 6f 2d 72 65 63 74 61 6e 67 6c 65 2d cairo-rectangle-
33e0: 6c 69 73 74 2d 74 20 70 29 20 28 63 61 69 72 6f list-t p) (cairo
33f0: 2d 72 65 63 74 61 6e 67 6c 65 2d 6c 69 73 74 2d -rectangle-list-
3400: 64 65 73 74 72 6f 79 20 70 29 5d 0a 09 09 20 20 destroy p)]...
3410: 5b 28 66 74 79 70 65 2d 70 6f 69 6e 74 65 72 3f [(ftype-pointer?
3420: 20 63 61 69 72 6f 2d 66 6f 6e 74 2d 6f 70 74 69 cairo-font-opti
3430: 6f 6e 73 2d 74 20 70 29 20 28 63 61 69 72 6f 2d ons-t p) (cairo-
3440: 66 6f 6e 74 2d 6f 70 74 69 6f 6e 73 2d 64 65 73 font-options-des
3450: 74 72 6f 79 20 70 29 5d 0a 09 09 20 20 5b 28 66 troy p)]... [(f
3460: 74 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 63 61 type-pointer? ca
3470: 69 72 6f 2d 66 6f 6e 74 2d 66 61 63 65 2d 74 20 iro-font-face-t
3480: 70 29 20 28 63 61 69 72 6f 2d 66 6f 6e 74 2d 66 p) (cairo-font-f
3490: 61 63 65 2d 64 65 73 74 72 6f 79 20 70 29 5d 0a ace-destroy p)].
34a0: 09 09 20 20 5b 28 66 74 79 70 65 2d 70 6f 69 6e .. [(ftype-poin
34b0: 74 65 72 3f 20 63 61 69 72 6f 2d 73 63 61 6c 65 ter? cairo-scale
34c0: 64 2d 66 6f 6e 74 2d 74 20 70 29 20 28 63 61 69 d-font-t p) (cai
34d0: 72 6f 2d 73 63 61 6c 65 64 2d 66 6f 6e 74 2d 64 ro-scaled-font-d
34e0: 65 73 74 72 6f 79 20 70 29 5d 0a 09 09 20 20 5b estroy p)]... [
34f0: 28 66 74 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 (ftype-pointer?
3500: 63 61 69 72 6f 2d 70 61 74 68 2d 74 20 70 29 20 cairo-path-t p)
3510: 28 63 61 69 72 6f 2d 70 61 74 68 2d 64 65 73 74 (cairo-path-dest
3520: 72 6f 79 20 70 29 5d 0a 09 09 20 20 5b 28 66 74 roy p)]... [(ft
3530: 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 63 61 69 ype-pointer? cai
3540: 72 6f 2d 64 65 76 69 63 65 2d 74 20 70 29 20 28 ro-device-t p) (
3550: 63 61 69 72 6f 2d 64 65 76 69 63 65 2d 64 65 73 cairo-device-des
3560: 74 72 6f 79 20 70 29 5d 0a 09 09 20 20 5b 28 66 troy p)]... [(f
3570: 74 79 70 65 2d 70 6f 69 6e 74 65 72 3f 20 63 61 type-pointer? ca
3580: 69 72 6f 2d 67 6c 79 70 68 2d 74 20 70 29 20 28 iro-glyph-t p) (
3590: 63 61 69 72 6f 2d 67 6c 79 70 68 2d 66 72 65 65 cairo-glyph-free
35a0: 20 70 29 5d 0a 09 09 20 20 5b 28 66 74 79 70 65 p)]... [(ftype
35b0: 2d 70 6f 69 6e 74 65 72 3f 20 63 61 69 72 6f 2d -pointer? cairo-
35c0: 74 65 78 74 2d 63 6c 75 73 74 65 72 2d 74 20 70 text-cluster-t p
35d0: 29 20 28 63 61 69 72 6f 2d 74 65 78 74 2d 63 6c ) (cairo-text-cl
35e0: 75 73 74 65 72 2d 66 72 65 65 20 70 29 5d 0a 09 uster-free p)]..
35f0: 09 20 20 5b 65 6c 73 65 0a 09 09 20 20 20 28 66 . [else... (f
3600: 6f 72 65 69 67 6e 2d 66 72 65 65 20 28 66 74 79 oreign-free (fty
3610: 70 65 2d 70 6f 69 6e 74 65 72 2d 61 64 64 72 65 pe-pointer-addre
3620: 73 73 20 70 29 29 5d 0a 09 09 20 20 29 29 0a 09 ss p))]... ))..
3630: 20 20 20 28 6c 6f 6f 70 20 28 63 61 69 72 6f 2d (loop (cairo-
3640: 67 75 61 72 64 69 61 6e 29 29 29 29 29 0a 0a 0a guardian)))))...
3650: 0a 28 69 6e 63 6c 75 64 65 20 22 63 61 69 72 6f .(include "cairo
3660: 2f 63 61 69 72 6f 2d 70 64 66 2d 66 75 6e 63 74 /cairo-pdf-funct
3670: 69 6f 6e 73 2e 73 73 22 29 0a 0a 28 64 65 66 69 ions.ss")..(defi
3680: 6e 65 2d 72 65 63 6f 72 64 2d 74 79 70 65 20 28 ne-record-type (
3690: 63 6f 6c 6f 72 20 6d 6b 63 6f 6c 6f 72 20 63 6f color mkcolor co
36a0: 6c 6f 72 3f 29 20 0a 20 20 28 66 69 65 6c 64 73 lor?) . (fields
36b0: 20 72 20 67 20 62 20 61 29 29 0a 0a 28 64 65 66 r g b a))..(def
36c0: 69 6e 65 20 6d 61 6b 65 2d 63 6f 6c 6f 72 0a 20 ine make-color.
36d0: 20 28 63 61 73 65 2d 6c 61 6d 62 64 61 0a 20 20 (case-lambda.
36e0: 20 5b 28 72 20 67 20 62 29 20 28 6d 6b 63 6f 6c [(r g b) (mkcol
36f0: 6f 72 20 72 20 67 20 62 20 31 2e 30 29 5d 0a 20 or r g b 1.0)].
3700: 20 20 5b 28 72 20 67 20 62 20 61 29 20 28 6d 6b [(r g b a) (mk
3710: 63 6f 6c 6f 72 20 72 20 67 20 62 20 61 29 5d 29 color r g b a)])
3720: 29 0a 20 20 0a 28 64 65 66 69 6e 65 20 28 63 61 ). .(define (ca
3730: 69 72 6f 2d 73 65 74 2d 73 6f 75 72 63 65 2d 63 iro-set-source-c
3740: 6f 6c 6f 72 20 63 74 78 20 63 29 0a 20 20 28 63 olor ctx c). (c
3750: 61 69 72 6f 2d 73 65 74 2d 73 6f 75 72 63 65 2d airo-set-source-
3760: 72 67 62 61 20 63 74 78 20 28 63 6f 6c 6f 72 2d rgba ctx (color-
3770: 72 20 63 29 20 28 63 6f 6c 6f 72 2d 67 20 63 29 r c) (color-g c)
3780: 20 28 63 6f 6c 6f 72 2d 62 20 63 29 20 28 63 6f (color-b c) (co
3790: 6c 6f 72 2d 61 20 63 29 29 29 0a 0a 29 20 3b 20 lor-a c)))..) ;
37a0: 6c 69 62 72 61 72 79 20 63 61 69 72 6f 0a library cairo.