Artifact 63aba3e3b863e40c4b6ba08fd6892cce6fc71b1b:


0000: 28 64 65 66 69 6e 65 2d 66 6f 72 65 69 67 6e 2d  (define-foreign-
0010: 74 79 70 65 20 63 61 6e 76 61 73 20 28 63 2d 70  type canvas (c-p
0020: 6f 69 6e 74 65 72 20 22 63 64 43 61 6e 76 61 73  ointer "cdCanvas
0030: 22 29 0a 09 28 63 61 6e 76 61 73 2d 3e 70 6f 69  ")..(canvas->poi
0040: 6e 74 65 72 20 23 66 29 0a 09 28 70 6f 69 6e 74  nter #f)..(point
0050: 65 72 2d 3e 63 61 6e 76 61 73 20 23 66 29 29 0a  er->canvas #f)).
0060: 0a 28 64 65 66 69 6e 65 2d 66 6f 72 65 69 67 6e  .(define-foreign
0070: 2d 74 79 70 65 20 6e 6f 6e 6e 75 6c 6c 2d 63 61  -type nonnull-ca
0080: 6e 76 61 73 20 28 6e 6f 6e 6e 75 6c 6c 2d 63 2d  nvas (nonnull-c-
0090: 70 6f 69 6e 74 65 72 20 22 63 64 43 61 6e 76 61  pointer "cdCanva
00a0: 73 22 29 0a 09 28 63 61 6e 76 61 73 2d 3e 70 6f  s")..(canvas->po
00b0: 69 6e 74 65 72 20 23 74 29 0a 09 28 70 6f 69 6e  inter #t)..(poin
00c0: 74 65 72 2d 3e 63 61 6e 76 61 73 20 23 74 29 29  ter->canvas #t))
00d0: 0a 0a 28 64 65 66 69 6e 65 2d 66 6f 72 65 69 67  ..(define-foreig
00e0: 6e 2d 74 79 70 65 20 63 6f 6e 74 65 78 74 20 28  n-type context (
00f0: 63 2d 70 6f 69 6e 74 65 72 20 22 63 64 43 6f 6e  c-pointer "cdCon
0100: 74 65 78 74 22 29 0a 09 28 63 6f 6e 74 65 78 74  text")..(context
0110: 2d 3e 70 6f 69 6e 74 65 72 20 23 66 29 0a 09 28  ->pointer #f)..(
0120: 70 6f 69 6e 74 65 72 2d 3e 63 6f 6e 74 65 78 74  pointer->context
0130: 20 23 66 29 29 0a 0a 28 64 65 66 69 6e 65 2d 66   #f))..(define-f
0140: 6f 72 65 69 67 6e 2d 74 79 70 65 20 6e 6f 6e 6e  oreign-type nonn
0150: 75 6c 6c 2d 63 6f 6e 74 65 78 74 20 28 6e 6f 6e  ull-context (non
0160: 6e 75 6c 6c 2d 63 2d 70 6f 69 6e 74 65 72 20 22  null-c-pointer "
0170: 63 64 43 6f 6e 74 65 78 74 22 29 0a 09 28 63 6f  cdContext")..(co
0180: 6e 74 65 78 74 2d 3e 70 6f 69 6e 74 65 72 20 23  ntext->pointer #
0190: 74 29 0a 09 28 70 6f 69 6e 74 65 72 2d 3e 63 6f  t)..(pointer->co
01a0: 6e 74 65 78 74 20 23 74 29 29 0a 0a 28 64 65 66  ntext #t))..(def
01b0: 69 6e 65 2d 66 6f 72 65 69 67 6e 2d 74 79 70 65  ine-foreign-type
01c0: 20 73 74 61 74 65 20 28 63 2d 70 6f 69 6e 74 65   state (c-pointe
01d0: 72 20 22 63 64 53 74 61 74 65 22 29 0a 09 28 73  r "cdState")..(s
01e0: 74 61 74 65 2d 3e 70 6f 69 6e 74 65 72 20 23 66  tate->pointer #f
01f0: 29 0a 09 28 70 6f 69 6e 74 65 72 2d 3e 73 74 61  )..(pointer->sta
0200: 74 65 20 23 66 29 29 0a 0a 28 64 65 66 69 6e 65  te #f))..(define
0210: 2d 66 6f 72 65 69 67 6e 2d 74 79 70 65 20 6e 6f  -foreign-type no
0220: 6e 6e 75 6c 6c 2d 73 74 61 74 65 20 28 6e 6f 6e  nnull-state (non
0230: 6e 75 6c 6c 2d 63 2d 70 6f 69 6e 74 65 72 20 22  null-c-pointer "
0240: 63 64 53 74 61 74 65 22 29 0a 09 28 73 74 61 74  cdState")..(stat
0250: 65 2d 3e 70 6f 69 6e 74 65 72 20 23 74 29 0a 09  e->pointer #t)..
0260: 28 70 6f 69 6e 74 65 72 2d 3e 73 74 61 74 65 20  (pointer->state 
0270: 23 74 29 29 0a                                   #t)).