Artifact eb1228217e7d9f91e6cddc7993e9af2a8924102d:


0000: 28 72 65 71 75 69 72 65 2d 6c 69 62 72 61 72 79  (require-library
0010: 20 63 61 6e 76 61 73 2d 64 72 61 77 2d 62 61 73   canvas-draw-bas
0020: 65 29 0a 0a 28 6d 6f 64 75 6c 65 20 63 61 6e 76  e)..(module canv
0030: 61 73 2d 64 72 61 77 2d 73 65 72 76 65 72 0a 09  as-draw-server..
0040: 28 63 6f 6e 74 65 78 74 3a 69 6d 61 67 65 20 63  (context:image c
0050: 6f 6e 74 65 78 74 3a 64 6f 75 62 6c 65 2d 62 75  ontext:double-bu
0060: 66 66 65 72 29 0a 09 28 69 6d 70 6f 72 74 20 73  ffer)..(import s
0070: 63 68 65 6d 65 20 63 68 69 63 6b 65 6e 20 66 6f  cheme chicken fo
0080: 72 65 69 67 6e 20 63 61 6e 76 61 73 2d 64 72 61  reign canvas-dra
0090: 77 2d 62 61 73 65 29 0a 0a 3b 3b 20 7b 7b 7b 20  w-base)..;; {{{ 
00a0: 44 61 74 61 20 74 79 70 65 73 0a 0a 28 66 6f 72  Data types..(for
00b0: 65 69 67 6e 2d 64 65 63 6c 61 72 65 0a 09 22 23  eign-declare.."#
00c0: 69 6e 63 6c 75 64 65 20 3c 63 64 2e 68 3e 5c 6e  include <cd.h>\n
00d0: 22 0a 09 22 23 69 6e 63 6c 75 64 65 20 3c 63 64  ".."#include <cd
00e0: 69 6d 61 67 65 2e 68 3e 5c 6e 22 0a 09 22 23 69  image.h>\n".."#i
00f0: 6e 63 6c 75 64 65 20 3c 63 64 64 62 75 66 2e 68  nclude <cddbuf.h
0100: 3e 5c 6e 22 29 0a 0a 28 69 6e 63 6c 75 64 65 20  >\n")..(include 
0110: 22 63 61 6e 76 61 73 2d 64 72 61 77 2d 74 79 70  "canvas-draw-typ
0120: 65 73 2e 73 63 6d 22 29 0a 0a 3b 3b 20 7d 7d 7d  es.scm")..;; }}}
0130: 0a 0a 3b 3b 20 7b 7b 7b 20 43 6f 6e 74 65 78 74  ..;; {{{ Context
0140: 20 74 79 70 65 73 0a 0a 28 64 65 66 69 6e 65 20   types..(define 
0150: 63 6f 6e 74 65 78 74 3a 69 6d 61 67 65 0a 09 28  context:image..(
0160: 66 6f 72 65 69 67 6e 2d 76 61 6c 75 65 20 22 43  foreign-value "C
0170: 44 5f 49 4d 41 47 45 22 20 6e 6f 6e 6e 75 6c 6c  D_IMAGE" nonnull
0180: 2d 63 6f 6e 74 65 78 74 29 29 0a 0a 28 64 65 66  -context))..(def
0190: 69 6e 65 20 63 6f 6e 74 65 78 74 3a 64 6f 75 62  ine context:doub
01a0: 6c 65 2d 62 75 66 66 65 72 0a 09 28 66 6f 72 65  le-buffer..(fore
01b0: 69 67 6e 2d 76 61 6c 75 65 20 22 43 44 5f 44 42  ign-value "CD_DB
01c0: 55 46 46 45 52 22 20 6e 6f 6e 6e 75 6c 6c 2d 63  UFFER" nonnull-c
01d0: 6f 6e 74 65 78 74 29 29 0a 0a 3b 3b 20 7d 7d 7d  ontext))..;; }}}
01e0: 0a 0a 29 0a                                      ..).