Artifact
36cfca72a54c325c13954fa0e6e9152aac432a16:
0000: 3c 68 31 3e 3c 74 74 3e 70 72 69 6d 69 74 69 76 <h1><tt>primitiv
0010: 65 73 3c 2f 74 74 3e 20 4d 6f 64 75 6c 65 3c 2f es</tt> Module</
0020: 68 31 3e 0a 0a 3c 68 32 3e 53 79 6e 6f 70 73 69 h1>..<h2>Synopsi
0030: 73 3c 2f 68 32 3e 0a 0a 3c 74 61 62 6c 65 3e 0a s</h2>..<table>.
0040: 09 3c 74 72 3e 0a 09 09 3c 74 68 3e 52 61 63 6b .<tr>...<th>Rack
0050: 65 74 3c 2f 74 68 3e 0a 09 09 3c 74 64 3e 3c 63 et</th>...<td><c
0060: 6f 64 65 3e 28 72 65 71 75 69 72 65 20 28 70 6c ode>(require (pl
0070: 61 6e 65 74 20 6d 75 72 70 68 79 2f 63 61 6e 76 anet murphy/canv
0080: 61 73 2d 64 72 61 77 3a 31 3a 30 2f 70 72 69 6d as-draw:1:0/prim
0090: 69 74 69 76 65 73 29 29 3c 2f 63 6f 64 65 3e 3c itives))</code><
00a0: 2f 74 64 3e 0a 09 3c 2f 74 72 3e 0a 09 3c 74 72 /td>..</tr>..<tr
00b0: 3e 0a 09 09 3c 74 68 3e 43 48 49 43 4b 45 4e 3c >...<th>CHICKEN<
00c0: 2f 74 68 3e 0a 09 09 3c 74 64 3e 3c 63 6f 64 65 /th>...<td><code
00d0: 3e 28 72 65 71 75 69 72 65 2d 65 78 74 65 6e 73 >(require-extens
00e0: 69 6f 6e 20 63 61 6e 76 61 73 2d 64 72 61 77 2d ion canvas-draw-
00f0: 70 72 69 6d 69 74 69 76 65 73 29 3c 2f 63 6f 64 primitives)</cod
0100: 65 3e 3c 2f 74 64 3e 0a 09 3c 2f 74 72 3e 0a 3c e></td>..</tr>.<
0110: 2f 74 61 62 6c 65 3e 0a 0a 44 72 61 77 69 6e 67 /table>..Drawing
0120: 20 70 72 69 6d 69 74 69 76 65 73 2e 0a 0a 3c 68 primitives...<h
0130: 32 3e 50 6f 69 6e 74 73 3c 2f 68 32 3e 0a 0a 3c 2>Points</h2>..<
0140: 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 h3><a id="canvas
0150: 2d 70 69 78 65 6c 5f 22 3e 3c 63 6f 64 65 3e 3c -pixel_"><code><
0160: 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d 70 nowiki>(canvas-p
0170: 69 78 65 6c 21 20 5b 63 61 6e 76 61 73 20 63 61 ixel! [canvas ca
0180: 6e 76 61 73 3f 5d 20 5b 78 20 69 6e 74 65 67 65 nvas?] [x intege
0190: 72 3f 5d 20 5b 79 20 69 6e 74 65 67 65 72 3f 5d r?] [y integer?]
01a0: 20 5b 63 6f 6c 6f 72 20 69 6e 74 65 67 65 72 3f [color integer?
01b0: 20 28 63 61 6e 76 61 73 2d 66 6f 72 65 67 72 6f (canvas-foregro
01c0: 75 6e 64 20 63 61 6e 76 61 73 29 5d 29 20 e2 86 und canvas)]) â†
01d0: 92 20 76 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e ’ void?</nowiki>
01e0: 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e </code></a></h3>
01f0: 0a 0a 44 72 61 77 73 20 61 20 73 69 6e 67 6c 65 ..Draws a single
0200: 20 70 69 78 65 6c 20 6f 66 20 74 68 65 20 67 69 pixel of the gi
0210: 76 65 6e 20 63 6f 6c 6f 72 20 6f 6e 20 74 68 65 ven color on the
0220: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a given canvas...
0230: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
0240: 73 2d 6d 61 72 6b 21 22 3e 3c 63 6f 64 65 3e 3c s-mark!"><code><
0250: 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d 6d nowiki>(canvas-m
0260: 61 72 6b 21 20 5b 63 61 6e 76 61 73 20 63 61 6e ark! [canvas can
0270: 76 61 73 3f 5d 20 5b 78 20 69 6e 74 65 67 65 72 vas?] [x integer
0280: 3f 5d 20 5b 79 20 69 6e 74 65 67 65 72 3f 5d 29 ?] [y integer?])
0290: 20 e2 86 92 20 76 6f 69 64 3f 3c 2f 6e 6f 77 69 → void?</nowi
02a0: 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f ki></code></a></
02b0: 68 33 3e 0a 0a 44 72 61 77 73 20 61 20 6d 61 72 h3>..Draws a mar
02c0: 6b 65 72 20 73 79 6d 62 6f 6c 20 6f 6e 20 74 68 ker symbol on th
02d0: 65 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a e given canvas..
02e0: 0a 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 .<h3><a id="canv
02f0: 61 73 2d 6d 61 72 6b 2d 74 79 70 65 22 3e 3c 63 as-mark-type"><c
0300: 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e ode><nowiki>(can
0310: 76 61 73 2d 6d 61 72 6b 2d 74 79 70 65 20 5b 63 vas-mark-type [c
0320: 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 anvas canvas?])
0330: e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 → symbol?</now
0340: 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c iki></code></a><
0350: 2f 68 33 3e 0a 0a 52 65 74 72 69 65 76 65 73 20 /h3>..Retrieves
0360: 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61 72 6b the current mark
0370: 65 72 20 73 79 6d 62 6f 6c 20 74 79 70 65 20 66 er symbol type f
0380: 6f 72 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e or the given can
0390: 76 61 73 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 vas. Possible va
03a0: 6c 75 65 73 0a 61 72 65 0a 0a 20 20 2a 20 20 3c lues.are.. * <
03b0: 63 6f 64 65 3e 27 2b 3c 2f 63 6f 64 65 3e 20 6f code>'+</code> o
03c0: 72 20 3c 63 6f 64 65 3e 27 70 6c 75 73 3c 2f 63 r <code>'plus</c
03d0: 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e ode>. * <code>
03e0: 27 2a 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f '*</code> or <co
03f0: 64 65 3e 27 73 74 61 72 3c 2f 63 6f 64 65 3e 0a de>'star</code>.
0400: 20 20 2a 20 20 3c 63 6f 64 65 3e 27 30 3c 2f 63 * <code>'0</c
0410: 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 27 63 ode> or <code>'c
0420: 69 72 63 6c 65 3c 2f 63 6f 64 65 3e 0a 20 20 2a ircle</code>. *
0430: 20 20 3c 63 6f 64 65 3e 27 4f 3c 2f 63 6f 64 65 <code>'O</code
0440: 3e 20 6f 72 20 3c 63 6f 64 65 3e 27 68 6f 6c 6c > or <code>'holl
0450: 6f 77 2d 63 69 72 63 6c 65 3c 2f 63 6f 64 65 3e ow-circle</code>
0460: 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 58 3c 2f . * <code>'X</
0470: 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 27 code> or <code>'
0480: 78 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 x</code>. * <c
0490: 6f 64 65 3e 27 62 6f 78 3c 2f 63 6f 64 65 3e 0a ode>'box</code>.
04a0: 20 20 2a 20 20 3c 63 6f 64 65 3e 27 68 6f 6c 6c * <code>'holl
04b0: 6f 77 2d 62 6f 78 3c 2f 63 6f 64 65 3e 0a 20 20 ow-box</code>.
04c0: 2a 20 20 3c 63 6f 64 65 3e 27 64 69 61 6d 6f 6e * <code>'diamon
04d0: 64 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 d</code>. * <c
04e0: 6f 64 65 3e 27 68 6f 6c 6c 6f 77 2d 64 69 61 6d ode>'hollow-diam
04f0: 6f 6e 64 3c 2f 63 6f 64 65 3e 0a 0a 3c 68 33 3e ond</code>..<h3>
0500: 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 6d 61 <a id="canvas-ma
0510: 72 6b 2d 74 79 70 65 2d 73 65 74 5f 22 3e 3c 63 rk-type-set_"><c
0520: 6f 64 65 3e 0a 09 3c 6e 6f 77 69 6b 69 3e 28 63 ode>..<nowiki>(c
0530: 61 6e 76 61 73 2d 6d 61 72 6b 2d 74 79 70 65 2d anvas-mark-type-
0540: 73 65 74 21 20 5b 63 61 6e 76 61 73 20 63 61 6e set! [canvas can
0550: 76 61 73 3f 5d 20 5b 6d 61 72 6b 2d 74 79 70 65 vas?] [mark-type
0560: 20 73 79 6d 62 6f 6c 3f 5d 29 20 e2 86 92 20 76 symbol?]) → v
0570: 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 62 72 oid?</nowiki><br
0580: 3e 0a 09 3c 6e 6f 77 69 6b 69 3e 28 73 65 74 21 >..<nowiki>(set!
0590: 20 28 63 61 6e 76 61 73 2d 6d 61 72 6b 2d 74 79 (canvas-mark-ty
05a0: 70 65 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 pe [canvas canva
05b0: 73 3f 5d 29 20 5b 6d 61 72 6b 2d 74 79 70 65 20 s?]) [mark-type
05c0: 73 79 6d 62 6f 6c 3f 5d 29 20 e2 86 92 20 76 6f symbol?]) → vo
05d0: 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 0a 3c 2f 63 id?</nowiki>.</c
05e0: 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 53 ode></a></h3>..S
05f0: 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 ets the current
0600: 6d 61 72 6b 65 72 20 73 79 6d 62 6f 6c 20 74 79 marker symbol ty
0610: 70 65 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e pe for the given
0620: 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 33 3e 3c 61 canvas...<h3><a
0630: 20 69 64 3d 22 63 61 6e 76 61 73 2d 6d 61 72 6b id="canvas-mark
0640: 2d 73 69 7a 65 22 3e 3c 63 6f 64 65 3e 3c 6e 6f -size"><code><no
0650: 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d 6d 61 72 wiki>(canvas-mar
0660: 6b 2d 73 69 7a 65 20 5b 63 61 6e 76 61 73 20 63 k-size [canvas c
0670: 61 6e 76 61 73 3f 5d 29 20 e2 86 92 20 69 6e 74 anvas?]) → int
0680: 65 67 65 72 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f eger?</nowiki></
0690: 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a code></a></h3>..
06a0: 52 65 74 72 69 65 76 65 73 20 74 68 65 20 63 75 Retrieves the cu
06b0: 72 72 65 6e 74 20 6d 61 72 6b 65 72 20 73 79 6d rrent marker sym
06c0: 62 6f 6c 20 73 69 7a 65 20 66 6f 72 20 74 68 65 bol size for the
06d0: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a given canvas...
06e0: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
06f0: 73 2d 6d 61 72 6b 2d 73 69 7a 65 2d 73 65 74 5f s-mark-size-set_
0700: 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 6b "><code>..<nowik
0710: 69 3e 28 63 61 6e 76 61 73 2d 6d 61 72 6b 2d 73 i>(canvas-mark-s
0720: 69 7a 65 2d 73 65 74 21 20 5b 63 61 6e 76 61 73 ize-set! [canvas
0730: 20 63 61 6e 76 61 73 3f 5d 20 5b 73 69 7a 65 20 canvas?] [size
0740: 69 6e 74 65 67 65 72 3f 5d 29 20 e2 86 92 20 76 integer?]) → v
0750: 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 62 72 oid?</nowiki><br
0760: 3e 0a 09 3c 6e 6f 77 69 6b 69 3e 28 73 65 74 21 >..<nowiki>(set!
0770: 20 28 63 61 6e 76 61 73 2d 6d 61 72 6b 2d 73 69 (canvas-mark-si
0780: 7a 65 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 ze [canvas canva
0790: 73 3f 5d 29 20 5b 73 69 7a 65 20 69 6e 74 65 67 s?]) [size integ
07a0: 65 72 3f 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c er?]) → void?<
07b0: 2f 6e 6f 77 69 6b 69 3e 0a 3c 2f 63 6f 64 65 3e /nowiki>.</code>
07c0: 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 53 65 74 73 20 </a></h3>..Sets
07d0: 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61 72 6b the current mark
07e0: 65 72 20 73 79 6d 62 6f 6c 20 73 69 7a 65 20 66 er symbol size f
07f0: 6f 72 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e or the given can
0800: 76 61 73 2e 0a 0a 3c 68 32 3e 4c 69 6e 65 73 3c vas...<h2>Lines<
0810: 2f 68 32 3e 0a 0a 3c 68 33 3e 3c 61 20 69 64 3d /h2>..<h3><a id=
0820: 22 63 61 6e 76 61 73 2d 6c 69 6e 65 5f 22 3e 3c "canvas-line_"><
0830: 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 code><nowiki>(ca
0840: 6e 76 61 73 2d 6c 69 6e 65 21 20 5b 63 61 6e 76 nvas-line! [canv
0850: 61 73 20 63 61 6e 76 61 73 3f 5d 20 5b 78 30 20 as canvas?] [x0
0860: 72 65 61 6c 3f 5d 20 5b 79 30 20 72 65 61 6c 3f real?] [y0 real?
0870: 5d 20 5b 78 31 20 72 65 61 6c 3f 5d 20 5b 79 31 ] [x1 real?] [y1
0880: 20 72 65 61 6c 3f 5d 29 20 e2 86 92 20 76 6f 69 real?]) → voi
0890: 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 d?</nowiki></cod
08a0: 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 44 72 61 e></a></h3>..Dra
08b0: 77 73 20 61 20 6c 69 6e 65 20 6f 6e 20 74 68 65 ws a line on the
08c0: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a given canvas...
08d0: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
08e0: 73 2d 72 65 63 74 61 6e 67 6c 65 5f 22 3e 3c 63 s-rectangle_"><c
08f0: 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e ode><nowiki>(can
0900: 76 61 73 2d 72 65 63 74 61 6e 67 6c 65 21 20 5b vas-rectangle! [
0910: 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 20 canvas canvas?]
0920: 5b 78 30 20 72 65 61 6c 3f 5d 20 5b 78 31 20 72 [x0 real?] [x1 r
0930: 65 61 6c 3f 5d 20 5b 79 30 20 72 65 61 6c 3f 5d eal?] [y0 real?]
0940: 20 5b 79 31 20 72 65 61 6c 3f 5d 29 20 e2 86 92 [y1 real?]) →
0950: 20 76 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c void?</nowiki><
0960: 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a /code></a></h3>.
0970: 0a 44 72 61 77 73 20 61 20 68 6f 6c 6c 6f 77 20 .Draws a hollow
0980: 72 65 63 74 61 6e 67 6c 65 20 6f 6e 20 74 68 65 rectangle on the
0990: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a given canvas...
09a0: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
09b0: 73 2d 61 72 63 5f 22 3e 3c 63 6f 64 65 3e 3c 6e s-arc_"><code><n
09c0: 6f 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d 61 72 owiki>(canvas-ar
09d0: 63 21 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 c! [canvas canva
09e0: 73 3f 5d 20 5b 78 20 72 65 61 6c 3f 5d 20 5b 79 s?] [x real?] [y
09f0: 20 72 65 61 6c 3f 5d 20 5b 77 69 64 74 68 20 72 real?] [width r
0a00: 65 61 6c 3f 5d 20 5b 68 65 69 67 68 74 20 72 65 eal?] [height re
0a10: 61 6c 3f 5d 20 5b 61 6c 70 68 61 30 20 72 65 61 al?] [alpha0 rea
0a20: 6c 3f 5d 20 5b 61 6c 70 68 61 31 20 72 65 61 6c l?] [alpha1 real
0a30: 3f 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c 2f 6e ?]) → void?</n
0a40: 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 owiki></code></a
0a50: 3e 3c 2f 68 33 3e 0a 0a 44 72 61 77 73 20 61 20 ></h3>..Draws a
0a60: 68 6f 6c 6c 6f 77 20 65 6c 6c 69 70 73 69 73 20 hollow ellipsis
0a70: 73 65 67 6d 65 6e 74 20 6f 6e 20 74 68 65 20 67 segment on the g
0a80: 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 iven canvas...<h
0a90: 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 3><a id="canvas-
0aa0: 6c 69 6e 65 2d 73 74 79 6c 65 22 3e 3c 63 6f 64 line-style"><cod
0ab0: 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 e><nowiki>(canva
0ac0: 73 2d 6c 69 6e 65 2d 73 74 79 6c 65 20 5b 63 61 s-line-style [ca
0ad0: 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 e2 nvas canvas?]) â
0ae0: 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 †’ symbol?</nowi
0af0: 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f ki></code></a></
0b00: 68 33 3e 0a 0a 52 65 74 72 69 65 76 65 73 20 74 h3>..Retrieves t
0b10: 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 he current line
0b20: 73 74 79 6c 65 20 6f 66 20 74 68 65 20 67 69 76 style of the giv
0b30: 65 6e 20 63 61 6e 76 61 73 2e 20 50 6f 73 73 69 en canvas. Possi
0b40: 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 0a 0a ble values are..
0b50: 20 20 2a 20 20 3c 63 6f 64 65 3e 27 63 6f 6e 74 * <code>'cont
0b60: 69 6e 75 6f 75 73 3c 2f 63 6f 64 65 3e 0a 20 20 inuous</code>.
0b70: 2a 20 20 3c 63 6f 64 65 3e 27 64 61 73 68 65 64 * <code>'dashed
0b80: 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f </code>. * <co
0b90: 64 65 3e 27 64 6f 74 74 65 64 3c 2f 63 6f 64 65 de>'dotted</code
0ba0: 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 64 61 >. * <code>'da
0bb0: 73 68 2d 64 6f 74 74 65 64 3c 2f 63 6f 64 65 3e sh-dotted</code>
0bc0: 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 64 61 73 . * <code>'das
0bd0: 68 2d 64 6f 74 2d 64 6f 74 74 65 64 3c 2f 63 6f h-dot-dotted</co
0be0: 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 de>. * <code>'
0bf0: 63 75 73 74 6f 6d 3c 2f 63 6f 64 65 3e 0a 0a 3c custom</code>..<
0c00: 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 h3><a id="canvas
0c10: 2d 6c 69 6e 65 2d 73 74 79 6c 65 2d 73 65 74 5f -line-style-set_
0c20: 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 6b "><code>..<nowik
0c30: 69 3e 28 63 61 6e 76 61 73 2d 6c 69 6e 65 2d 73 i>(canvas-line-s
0c40: 74 79 6c 65 2d 73 65 74 21 20 5b 63 61 6e 76 61 tyle-set! [canva
0c50: 73 20 63 61 6e 76 61 73 3f 5d 20 5b 6c 69 6e 65 s canvas?] [line
0c60: 2d 73 74 79 6c 65 20 28 6f 72 2f 63 20 73 79 6d -style (or/c sym
0c70: 62 6f 6c 3f 20 6c 69 73 74 3f 29 5d 29 20 e2 86 bol? list?)]) â†
0c80: 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 6b ’ symbol?</nowik
0c90: 69 3e 3c 62 72 3e 0a 09 3c 6e 6f 77 69 6b 69 3e i><br>..<nowiki>
0ca0: 28 73 65 74 21 20 28 63 61 6e 76 61 73 2d 6c 69 (set! (canvas-li
0cb0: 6e 65 2d 73 74 79 6c 65 20 5b 63 61 6e 76 61 73 ne-style [canvas
0cc0: 20 63 61 6e 76 61 73 3f 5d 29 20 5b 6c 69 6e 65 canvas?]) [line
0cd0: 2d 73 74 79 6c 65 20 28 6f 72 2f 63 20 73 79 6d -style (or/c sym
0ce0: 62 6f 6c 3f 20 6c 69 73 74 3f 29 5d 29 20 e2 86 bol? list?)]) â†
0cf0: 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 6b ’ symbol?</nowik
0d00: 69 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f i>.</code></a></
0d10: 68 33 3e 0a 0a 53 65 74 73 20 74 68 65 20 63 75 h3>..Sets the cu
0d20: 72 72 65 6e 74 20 6c 69 6e 65 20 73 74 79 6c 65 rrent line style
0d30: 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 63 61 of the given ca
0d40: 6e 76 61 73 20 61 6e 64 20 72 65 74 75 72 6e 73 nvas and returns
0d50: 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 the previous va
0d60: 6c 75 65 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f lue...In additio
0d70: 6e 20 74 6f 20 74 68 65 20 70 6f 73 73 69 62 6c n to the possibl
0d80: 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 e return values
0d90: 6f 66 20 3c 63 6f 64 65 3e 5b 23 63 61 6e 76 61 of <code>[#canva
0da0: 73 2d 6c 69 6e 65 2d 73 74 79 6c 65 7c 63 61 6e s-line-style|can
0db0: 76 61 73 2d 6c 69 6e 65 2d 73 74 79 6c 65 5d 3c vas-line-style]<
0dc0: 2f 63 6f 64 65 3e 0a 61 20 63 75 73 74 6f 6d 20 /code>.a custom
0dd0: 3c 63 6f 64 65 3e 6c 69 6e 65 2d 73 74 79 6c 65 <code>line-style
0de0: 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 </code> can be f
0df0: 75 6c 6c 79 20 73 70 65 63 69 66 69 65 64 20 75 ully specified u
0e00: 73 69 6e 67 20 74 68 65 20 66 6f 72 6d 0a 3c 63 sing the form.<c
0e10: 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 6c 69 73 ode><nowiki>(lis
0e20: 74 20 27 63 75 73 74 6f 6d 20 5b 6c 65 6e 20 69 t 'custom [len i
0e30: 6e 74 65 67 65 72 3f 5d 20 2e 2e 2e 29 3c 2f 6e nteger?] ...)</n
0e40: 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 2e 0a 0a owiki></code>...
0e50: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
0e60: 73 2d 6c 69 6e 65 2d 77 69 64 74 68 22 3e 3c 63 s-line-width"><c
0e70: 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e ode><nowiki>(can
0e80: 76 61 73 2d 6c 69 6e 65 2d 77 69 64 74 68 20 5b vas-line-width [
0e90: 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 canvas canvas?])
0ea0: 20 e2 86 92 20 69 6e 74 65 67 65 72 3f 3c 2f 6e → integer?</n
0eb0: 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 owiki></code></a
0ec0: 3e 3c 2f 68 33 3e 0a 0a 52 65 74 72 69 65 76 65 ></h3>..Retrieve
0ed0: 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 s the current li
0ee0: 6e 65 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 ne width of the
0ef0: 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a 3c given canvas...<
0f00: 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 h3><a id="canvas
0f10: 2d 6c 69 6e 65 2d 77 69 64 74 68 2d 73 65 74 5f -line-width-set_
0f20: 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 6b "><code>..<nowik
0f30: 69 3e 28 63 61 6e 76 61 73 2d 6c 69 6e 65 2d 77 i>(canvas-line-w
0f40: 69 64 74 68 2d 73 65 74 21 20 5b 63 61 6e 76 61 idth-set! [canva
0f50: 73 20 63 61 6e 76 61 73 3f 5d 20 5b 6c 69 6e 65 s canvas?] [line
0f60: 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 3f 5d -width integer?]
0f70: 29 20 e2 86 92 20 69 6e 74 65 67 65 72 3f 3c 2f ) → integer?</
0f80: 6e 6f 77 69 6b 69 3e 3c 62 72 3e 0a 09 3c 6e 6f nowiki><br>..<no
0f90: 77 69 6b 69 3e 28 73 65 74 21 20 28 63 61 6e 76 wiki>(set! (canv
0fa0: 61 73 2d 6c 69 6e 65 2d 77 69 64 74 68 20 5b 63 as-line-width [c
0fb0: 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 anvas canvas?])
0fc0: 5b 6c 69 6e 65 2d 77 69 64 74 68 20 69 6e 74 65 [line-width inte
0fd0: 67 65 72 3f 5d 29 20 e2 86 92 20 69 6e 74 65 67 ger?]) → integ
0fe0: 65 72 3f 3c 2f 6e 6f 77 69 6b 69 3e 0a 3c 2f 63 er?</nowiki>.</c
0ff0: 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 53 ode></a></h3>..S
1000: 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 ets the current
1010: 6c 69 6e 65 20 77 69 64 74 68 20 6f 66 20 74 68 line width of th
1020: 65 20 67 69 76 65 6e 20 63 61 6e 76 61 73 20 61 e given canvas a
1030: 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 nd returns the p
1040: 72 65 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 0a revious value...
1050: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
1060: 73 2d 6c 69 6e 65 2d 6a 6f 69 6e 22 3e 3c 63 6f s-line-join"><co
1070: 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 de><nowiki>(canv
1080: 61 73 2d 6c 69 6e 65 2d 6a 6f 69 6e 20 5b 63 61 as-line-join [ca
1090: 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 e2 nvas canvas?]) â
10a0: 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 †’ symbol?</nowi
10b0: 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f ki></code></a></
10c0: 68 33 3e 0a 0a 52 65 74 72 69 65 76 65 73 20 74 h3>..Retrieves t
10d0: 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 he current line
10e0: 6a 6f 69 6e 20 73 74 79 6c 65 20 6f 66 20 74 68 join style of th
10f0: 65 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 20 e given canvas.
1100: 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 Possible values
1110: 61 72 65 0a 0a 20 20 2a 20 20 3c 63 6f 64 65 3e are.. * <code>
1120: 27 6d 69 74 65 72 3c 2f 63 6f 64 65 3e 0a 20 20 'miter</code>.
1130: 2a 20 20 3c 63 6f 64 65 3e 27 62 65 76 65 6c 3c * <code>'bevel<
1140: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
1150: 65 3e 27 72 6f 75 6e 64 3c 2f 63 6f 64 65 3e 0a e>'round</code>.
1160: 0a 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 .<h3><a id="canv
1170: 61 73 2d 6c 69 6e 65 2d 6a 6f 69 6e 2d 73 65 74 as-line-join-set
1180: 5f 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 _"><code>..<nowi
1190: 6b 69 3e 28 63 61 6e 76 61 73 2d 6c 69 6e 65 2d ki>(canvas-line-
11a0: 6a 6f 69 6e 2d 73 65 74 21 20 5b 63 61 6e 76 61 join-set! [canva
11b0: 73 20 63 61 6e 76 61 73 3f 5d 20 5b 6c 69 6e 65 s canvas?] [line
11c0: 2d 6a 6f 69 6e 20 73 79 6d 62 6f 6c 3f 5d 29 20 -join symbol?])
11d0: e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 → symbol?</now
11e0: 69 6b 69 3e 3c 62 72 3e 0a 09 3c 6e 6f 77 69 6b iki><br>..<nowik
11f0: 69 3e 28 73 65 74 21 20 28 63 61 6e 76 61 73 2d i>(set! (canvas-
1200: 6c 69 6e 65 2d 6a 6f 69 6e 20 5b 63 61 6e 76 61 line-join [canva
1210: 73 20 63 61 6e 76 61 73 3f 5d 29 20 5b 6c 69 6e s canvas?]) [lin
1220: 65 2d 6a 6f 69 6e 20 73 79 6d 62 6f 6c 3f 5d 29 e-join symbol?])
1230: 20 e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f → symbol?</no
1240: 77 69 6b 69 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 wiki>.</code></a
1250: 3e 3c 2f 68 33 3e 0a 0a 53 65 74 73 20 74 68 65 ></h3>..Sets the
1260: 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 6a 6f current line jo
1270: 69 6e 20 73 74 79 6c 65 20 6f 66 20 74 68 65 20 in style of the
1280: 67 69 76 65 6e 20 63 61 6e 76 61 73 20 61 6e 64 given canvas and
1290: 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 returns the pre
12a0: 76 69 6f 75 73 0a 76 61 6c 75 65 2e 0a 0a 3c 68 vious.value...<h
12b0: 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 3><a id="canvas-
12c0: 6c 69 6e 65 2d 63 61 70 22 3e 3c 63 6f 64 65 3e line-cap"><code>
12d0: 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d <nowiki>(canvas-
12e0: 6c 69 6e 65 2d 63 61 70 20 5b 63 61 6e 76 61 73 line-cap [canvas
12f0: 20 63 61 6e 76 61 73 3f 5d 29 20 e2 86 92 20 73 canvas?]) → s
1300: 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c ymbol?</nowiki><
1310: 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a /code></a></h3>.
1320: 0a 52 65 74 72 69 65 76 65 73 20 74 68 65 20 63 .Retrieves the c
1330: 75 72 72 65 6e 74 20 6c 69 6e 65 20 63 61 70 20 urrent line cap
1340: 73 74 79 6c 65 20 6f 66 20 74 68 65 20 67 69 76 style of the giv
1350: 65 6e 20 63 61 6e 76 61 73 2e 0a 0a 20 20 2a 20 en canvas... *
1360: 20 3c 63 6f 64 65 3e 27 66 6c 61 74 3c 2f 63 6f <code>'flat</co
1370: 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 de>. * <code>'
1380: 73 71 75 61 72 65 3c 2f 63 6f 64 65 3e 0a 20 20 square</code>.
1390: 2a 20 20 3c 63 6f 64 65 3e 27 72 6f 75 6e 64 3c * <code>'round<
13a0: 2f 63 6f 64 65 3e 0a 0a 3c 68 33 3e 3c 61 20 69 /code>..<h3><a i
13b0: 64 3d 22 63 61 6e 76 61 73 2d 6c 69 6e 65 2d 63 d="canvas-line-c
13c0: 61 70 2d 73 65 74 5f 22 3e 3c 63 6f 64 65 3e 0a ap-set_"><code>.
13d0: 09 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 73 .<nowiki>(canvas
13e0: 2d 6c 69 6e 65 2d 63 61 70 2d 73 65 74 21 20 5b -line-cap-set! [
13f0: 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 20 canvas canvas?]
1400: 5b 6c 69 6e 65 2d 63 61 70 20 73 79 6d 62 6f 6c [line-cap symbol
1410: 3f 5d 29 20 e2 86 92 20 73 79 6d 62 6f 6c 3f 3c ?]) → symbol?<
1420: 2f 6e 6f 77 69 6b 69 3e 3c 62 72 3e 0a 09 3c 6e /nowiki><br>..<n
1430: 6f 77 69 6b 69 3e 28 73 65 74 21 20 28 63 61 6e owiki>(set! (can
1440: 76 61 73 2d 6c 69 6e 65 2d 63 61 70 20 5b 63 61 vas-line-cap [ca
1450: 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 5b nvas canvas?]) [
1460: 6c 69 6e 65 2d 63 61 70 20 73 79 6d 62 6f 6c 3f line-cap symbol?
1470: 5d 29 20 e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f ]) → symbol?</
1480: 6e 6f 77 69 6b 69 3e 0a 3c 2f 63 6f 64 65 3e 3c nowiki>.</code><
1490: 2f 61 3e 3c 2f 68 33 3e 0a 0a 53 65 74 73 20 74 /a></h3>..Sets t
14a0: 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 he current line
14b0: 63 61 70 20 73 74 79 6c 65 20 6f 66 20 74 68 65 cap style of the
14c0: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 20 61 6e given canvas an
14d0: 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 d returns the pr
14e0: 65 76 69 6f 75 73 0a 76 61 6c 75 65 2e 0a 0a 3c evious.value...<
14f0: 68 32 3e 46 69 6c 6c 65 64 20 41 72 65 61 73 3c h2>Filled Areas<
1500: 2f 68 32 3e 0a 0a 3c 68 33 3e 3c 61 20 69 64 3d /h2>..<h3><a id=
1510: 22 63 61 6e 76 61 73 2d 62 6f 78 5f 22 3e 3c 63 "canvas-box_"><c
1520: 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e ode><nowiki>(can
1530: 76 61 73 2d 62 6f 78 21 20 5b 63 61 6e 76 61 73 vas-box! [canvas
1540: 20 63 61 6e 76 61 73 3f 5d 20 5b 78 30 20 72 65 canvas?] [x0 re
1550: 61 6c 3f 5d 20 5b 78 31 20 72 65 61 6c 3f 5d 20 al?] [x1 real?]
1560: 5b 79 30 20 72 65 61 6c 3f 5d 20 5b 79 31 20 72 [y0 real?] [y1 r
1570: 65 61 6c 3f 5d 29 20 e2 86 92 20 76 6f 69 64 3f eal?]) → void?
1580: 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e </nowiki></code>
1590: 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 44 72 61 77 73 </a></h3>..Draws
15a0: 20 61 20 66 69 6c 6c 65 64 20 72 65 63 74 61 6e a filled rectan
15b0: 67 6c 65 20 6f 6e 20 74 68 65 20 67 69 76 65 6e gle on the given
15c0: 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 33 3e 3c 61 canvas...<h3><a
15d0: 20 69 64 3d 22 63 61 6e 76 61 73 2d 73 65 63 74 id="canvas-sect
15e0: 6f 72 5f 22 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 or_"><code><nowi
15f0: 6b 69 3e 28 63 61 6e 76 61 73 2d 73 65 63 74 6f ki>(canvas-secto
1600: 72 21 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 r! [canvas canva
1610: 73 3f 5d 20 5b 78 20 72 65 61 6c 3f 5d 20 5b 79 s?] [x real?] [y
1620: 20 72 65 61 6c 3f 5d 20 5b 77 69 64 74 68 20 72 real?] [width r
1630: 65 61 6c 3f 5d 20 5b 68 65 69 67 68 74 20 72 65 eal?] [height re
1640: 61 6c 3f 5d 20 5b 61 6c 70 68 61 30 20 72 65 61 al?] [alpha0 rea
1650: 6c 3f 5d 20 5b 61 6c 70 68 61 31 20 72 65 61 6c l?] [alpha1 real
1660: 3f 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c 2f 6e ?]) → void?</n
1670: 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 owiki></code></a
1680: 3e 3c 2f 68 33 3e 0a 0a 44 72 61 77 73 20 61 20 ></h3>..Draws a
1690: 66 69 6c 6c 65 64 20 65 6c 6c 69 70 73 69 73 20 filled ellipsis
16a0: 73 65 63 74 6f 72 20 6f 6e 20 74 68 65 20 67 69 sector on the gi
16b0: 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 33 ven canvas...<h3
16c0: 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 63 ><a id="canvas-c
16d0: 68 6f 72 64 5f 22 3e 3c 63 6f 64 65 3e 3c 6e 6f hord_"><code><no
16e0: 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d 63 68 6f wiki>(canvas-cho
16f0: 72 64 21 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 rd! [canvas canv
1700: 61 73 3f 5d 20 5b 78 20 72 65 61 6c 3f 5d 20 5b as?] [x real?] [
1710: 79 20 72 65 61 6c 3f 5d 20 5b 77 69 64 74 68 20 y real?] [width
1720: 72 65 61 6c 3f 5d 20 5b 68 65 69 67 68 74 20 72 real?] [height r
1730: 65 61 6c 3f 5d 20 5b 61 6c 70 68 61 30 20 72 65 eal?] [alpha0 re
1740: 61 6c 3f 5d 20 5b 61 6c 70 68 61 31 20 72 65 61 al?] [alpha1 rea
1750: 6c 3f 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c 2f l?]) → void?</
1760: 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f nowiki></code></
1770: 61 3e 3c 2f 68 33 3e 0a 0a 44 72 61 77 73 20 61 a></h3>..Draws a
1780: 20 66 69 6c 6c 65 64 20 65 6c 6c 69 70 73 69 73 filled ellipsis
1790: 20 61 72 63 20 6f 6e 20 74 68 65 20 67 69 76 65 arc on the give
17a0: 6e 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 33 3e 3c n canvas...<h3><
17b0: 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 62 61 63 a id="canvas-bac
17c0: 6b 67 72 6f 75 6e 64 2d 6f 70 61 63 69 74 79 22 kground-opacity"
17d0: 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 ><code><nowiki>(
17e0: 63 61 6e 76 61 73 2d 62 61 63 6b 67 72 6f 75 6e canvas-backgroun
17f0: 64 2d 6f 70 61 63 69 74 79 20 5b 63 61 6e 76 61 d-opacity [canva
1800: 73 20 63 61 6e 76 61 73 3f 5d 29 20 e2 86 92 20 s canvas?]) →
1810: 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 6b 69 3e symbol?</nowiki>
1820: 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e </code></a></h3>
1830: 0a 0a 52 65 74 72 69 65 76 65 73 20 74 68 65 20 ..Retrieves the
1840: 63 75 72 72 65 6e 74 20 62 61 63 6b 67 72 6f 75 current backgrou
1850: 6e 64 20 6f 70 61 63 69 74 79 20 6f 66 20 74 68 nd opacity of th
1860: 65 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 20 e given canvas.
1870: 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 0a Possible values.
1880: 61 72 65 0a 0a 20 20 2a 20 20 3c 63 6f 64 65 3e are.. * <code>
1890: 27 74 72 61 6e 73 70 61 72 65 6e 74 3c 2f 63 6f 'transparent</co
18a0: 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 de>. * <code>'
18b0: 6f 70 61 71 75 65 3c 2f 63 6f 64 65 3e 0a 0a 3c opaque</code>..<
18c0: 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 h3><a id="canvas
18d0: 2d 62 61 63 6b 67 72 6f 75 6e 64 2d 6f 70 61 63 -background-opac
18e0: 69 74 79 2d 73 65 74 5f 22 3e 3c 63 6f 64 65 3e ity-set_"><code>
18f0: 0a 09 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 ..<nowiki>(canva
1900: 73 2d 62 61 63 6b 67 72 6f 75 6e 64 2d 6f 70 61 s-background-opa
1910: 63 69 74 79 2d 73 65 74 21 20 5b 63 61 6e 76 61 city-set! [canva
1920: 73 20 63 61 6e 76 61 73 3f 5d 20 5b 62 61 63 6b s canvas?] [back
1930: 67 72 6f 75 6e 64 2d 6f 70 61 63 69 74 79 20 73 ground-opacity s
1940: 79 6d 62 6f 6c 3f 5d 29 20 e2 86 92 20 73 79 6d ymbol?]) → sym
1950: 62 6f 6c 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 62 72 bol?</nowiki><br
1960: 3e 0a 09 3c 6e 6f 77 69 6b 69 3e 28 73 65 74 21 >..<nowiki>(set!
1970: 20 28 63 61 6e 76 61 73 2d 62 61 63 6b 67 72 6f (canvas-backgro
1980: 75 6e 64 2d 6f 70 61 63 69 74 79 2d 73 65 74 21 und-opacity-set!
1990: 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f [canvas canvas?
19a0: 5d 29 20 5b 62 61 63 6b 67 72 6f 75 6e 64 2d 6f ]) [background-o
19b0: 70 61 63 69 74 79 20 73 79 6d 62 6f 6c 3f 5d 29 pacity symbol?])
19c0: 20 e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f → symbol?</no
19d0: 77 69 6b 69 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 wiki>.</code></a
19e0: 3e 3c 2f 68 33 3e 0a 0a 53 65 74 73 20 74 68 65 ></h3>..Sets the
19f0: 20 63 75 72 72 65 6e 74 20 62 61 63 6b 67 72 6f current backgro
1a00: 75 6e 64 20 6f 70 61 63 69 74 79 20 6f 66 20 74 und opacity of t
1a10: 68 65 20 67 69 76 65 6e 20 63 61 6e 76 61 73 20 he given canvas
1a20: 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 and returns the
1a30: 70 72 65 76 69 6f 75 73 0a 76 61 6c 75 65 2e 0a previous.value..
1a40: 0a 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 .<h3><a id="canv
1a50: 61 73 2d 66 69 6c 6c 2d 6d 6f 64 65 22 3e 3c 63 as-fill-mode"><c
1a60: 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e ode><nowiki>(can
1a70: 76 61 73 2d 66 69 6c 6c 2d 6d 6f 64 65 20 5b 63 vas-fill-mode [c
1a80: 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 anvas canvas?])
1a90: e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 → symbol?</now
1aa0: 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c iki></code></a><
1ab0: 2f 68 33 3e 0a 0a 52 65 74 72 69 65 76 65 73 20 /h3>..Retrieves
1ac0: 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 6c 79 the current poly
1ad0: 67 6f 6e 20 66 69 6c 6c 20 6d 6f 64 65 20 6f 66 gon fill mode of
1ae0: 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e 76 61 the given canva
1af0: 73 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 s. Possible valu
1b00: 65 73 20 61 72 65 0a 0a 20 20 2a 20 20 3c 63 6f es are.. * <co
1b10: 64 65 3e 27 65 76 65 6e 2d 6f 64 64 3c 2f 63 6f de>'even-odd</co
1b20: 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 de>. * <code>'
1b30: 77 69 6e 64 69 6e 67 3c 2f 63 6f 64 65 3e 0a 0a winding</code>..
1b40: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
1b50: 73 2d 66 69 6c 6c 2d 6d 6f 64 65 2d 73 65 74 5f s-fill-mode-set_
1b60: 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 6b "><code>..<nowik
1b70: 69 3e 28 63 61 6e 76 61 73 2d 66 69 6c 6c 2d 6d i>(canvas-fill-m
1b80: 6f 64 65 2d 73 65 74 21 20 5b 63 61 6e 76 61 73 ode-set! [canvas
1b90: 20 63 61 6e 76 61 73 3f 5d 20 5b 66 69 6c 6c 2d canvas?] [fill-
1ba0: 6d 6f 64 65 20 73 79 6d 62 6f 6c 3f 5d 29 20 e2 mode symbol?]) â
1bb0: 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 69 †’ symbol?</nowi
1bc0: 6b 69 3e 3c 62 72 3e 0a 09 3c 6e 6f 77 69 6b 69 ki><br>..<nowiki
1bd0: 3e 28 73 65 74 21 20 28 63 61 6e 76 61 73 2d 66 >(set! (canvas-f
1be0: 69 6c 6c 2d 6d 6f 64 65 20 5b 63 61 6e 76 61 73 ill-mode [canvas
1bf0: 20 63 61 6e 76 61 73 3f 5d 29 20 5b 66 69 6c 6c canvas?]) [fill
1c00: 2d 6d 6f 64 65 20 73 79 6d 62 6f 6c 3f 5d 29 20 -mode symbol?])
1c10: e2 86 92 20 73 79 6d 62 6f 6c 3f 3c 2f 6e 6f 77 → symbol?</now
1c20: 69 6b 69 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 3e iki>.</code></a>
1c30: 3c 2f 68 33 3e 0a 0a 53 65 74 73 20 74 68 65 20 </h3>..Sets the
1c40: 63 75 72 72 65 6e 74 20 70 6f 6c 79 67 6f 6e 20 current polygon
1c50: 66 69 6c 6c 20 6d 6f 64 65 20 6f 66 20 74 68 65 fill mode of the
1c60: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 20 61 6e given canvas an
1c70: 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 d returns the pr
1c80: 65 76 69 6f 75 73 0a 76 61 6c 75 65 2e 0a 0a 3c evious.value...<
1c90: 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 h3><a id="canvas
1ca0: 2d 69 6e 74 65 72 69 6f 72 2d 73 74 79 6c 65 22 -interior-style"
1cb0: 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 ><code><nowiki>(
1cc0: 63 61 6e 76 61 73 2d 69 6e 74 65 72 69 6f 72 2d canvas-interior-
1cd0: 73 74 79 6c 65 20 5b 63 61 6e 76 61 73 20 63 61 style [canvas ca
1ce0: 6e 76 61 73 3f 5d 29 20 e2 86 92 20 28 6f 72 2f nvas?]) → (or/
1cf0: 63 20 73 79 6d 62 6f 6c 3f 20 6c 69 73 74 3f 29 c symbol? list?)
1d00: 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e </nowiki></code>
1d10: 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 52 65 74 72 69 </a></h3>..Retri
1d20: 65 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 eves the current
1d30: 20 69 6e 74 65 72 69 6f 72 20 73 74 79 6c 65 20 interior style
1d40: 6f 66 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e of the given can
1d50: 76 61 73 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 vas. Possible va
1d60: 6c 75 65 73 20 61 72 65 0a 0a 20 20 2a 20 20 3c lues are.. * <
1d70: 63 6f 64 65 3e 27 73 6f 6c 69 64 3c 2f 63 6f 64 code>'solid</cod
1d80: 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 28 e>. * <code>'(
1d90: 68 61 74 63 68 20 68 6f 72 69 7a 6f 6e 74 61 6c hatch horizontal
1da0: 29 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 )</code>. * <c
1db0: 6f 64 65 3e 27 28 68 61 74 63 68 20 76 65 72 74 ode>'(hatch vert
1dc0: 69 63 61 6c 29 3c 2f 63 6f 64 65 3e 0a 20 20 2a ical)</code>. *
1dd0: 20 20 3c 63 6f 64 65 3e 27 28 68 61 74 63 68 20 <code>'(hatch
1de0: 66 6f 72 77 61 72 64 2d 64 69 61 67 6f 6e 61 6c forward-diagonal
1df0: 29 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 )</code>. * <c
1e00: 6f 64 65 3e 27 28 68 61 74 63 68 20 62 61 63 6b ode>'(hatch back
1e10: 77 61 72 64 2d 64 69 61 67 6f 6e 61 6c 29 3c 2f ward-diagonal)</
1e20: 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 code>. * <code
1e30: 3e 27 28 68 61 74 63 68 20 63 72 6f 73 73 29 3c >'(hatch cross)<
1e40: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
1e50: 65 3e 27 28 68 61 74 63 68 20 64 69 61 67 6f 6e e>'(hatch diagon
1e60: 61 6c 2d 63 72 6f 73 73 29 3c 2f 63 6f 64 65 3e al-cross)</code>
1e70: 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 3c 6e 6f 77 . * <code><now
1e80: 69 6b 69 3e 28 6c 69 73 74 20 27 73 74 69 70 70 iki>(list 'stipp
1e90: 6c 65 20 5b 77 69 64 74 68 20 69 6e 74 65 67 65 le [width intege
1ea0: 72 3f 5d 20 5b 68 65 69 67 68 74 20 69 6e 74 65 r?] [height inte
1eb0: 67 65 72 3f 5d 20 5b 64 61 74 61 20 62 6c 6f 62 ger?] [data blob
1ec0: 3f 5d 29 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f ?])</nowiki></co
1ed0: 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 3c de>. * <code><
1ee0: 6e 6f 77 69 6b 69 3e 28 6c 69 73 74 20 27 70 61 nowiki>(list 'pa
1ef0: 74 74 65 72 6e 2f 72 67 62 20 5b 77 69 64 74 68 ttern/rgb [width
1f00: 20 69 6e 74 65 67 65 72 3f 5d 20 5b 68 65 69 67 integer?] [heig
1f10: 68 74 20 69 6e 74 65 67 65 72 3f 5d 20 5b 64 61 ht integer?] [da
1f20: 74 61 20 62 6c 6f 62 3f 5d 29 3c 2f 6e 6f 77 69 ta blob?])</nowi
1f30: 6b 69 3e 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 ki></code>. *
1f40: 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 6c <code><nowiki>(l
1f50: 69 73 74 20 27 70 61 74 74 65 72 6e 2f 72 67 62 ist 'pattern/rgb
1f60: 61 20 5b 77 69 64 74 68 20 69 6e 74 65 67 65 72 a [width integer
1f70: 3f 5d 20 5b 68 65 69 67 68 74 20 69 6e 74 65 67 ?] [height integ
1f80: 65 72 3f 5d 20 5b 64 61 74 61 20 62 6c 6f 62 3f er?] [data blob?
1f90: 5d 29 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 ])</nowiki></cod
1fa0: 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 23 66 e>. * <code>#f
1fb0: 3c 2f 63 6f 64 65 3e 0a 0a 3c 68 33 3e 3c 61 20 </code>..<h3><a
1fc0: 69 64 3d 22 63 61 6e 76 61 73 2d 69 6e 74 65 72 id="canvas-inter
1fd0: 69 6f 72 2d 73 74 79 6c 65 2d 73 65 74 5f 22 3e ior-style-set_">
1fe0: 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 6b 69 3e <code>..<nowiki>
1ff0: 28 63 61 6e 76 61 73 2d 69 6e 74 65 72 69 6f 72 (canvas-interior
2000: 2d 73 74 79 6c 65 2d 73 65 74 21 20 5b 63 61 6e -style-set! [can
2010: 76 61 73 20 63 61 6e 76 61 73 3f 5d 20 5b 69 6e vas canvas?] [in
2020: 74 65 72 69 6f 72 2d 73 74 79 6c 65 20 28 6f 72 terior-style (or
2030: 2f 63 20 73 79 6d 62 6f 6c 3f 20 6c 69 73 74 3f /c symbol? list?
2040: 29 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c 2f 6e )]) → void?</n
2050: 6f 77 69 6b 69 3e 3c 62 72 3e 0a 09 3c 6e 6f 77 owiki><br>..<now
2060: 69 6b 69 3e 28 73 65 74 21 20 28 63 61 6e 76 61 iki>(set! (canva
2070: 73 2d 69 6e 74 65 72 69 6f 72 2d 73 74 79 6c 65 s-interior-style
2080: 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f [canvas canvas?
2090: 5d 29 20 5b 69 6e 74 65 72 69 6f 72 2d 73 74 79 ]) [interior-sty
20a0: 6c 65 20 28 6f 72 2f 63 20 73 79 6d 62 6f 6c 3f le (or/c symbol?
20b0: 20 6c 69 73 74 3f 29 5d 29 20 e2 86 92 20 76 6f list?)]) → vo
20c0: 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 0a 3c 2f 63 id?</nowiki>.</c
20d0: 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 53 ode></a></h3>..S
20e0: 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 ets the current
20f0: 69 6e 74 65 72 69 6f 72 20 73 74 79 6c 65 20 6f interior style o
2100: 66 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e 76 f the given canv
2110: 61 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 as and returns t
2120: 68 65 20 70 72 65 76 69 6f 75 73 0a 76 61 6c 75 he previous.valu
2130: 65 2e 0a 0a 3c 68 32 3e 54 65 78 74 3c 2f 68 32 e...<h2>Text</h2
2140: 3e 0a 0a 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 >..<h3><a id="ca
2150: 6e 76 61 73 2d 74 65 78 74 5f 22 3e 3c 63 6f 64 nvas-text_"><cod
2160: 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 e><nowiki>(canva
2170: 73 2d 74 65 78 74 21 20 5b 63 61 6e 76 61 73 20 s-text! [canvas
2180: 63 61 6e 76 61 73 3f 5d 20 5b 78 20 72 65 61 6c canvas?] [x real
2190: 3f 5d 20 5b 79 20 72 65 61 6c 3f 5d 20 5b 74 65 ?] [y real?] [te
21a0: 78 74 20 73 74 72 69 6e 67 3f 5d 29 20 e2 86 92 xt string?]) →
21b0: 20 76 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c void?</nowiki><
21c0: 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a /code></a></h3>.
21d0: 0a 44 72 61 77 73 20 61 20 73 74 72 69 6e 67 20 .Draws a string
21e0: 6f 66 20 74 65 78 74 20 6f 6e 20 74 68 65 20 67 of text on the g
21f0: 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 iven canvas...<h
2200: 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 3><a id="canvas-
2210: 66 6f 6e 74 22 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 font"><code><now
2220: 69 6b 69 3e 28 63 61 6e 76 61 73 2d 66 6f 6e 74 iki>(canvas-font
2230: 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f [canvas canvas?
2240: 5d 29 20 e2 86 92 20 73 74 72 69 6e 67 3f 3c 2f ]) → string?</
2250: 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f nowiki></code></
2260: 61 3e 3c 2f 68 33 3e 0a 0a 52 65 74 72 69 65 76 a></h3>..Retriev
2270: 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 es the current f
2280: 6f 6e 74 20 6f 66 20 74 68 65 20 67 69 76 65 6e ont of the given
2290: 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 33 3e 3c 61 canvas...<h3><a
22a0: 20 69 64 3d 22 63 61 6e 76 61 73 2d 66 6f 6e 74 id="canvas-font
22b0: 2d 73 65 74 5f 22 3e 3c 63 6f 64 65 3e 0a 09 3c -set_"><code>..<
22c0: 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 61 73 2d 66 nowiki>(canvas-f
22d0: 6f 6e 74 2d 73 65 74 21 20 5b 63 61 6e 76 61 73 ont-set! [canvas
22e0: 20 63 61 6e 76 61 73 3f 5d 20 5b 66 6f 6e 74 20 canvas?] [font
22f0: 73 74 72 69 6e 67 3f 5d 29 20 e2 86 92 20 76 6f string?]) → vo
2300: 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 62 72 3e id?</nowiki><br>
2310: 0a 09 3c 6e 6f 77 69 6b 69 3e 28 73 65 74 21 20 ..<nowiki>(set!
2320: 28 63 61 6e 76 61 73 2d 66 6f 6e 74 20 5b 63 61 (canvas-font [ca
2330: 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 29 20 5b nvas canvas?]) [
2340: 66 6f 6e 74 20 73 74 72 69 6e 67 3f 5d 29 20 e2 font string?]) â
2350: 86 92 20 76 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 †’ void?</nowiki
2360: 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 >.</code></a></h
2370: 33 3e 0a 0a 53 65 74 73 20 74 68 65 20 63 75 72 3>..Sets the cur
2380: 72 65 6e 74 20 66 6f 6e 74 20 6f 66 20 74 68 65 rent font of the
2390: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 20 61 6e given canvas an
23a0: 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 d returns the pr
23b0: 65 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 0a 3c evious value...<
23c0: 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 h3><a id="canvas
23d0: 2d 74 65 78 74 2d 61 6c 69 67 6e 6d 65 6e 74 22 -text-alignment"
23e0: 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 ><code><nowiki>(
23f0: 63 61 6e 76 61 73 2d 74 65 78 74 2d 61 6c 69 67 canvas-text-alig
2400: 6e 6d 65 6e 74 20 5b 63 61 6e 76 61 73 20 63 61 nment [canvas ca
2410: 6e 76 61 73 3f 5d 29 20 e2 86 92 20 73 79 6d 62 nvas?]) → symb
2420: 6f 6c 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f ol?</nowiki></co
2430: 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 52 65 de></a></h3>..Re
2440: 74 72 69 65 76 65 73 20 74 68 65 20 63 75 72 72 trieves the curr
2450: 65 6e 74 20 74 65 78 74 20 61 6c 69 67 6e 6d 65 ent text alignme
2460: 6e 74 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 nt of the given
2470: 63 61 6e 76 61 73 2e 20 50 6f 73 73 69 62 6c 65 canvas. Possible
2480: 20 76 61 6c 75 65 73 20 61 72 65 0a 0a 20 20 2a values are.. *
2490: 20 20 3c 63 6f 64 65 3e 27 6e 6f 72 74 68 3c 2f <code>'north</
24a0: 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 code>. * <code
24b0: 3e 27 73 6f 75 74 68 3c 2f 63 6f 64 65 3e 0a 20 >'south</code>.
24c0: 20 2a 20 20 3c 63 6f 64 65 3e 27 65 61 73 74 3c * <code>'east<
24d0: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
24e0: 65 3e 27 77 65 73 74 3c 2f 63 6f 64 65 3e 0a 20 e>'west</code>.
24f0: 20 2a 20 20 3c 63 6f 64 65 3e 27 6e 6f 72 74 68 * <code>'north
2500: 2d 65 61 73 74 3c 2f 63 6f 64 65 3e 0a 20 20 2a -east</code>. *
2510: 20 20 3c 63 6f 64 65 3e 27 6e 6f 72 74 68 2d 77 <code>'north-w
2520: 65 73 74 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 est</code>. *
2530: 3c 63 6f 64 65 3e 27 73 6f 75 74 68 2d 65 61 73 <code>'south-eas
2540: 74 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 t</code>. * <c
2550: 6f 64 65 3e 27 73 6f 75 74 68 2d 77 65 73 74 3c ode>'south-west<
2560: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
2570: 65 3e 27 63 65 6e 74 65 72 3c 2f 63 6f 64 65 3e e>'center</code>
2580: 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 62 61 73 . * <code>'bas
2590: 65 2d 6c 65 66 74 3c 2f 63 6f 64 65 3e 0a 20 20 e-left</code>.
25a0: 2a 20 20 3c 63 6f 64 65 3e 27 62 61 73 65 2d 63 * <code>'base-c
25b0: 65 6e 74 65 72 3c 2f 63 6f 64 65 3e 0a 20 20 2a enter</code>. *
25c0: 20 20 3c 63 6f 64 65 3e 27 62 61 73 65 2d 72 69 <code>'base-ri
25d0: 67 68 74 3c 2f 63 6f 64 65 3e 0a 0a 3c 68 33 3e ght</code>..<h3>
25e0: 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 74 65 <a id="canvas-te
25f0: 78 74 2d 61 6c 69 67 6e 6d 65 6e 74 2d 73 65 74 xt-alignment-set
2600: 5f 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 69 _"><code>..<nowi
2610: 6b 69 3e 28 63 61 6e 76 61 73 2d 74 65 78 74 2d ki>(canvas-text-
2620: 61 6c 69 67 6e 6d 65 6e 74 2d 73 65 74 21 20 5b alignment-set! [
2630: 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 20 canvas canvas?]
2640: 5b 74 65 78 74 2d 61 6c 69 67 6e 6d 65 6e 74 20 [text-alignment
2650: 73 79 6d 62 6f 6c 3f 5d 29 20 e2 86 92 20 76 6f symbol?]) → vo
2660: 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 62 72 3e id?</nowiki><br>
2670: 0a 09 3c 6e 6f 77 69 6b 69 3e 28 73 65 74 21 20 ..<nowiki>(set!
2680: 28 63 61 6e 76 61 73 2d 74 65 78 74 2d 61 6c 69 (canvas-text-ali
2690: 67 6e 6d 65 6e 74 20 5b 63 61 6e 76 61 73 20 63 gnment [canvas c
26a0: 61 6e 76 61 73 3f 5d 29 20 5b 74 65 78 74 2d 61 anvas?]) [text-a
26b0: 6c 69 67 6e 6d 65 6e 74 20 73 79 6d 62 6f 6c 3f lignment symbol?
26c0: 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c 2f 6e 6f ]) → void?</no
26d0: 77 69 6b 69 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 wiki>.</code></a
26e0: 3e 3c 2f 68 33 3e 0a 0a 53 65 74 73 20 74 68 65 ></h3>..Sets the
26f0: 20 63 75 72 72 65 6e 74 20 74 65 78 74 20 61 6c current text al
2700: 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 67 ignment of the g
2710: 69 76 65 6e 20 63 61 6e 76 61 73 20 61 6e 64 20 iven canvas and
2720: 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 returns the prev
2730: 69 6f 75 73 0a 76 61 6c 75 65 2e 0a 0a 3c 68 33 ious.value...<h3
2740: 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 74 ><a id="canvas-t
2750: 65 78 74 2d 6f 72 69 65 6e 74 61 74 69 6f 6e 22 ext-orientation"
2760: 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 ><code><nowiki>(
2770: 63 61 6e 76 61 73 2d 74 65 78 74 2d 6f 72 69 65 canvas-text-orie
2780: 6e 74 61 74 69 6f 6e 20 5b 63 61 6e 76 61 73 20 ntation [canvas
2790: 63 61 6e 76 61 73 3f 5d 29 20 e2 86 92 20 72 65 canvas?]) → re
27a0: 61 6c 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f al?</nowiki></co
27b0: 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 52 65 de></a></h3>..Re
27c0: 74 72 69 65 76 65 73 20 74 68 65 20 63 75 72 72 trieves the curr
27d0: 65 6e 74 20 74 65 78 74 20 6f 72 69 65 6e 74 61 ent text orienta
27e0: 74 69 6f 6e 20 6f 66 20 74 68 65 20 67 69 76 65 tion of the give
27f0: 6e 20 63 61 6e 76 61 73 2e 0a 0a 3c 68 33 3e 3c n canvas...<h3><
2800: 61 20 69 64 3d 22 63 61 6e 76 61 73 2d 74 65 78 a id="canvas-tex
2810: 74 2d 6f 72 69 65 6e 74 61 74 69 6f 6e 2d 73 65 t-orientation-se
2820: 74 5f 22 3e 3c 63 6f 64 65 3e 0a 09 3c 6e 6f 77 t_"><code>..<now
2830: 69 6b 69 3e 28 63 61 6e 76 61 73 2d 74 65 78 74 iki>(canvas-text
2840: 2d 6f 72 69 65 6e 74 61 74 69 6f 6e 2d 73 65 74 -orientation-set
2850: 21 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 73 ! [canvas canvas
2860: 3f 5d 20 5b 6f 72 69 65 6e 74 61 74 69 6f 6e 20 ?] [orientation
2870: 72 65 61 6c 3f 5d 29 20 e2 86 92 20 76 6f 69 64 real?]) → void
2880: 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 62 72 3e 0a 09 ?</nowiki><br>..
2890: 3c 6e 6f 77 69 6b 69 3e 28 73 65 74 21 20 28 63 <nowiki>(set! (c
28a0: 61 6e 76 61 73 2d 74 65 78 74 2d 6f 72 69 65 6e anvas-text-orien
28b0: 74 61 74 69 6f 6e 20 5b 63 61 6e 76 61 73 20 63 tation [canvas c
28c0: 61 6e 76 61 73 3f 5d 29 20 5b 6f 72 69 65 6e 74 anvas?]) [orient
28d0: 61 74 69 6f 6e 20 72 65 61 6c 3f 5d 29 20 e2 86 ation real?]) â†
28e0: 92 20 76 6f 69 64 3f 3c 2f 6e 6f 77 69 6b 69 3e ’ void?</nowiki>
28f0: 0a 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 .</code></a></h3
2900: 3e 0a 0a 53 65 74 73 20 74 68 65 20 63 75 72 72 >..Sets the curr
2910: 65 6e 74 20 74 65 78 74 20 6f 72 69 65 6e 74 61 ent text orienta
2920: 74 69 6f 6e 20 6f 66 20 74 68 65 20 67 69 76 65 tion of the give
2930: 6e 20 63 61 6e 76 61 73 20 61 6e 64 20 72 65 74 n canvas and ret
2940: 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 urns the previou
2950: 73 0a 76 61 6c 75 65 2e 0a 0a 3c 68 33 3e 3c 61 s.value...<h3><a
2960: 20 69 64 3d 22 63 61 6e 76 61 73 2d 66 6f 6e 74 id="canvas-font
2970: 2d 64 69 6d 65 6e 73 69 6f 6e 73 22 3e 3c 63 6f -dimensions"><co
2980: 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 de><nowiki>(canv
2990: 61 73 2d 66 6f 6e 74 2d 64 69 6d 65 6e 73 69 6f as-font-dimensio
29a0: 6e 73 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 ns [canvas canva
29b0: 73 3f 5d 29 20 e2 86 92 20 28 76 61 6c 75 65 73 s?]) → (values
29c0: 20 69 6e 74 65 67 65 72 3f 20 69 6e 74 65 67 65 integer? intege
29d0: 72 3f 20 69 6e 74 65 67 65 72 3f 20 69 6e 74 65 r? integer? inte
29e0: 67 65 72 3f 29 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f ger?)</nowiki></
29f0: 63 6f 64 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a code></a></h3>..
2a00: 52 65 74 75 72 6e 73 20 74 68 65 20 6d 61 78 69 Returns the maxi
2a10: 6d 75 6d 20 77 69 64 74 68 2c 20 68 65 69 67 68 mum width, heigh
2a20: 74 2c 20 61 73 63 65 6e 74 20 61 6e 64 20 64 65 t, ascent and de
2a30: 73 63 65 6e 74 20 6f 66 20 74 68 65 20 63 75 72 scent of the cur
2a40: 72 65 6e 74 20 66 6f 6e 74 0a 6f 66 20 74 68 65 rent font.of the
2a50: 20 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 0a given canvas...
2a60: 3c 68 33 3e 3c 61 20 69 64 3d 22 63 61 6e 76 61 <h3><a id="canva
2a70: 73 2d 74 65 78 74 2d 73 69 7a 65 22 3e 3c 63 6f s-text-size"><co
2a80: 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 63 61 6e 76 de><nowiki>(canv
2a90: 61 73 2d 74 65 78 74 2d 73 69 7a 65 20 5b 63 61 as-text-size [ca
2aa0: 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d 20 5b 74 nvas canvas?] [t
2ab0: 65 78 74 20 73 74 72 69 6e 67 3f 5d 29 20 e2 86 ext string?]) â†
2ac0: 92 20 28 76 61 6c 75 65 73 20 69 6e 74 65 67 65 ’ (values intege
2ad0: 72 3f 20 69 6e 74 65 67 65 72 3f 29 3c 2f 6e 6f r? integer?)</no
2ae0: 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e wiki></code></a>
2af0: 3c 2f 68 33 3e 0a 0a 43 6f 6d 70 75 74 65 73 20 </h3>..Computes
2b00: 74 68 65 20 77 69 64 74 68 20 61 6e 64 20 68 65 the width and he
2b10: 69 67 68 74 20 6f 66 20 74 68 65 20 67 69 76 65 ight of the give
2b20: 6e 20 74 65 78 74 20 77 68 65 6e 20 64 72 61 77 n text when draw
2b30: 6e 20 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 63 n on the given c
2b40: 61 6e 76 61 73 2e 0a 0a 3c 68 33 3e 3c 61 20 69 anvas...<h3><a i
2b50: 64 3d 22 63 61 6e 76 61 73 2d 74 65 78 74 2d 62 d="canvas-text-b
2b60: 6f 78 22 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b ox"><code><nowik
2b70: 69 3e 28 63 61 6e 76 61 73 2d 74 65 78 74 2d 62 i>(canvas-text-b
2b80: 6f 78 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 ox [canvas canva
2b90: 73 3f 5d 20 5b 78 20 69 6e 74 65 67 65 72 3f 5d s?] [x integer?]
2ba0: 20 5b 79 20 69 6e 74 65 67 65 72 3f 5d 20 5b 74 [y integer?] [t
2bb0: 65 78 74 20 73 74 72 69 6e 67 3f 5d 29 20 e2 86 ext string?]) â†
2bc0: 92 20 28 76 61 6c 75 65 73 20 69 6e 74 65 67 65 ’ (values intege
2bd0: 72 3f 20 69 6e 74 65 67 65 72 3f 20 69 6e 74 65 r? integer? inte
2be0: 67 65 72 3f 20 69 6e 74 65 67 65 72 3f 29 3c 2f ger? integer?)</
2bf0: 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f nowiki></code></
2c00: 61 3e 3c 2f 68 33 3e 0a 0a 43 6f 6d 70 75 74 65 a></h3>..Compute
2c10: 73 20 74 68 65 20 62 6f 75 6e 64 69 6e 67 20 62 s the bounding b
2c20: 6f 78 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 ox of the given
2c30: 74 65 78 74 20 77 68 65 6e 20 64 72 61 77 6e 20 text when drawn
2c40: 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e on the given can
2c50: 76 61 73 2e 0a 52 65 74 75 72 6e 73 20 74 68 65 vas..Returns the
2c60: 20 6d 69 6e 69 6d 75 6d 20 61 6e 64 20 6d 61 78 minimum and max
2c70: 69 6d 75 6d 20 78 20 61 6e 64 20 79 20 63 6f 6f imum x and y coo
2c80: 72 64 69 6e 61 74 65 73 2e 0a 0a 3c 68 32 3e 56 rdinates...<h2>V
2c90: 65 72 74 69 63 65 73 3c 2f 68 32 3e 0a 0a 3c 68 ertices</h2>..<h
2ca0: 33 3e 3c 61 20 69 64 3d 22 63 61 6c 6c 2d 77 69 3><a id="call-wi
2cb0: 74 68 2d 63 61 6e 76 61 73 2d 69 6e 2d 6d 6f 64 th-canvas-in-mod
2cc0: 65 22 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 e"><code><nowiki
2cd0: 3e 28 63 61 6c 6c 2d 77 69 74 68 2d 63 61 6e 76 >(call-with-canv
2ce0: 61 73 2d 69 6e 2d 6d 6f 64 65 20 5b 63 61 6e 76 as-in-mode [canv
2cf0: 61 73 20 63 61 6e 76 61 73 3f 5d 20 5b 6d 6f 64 as canvas?] [mod
2d00: 65 20 73 79 6d 62 6f 6c 3f 5d 20 5b 70 72 6f 63 e symbol?] [proc
2d10: 20 28 2d 3e 20 63 61 6e 76 61 73 3f 20 61 6e 79 (-> canvas? any
2d20: 29 5d 29 20 e2 86 92 20 61 6e 79 3c 2f 6e 6f 77 )]) → any</now
2d30: 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c 2f 61 3e 3c iki></code></a><
2d40: 2f 68 33 3e 0a 0a 43 61 6c 6c 73 20 3c 63 6f 64 /h3>..Calls <cod
2d50: 65 3e 70 72 6f 63 3c 2f 63 6f 64 65 3e 20 77 69 e>proc</code> wi
2d60: 74 68 20 74 68 65 20 67 69 76 65 6e 20 63 61 6e th the given can
2d70: 76 61 73 20 61 6e 64 20 72 65 61 64 79 20 74 6f vas and ready to
2d80: 20 72 65 63 65 69 76 65 20 76 65 72 74 65 78 20 receive vertex
2d90: 64 61 74 61 0a 69 6e 20 74 68 65 20 67 69 76 65 data.in the give
2da0: 6e 20 6d 6f 64 65 2e 20 52 65 74 75 72 6e 73 20 n mode. Returns
2db0: 77 68 61 74 65 76 65 72 20 3c 63 6f 64 65 3e 70 whatever <code>p
2dc0: 72 6f 63 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 roc</code> retur
2dd0: 6e 73 2e 0a 0a 50 6f 73 73 69 62 6c 65 20 6d 6f ns...Possible mo
2de0: 64 65 73 20 61 72 65 0a 0a 20 20 2a 20 20 3c 63 des are.. * <c
2df0: 6f 64 65 3e 27 6f 70 65 6e 2d 6c 69 6e 65 73 3c ode>'open-lines<
2e00: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
2e10: 65 3e 27 63 6c 6f 73 65 64 2d 6c 69 6e 65 73 3c e>'closed-lines<
2e20: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
2e30: 65 3e 27 66 69 6c 6c 3c 2f 63 6f 64 65 3e 0a 20 e>'fill</code>.
2e40: 20 2a 20 20 3c 63 6f 64 65 3e 27 63 6c 69 70 3c * <code>'clip<
2e50: 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 /code>. * <cod
2e60: 65 3e 27 62 65 7a 69 65 72 3c 2f 63 6f 64 65 3e e>'bezier</code>
2e70: 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 72 65 67 . * <code>'reg
2e80: 69 6f 6e 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 ion</code>. *
2e90: 3c 63 6f 64 65 3e 27 70 61 74 68 3c 2f 63 6f 64 <code>'path</cod
2ea0: 65 3e 0a 0a 3c 68 33 3e 3c 61 20 69 64 3d 22 63 e>..<h3><a id="c
2eb0: 61 6e 76 61 73 2d 70 61 74 68 2d 73 65 74 21 22 anvas-path-set!"
2ec0: 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e 28 ><code><nowiki>(
2ed0: 63 61 6e 76 61 73 2d 70 61 74 68 2d 73 65 74 21 canvas-path-set!
2ee0: 20 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f [canvas canvas?
2ef0: 5d 20 5b 70 61 74 68 2d 61 63 74 69 6f 6e 20 73 ] [path-action s
2f00: 79 6d 62 6f 6c 3f 5d 29 20 e2 86 92 20 76 6f 69 ymbol?]) → voi
2f10: 64 3f 3c 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 d?</nowiki></cod
2f20: 65 3e 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 43 6f 6e e></a></h3>..Con
2f30: 66 69 67 75 72 65 73 20 74 68 65 20 61 63 74 69 figures the acti
2f40: 6f 6e 20 62 65 74 77 65 65 6e 20 73 65 71 75 65 on between seque
2f50: 6e 63 65 73 20 6f 66 20 76 65 72 74 65 78 20 64 nces of vertex d
2f60: 61 74 61 20 73 65 6e 74 20 74 6f 20 74 68 65 20 ata sent to the
2f70: 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a 50 6f given canvas..Po
2f80: 73 73 69 62 6c 65 20 61 63 74 69 6f 6e 73 20 61 ssible actions a
2f90: 72 65 0a 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 re.. * <code>'
2fa0: 6e 65 77 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 new</code>. *
2fb0: 3c 63 6f 64 65 3e 27 6d 6f 76 65 2d 74 6f 3c 2f <code>'move-to</
2fc0: 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 code>. * <code
2fd0: 3e 27 6c 69 6e 65 2d 74 6f 3c 2f 63 6f 64 65 3e >'line-to</code>
2fe0: 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 61 72 63 . * <code>'arc
2ff0: 3c 2f 63 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f </code>. * <co
3000: 64 65 3e 27 63 75 72 76 65 2d 74 6f 3c 2f 63 6f de>'curve-to</co
3010: 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e 27 de>. * <code>'
3020: 63 6c 6f 73 65 3c 2f 63 6f 64 65 3e 0a 20 20 2a close</code>. *
3030: 20 20 3c 63 6f 64 65 3e 27 66 69 6c 6c 3c 2f 63 <code>'fill</c
3040: 6f 64 65 3e 0a 20 20 2a 20 20 3c 63 6f 64 65 3e ode>. * <code>
3050: 27 73 74 72 6f 6b 65 3c 2f 63 6f 64 65 3e 0a 20 'stroke</code>.
3060: 20 2a 20 20 3c 63 6f 64 65 3e 27 66 69 6c 6c 2b * <code>'fill+
3070: 73 74 72 6f 6b 65 3c 2f 63 6f 64 65 3e 0a 20 20 stroke</code>.
3080: 2a 20 20 3c 63 6f 64 65 3e 27 63 6c 69 70 3c 2f * <code>'clip</
3090: 63 6f 64 65 3e 0a 0a 3c 68 33 3e 3c 61 20 69 64 code>..<h3><a id
30a0: 3d 22 63 61 6e 76 61 73 2d 76 65 72 74 65 78 21 ="canvas-vertex!
30b0: 22 3e 3c 63 6f 64 65 3e 3c 6e 6f 77 69 6b 69 3e "><code><nowiki>
30c0: 28 63 61 6e 76 61 73 2d 76 65 72 74 65 78 21 20 (canvas-vertex!
30d0: 5b 63 61 6e 76 61 73 20 63 61 6e 76 61 73 3f 5d [canvas canvas?]
30e0: 20 5b 78 20 72 65 61 6c 3f 5d 20 5b 79 20 72 65 [x real?] [y re
30f0: 61 6c 3f 5d 29 20 e2 86 92 20 76 6f 69 64 3f 3c al?]) → void?<
3100: 2f 6e 6f 77 69 6b 69 3e 3c 2f 63 6f 64 65 3e 3c /nowiki></code><
3110: 2f 61 3e 3c 2f 68 33 3e 0a 0a 53 65 6e 64 73 20 /a></h3>..Sends
3120: 61 20 76 65 72 74 65 78 20 74 6f 20 74 68 65 20 a vertex to the
3130: 67 69 76 65 6e 20 63 61 6e 76 61 73 2e 0a given canvas..