Artifact 547552bbf684ce2a97e33d2fa04589b52e6eba99:


0000: 28 72 65 71 75 69 72 65 2d 6c 69 62 72 61 72 79  (require-library
0010: 20 69 75 70 29 0a 28 69 6d 70 6f 72 74 20 28 70   iup).(import (p
0020: 72 65 66 69 78 20 69 75 70 20 69 75 70 3a 29 29  refix iup iup:))
0030: 0a 3b 3b 20 28 75 73 65 20 63 61 6e 76 61 73 2d  .;; (use canvas-
0040: 64 72 61 77 20 63 61 6e 76 61 73 2d 64 72 61 77  draw canvas-draw
0050: 2d 69 75 70 29 0a 28 75 73 65 20 73 72 66 69 2d  -iup).(use srfi-
0060: 34 29 0a 0a 28 64 65 66 69 6e 65 20 69 6d 67 2d  4)..(define img-
0070: 62 69 74 73 31 20 28 75 38 76 65 63 74 6f 72 2d  bits1 (u8vector-
0080: 3e 62 6c 6f 62 20 28 75 38 76 65 63 74 6f 72 0a  >blob (u8vector.
0090: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
00a0: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 32   1 1 1 1 1 1 1 2
00b0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
00c0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 31   2 2 2 2 2 2 2 1
00d0: 0a 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  . 1 1 1 1 1 1 1 
00e0: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 32 20  1 1 1 1 1 1 1 2 
00f0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0100: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 31 20  2 2 2 2 2 2 2 1 
0110: 31 0a 20 31 20 31 20 31 20 31 20 31 20 31 20 31  1. 1 1 1 1 1 1 1
0120: 20 31 20 31 20 31 20 31 20 31 20 31 20 32 20 32   1 1 1 1 1 1 2 2
0130: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0140: 20 32 20 32 20 32 20 32 20 32 20 32 20 31 20 31   2 2 2 2 2 2 1 1
0150: 20 31 0a 20 31 20 31 20 31 20 31 20 31 20 31 20   1. 1 1 1 1 1 1 
0160: 31 20 31 20 31 20 31 20 31 20 31 20 32 20 32 20  1 1 1 1 1 1 2 2 
0170: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0180: 32 20 32 20 32 20 32 20 32 20 32 20 31 20 31 20  2 2 2 2 2 2 1 1 
0190: 31 20 31 0a 20 31 20 31 20 31 20 31 20 31 20 31  1 1. 1 1 1 1 1 1
01a0: 20 31 20 31 20 31 20 31 20 31 20 32 20 32 20 32   1 1 1 1 1 2 2 2
01b0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
01c0: 20 32 20 32 20 32 20 32 20 32 20 31 20 31 20 31   2 2 2 2 2 1 1 1
01d0: 20 31 20 31 0a 20 31 20 31 20 31 20 31 20 31 20   1 1. 1 1 1 1 1 
01e0: 31 20 31 20 31 20 31 20 31 20 32 20 32 20 32 20  1 1 1 1 1 2 2 2 
01f0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0200: 32 20 32 20 32 20 32 20 32 20 31 20 31 20 31 20  2 2 2 2 2 1 1 1 
0210: 31 20 31 20 31 0a 20 31 20 31 20 31 20 31 20 31  1 1 1. 1 1 1 1 1
0220: 20 31 20 31 20 31 20 31 20 32 20 32 20 32 20 32   1 1 1 1 2 2 2 2
0230: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0240: 20 32 20 32 20 32 20 32 20 31 20 31 20 31 20 31   2 2 2 2 1 1 1 1
0250: 20 31 20 31 20 31 0a 20 31 20 31 20 31 20 31 20   1 1 1. 1 1 1 1 
0260: 31 20 31 20 31 20 31 20 32 20 32 20 32 20 32 20  1 1 1 1 2 2 2 2 
0270: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0280: 32 20 32 20 32 20 32 20 31 20 31 20 31 20 31 20  2 2 2 2 1 1 1 1 
0290: 31 20 31 20 31 20 31 0a 20 32 20 32 20 32 20 32  1 1 1 1. 2 2 2 2
02a0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
02b0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
02c0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
02d0: 20 32 20 32 20 32 20 32 0a 20 32 20 32 20 32 20   2 2 2 2. 2 2 2 
02e0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
02f0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0300: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0310: 32 20 32 20 32 20 32 20 32 0a 20 32 20 32 20 32  2 2 2 2 2. 2 2 2
0320: 20 30 20 32 20 32 20 32 20 32 20 32 20 32 20 32   0 2 2 2 2 2 2 2
0330: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0340: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0350: 20 32 20 32 20 32 20 32 20 32 0a 20 32 20 32 20   2 2 2 2 2. 2 2 
0360: 32 20 30 20 32 20 32 20 32 20 32 20 32 20 32 20  2 0 2 2 2 2 2 2 
0370: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0380: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0390: 32 20 32 20 32 20 32 20 32 20 32 0a 20 32 20 32  2 2 2 2 2 2. 2 2
03a0: 20 32 20 30 20 32 20 30 20 32 20 30 20 32 20 32   2 0 2 0 2 0 2 2
03b0: 20 30 20 32 20 32 20 32 20 30 20 30 20 30 20 32   0 2 2 2 0 0 0 2
03c0: 20 32 20 32 20 30 20 30 20 32 20 30 20 32 20 32   2 2 0 0 2 0 2 2
03d0: 20 30 20 30 20 30 20 32 20 32 20 32 0a 20 32 20   0 0 0 2 2 2. 2 
03e0: 32 20 32 20 30 20 32 20 30 20 30 20 32 20 30 20  2 2 0 2 0 0 2 0 
03f0: 30 20 32 20 30 20 32 20 30 20 32 20 32 20 32 20  0 2 0 2 0 2 2 2 
0400: 30 20 32 20 30 20 32 20 32 20 30 20 30 20 32 20  0 2 0 2 2 0 0 2 
0410: 30 20 32 20 32 20 32 20 30 20 32 20 32 0a 20 32  0 2 2 2 0 2 2. 2
0420: 20 32 20 32 20 30 20 32 20 30 20 32 20 32 20 30   2 2 0 2 0 2 2 0
0430: 20 32 20 32 20 30 20 32 20 32 20 32 20 32 20 32   2 2 0 2 2 2 2 2
0440: 20 30 20 32 20 30 20 32 20 32 20 32 20 30 20 32   0 2 0 2 2 2 0 2
0450: 20 30 20 32 20 32 20 32 20 30 20 32 20 32 0a 20   0 2 2 2 0 2 2. 
0460: 32 20 32 20 32 20 30 20 32 20 30 20 32 20 32 20  2 2 2 0 2 0 2 2 
0470: 30 20 32 20 32 20 30 20 32 20 32 20 30 20 30 20  0 2 2 0 2 2 0 0 
0480: 30 20 30 20 32 20 30 20 32 20 32 20 32 20 30 20  0 0 2 0 2 2 2 0 
0490: 32 20 30 20 30 20 30 20 30 20 30 20 32 20 32 0a  2 0 0 0 0 0 2 2.
04a0: 20 32 20 32 20 32 20 30 20 32 20 30 20 32 20 32   2 2 2 0 2 0 2 2
04b0: 20 30 20 32 20 32 20 30 20 32 20 30 20 32 20 32   0 2 2 0 2 0 2 2
04c0: 20 32 20 30 20 32 20 30 20 32 20 32 20 32 20 30   2 0 2 0 2 2 2 0
04d0: 20 32 20 30 20 32 20 32 20 32 20 32 20 32 20 32   2 0 2 2 2 2 2 2
04e0: 0a 20 32 20 32 20 32 20 30 20 32 20 30 20 32 20  . 2 2 2 0 2 0 2 
04f0: 32 20 30 20 32 20 32 20 30 20 32 20 30 20 32 20  2 0 2 2 0 2 0 2 
0500: 32 20 32 20 30 20 32 20 30 20 32 20 32 20 30 20  2 2 0 2 0 2 2 0 
0510: 30 20 32 20 30 20 32 20 32 20 32 20 30 20 32 20  0 2 0 2 2 2 0 2 
0520: 32 0a 20 32 20 32 20 32 20 30 20 32 20 30 20 32  2. 2 2 2 0 2 0 2
0530: 20 32 20 30 20 32 20 32 20 30 20 32 20 32 20 30   2 0 2 2 0 2 2 0
0540: 20 30 20 30 20 30 20 32 20 32 20 30 20 30 20 32   0 0 0 2 2 0 0 2
0550: 20 30 20 32 20 32 20 30 20 30 20 30 20 32 20 32   0 2 2 0 0 0 2 2
0560: 20 32 0a 20 32 20 32 20 32 20 32 20 32 20 32 20   2. 2 2 2 2 2 2 
0570: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0580: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0590: 32 20 30 20 32 20 32 20 32 20 32 20 32 20 32 20  2 0 2 2 2 2 2 2 
05a0: 32 20 32 0a 20 32 20 32 20 32 20 32 20 32 20 32  2 2. 2 2 2 2 2 2
05b0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
05c0: 20 32 20 32 20 32 20 32 20 32 20 30 20 32 20 32   2 2 2 2 2 0 2 2
05d0: 20 32 20 30 20 32 20 32 20 32 20 32 20 32 20 32   2 0 2 2 2 2 2 2
05e0: 20 32 20 32 0a 20 32 20 32 20 32 20 32 20 32 20   2 2. 2 2 2 2 2 
05f0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0600: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 30 20  2 2 2 2 2 2 2 0 
0610: 30 20 30 20 32 20 32 20 32 20 32 20 32 20 32 20  0 0 2 2 2 2 2 2 
0620: 32 20 32 20 32 0a 20 32 20 32 20 32 20 32 20 32  2 2 2. 2 2 2 2 2
0630: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0640: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0650: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0660: 20 32 20 32 20 32 0a 20 32 20 32 20 32 20 32 20   2 2 2. 2 2 2 2 
0670: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0680: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0690: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
06a0: 32 20 32 20 32 20 32 0a 20 31 20 31 20 31 20 31  2 2 2 2. 1 1 1 1
06b0: 20 31 20 31 20 31 20 32 20 32 20 32 20 32 20 32   1 1 1 2 2 2 2 2
06c0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
06d0: 20 32 20 31 20 31 20 31 20 31 20 31 20 31 20 31   2 1 1 1 1 1 1 1
06e0: 20 31 20 31 20 31 20 31 0a 20 31 20 31 20 31 20   1 1 1 1. 1 1 1 
06f0: 31 20 31 20 31 20 32 20 32 20 32 20 32 20 32 20  1 1 1 2 2 2 2 2 
0700: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0710: 32 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  2 1 1 1 1 1 1 1 
0720: 31 20 31 20 31 20 31 20 31 0a 20 31 20 31 20 31  1 1 1 1 1. 1 1 1
0730: 20 31 20 31 20 32 20 32 20 32 20 32 20 32 20 32   1 1 2 2 2 2 2 2
0740: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0750: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
0760: 20 31 20 31 20 31 20 31 20 31 0a 20 31 20 31 20   1 1 1 1 1. 1 1 
0770: 31 20 31 20 32 20 32 20 32 20 32 20 32 20 32 20  1 1 2 2 2 2 2 2 
0780: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0790: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  1 1 1 1 1 1 1 1 
07a0: 31 20 31 20 31 20 31 20 31 20 31 0a 20 31 20 31  1 1 1 1 1 1. 1 1
07b0: 20 31 20 32 20 32 20 32 20 32 20 32 20 32 20 32   1 2 2 2 2 2 2 2
07c0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 31   2 2 2 2 2 2 2 1
07d0: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
07e0: 20 31 20 31 20 31 20 31 20 31 20 31 0a 20 31 20   1 1 1 1 1 1. 1 
07f0: 31 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  1 2 2 2 2 2 2 2 
0800: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 31 20  2 2 2 2 2 2 2 1 
0810: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  1 1 1 1 1 1 1 1 
0820: 31 20 31 20 31 20 31 20 31 20 31 20 31 0a 20 31  1 1 1 1 1 1 1. 1
0830: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0840: 20 32 20 32 20 32 20 32 20 32 20 32 20 31 20 31   2 2 2 2 2 2 1 1
0850: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
0860: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 0a 20   1 1 1 1 1 1 1. 
0870: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0880: 32 20 32 20 32 20 32 20 32 20 32 20 31 20 31 20  2 2 2 2 2 2 1 1 
0890: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  1 1 1 1 1 1 1 1 
08a0: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 0a  1 1 1 1 1 1 1 1.
08b0: 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 69 6d 67  )))..(define img
08c0: 2d 62 69 74 73 32 20 28 75 38 76 65 63 74 6f 72  -bits2 (u8vector
08d0: 2d 3e 62 6c 6f 62 20 28 75 38 76 65 63 74 6f 72  ->blob (u8vector
08e0: 0a 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  . 2 2 2 2 2 2 2 
08f0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
0900: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0910: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0920: 32 0a 20 32 20 32 20 32 20 32 20 32 20 32 20 32  2. 2 2 2 2 2 2 2
0930: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 33   2 2 2 2 2 2 2 3
0940: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0950: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 32   3 3 3 3 3 3 3 2
0960: 20 32 0a 20 32 20 32 20 32 20 32 20 32 20 32 20   2. 2 2 2 2 2 2 
0970: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 33 20  2 2 2 2 2 2 2 3 
0980: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0990: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 32 20  3 3 3 3 3 3 3 2 
09a0: 32 20 32 0a 20 32 20 32 20 32 20 32 20 32 20 32  2 2. 2 2 2 2 2 2
09b0: 20 32 20 32 20 32 20 32 20 32 20 32 20 33 20 33   2 2 2 2 2 2 3 3
09c0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
09d0: 20 33 20 33 20 33 20 33 20 33 20 33 20 32 20 32   3 3 3 3 3 3 2 2
09e0: 20 32 20 32 0a 20 32 20 32 20 32 20 32 20 32 20   2 2. 2 2 2 2 2 
09f0: 32 20 32 20 32 20 32 20 32 20 32 20 33 20 33 20  2 2 2 2 2 2 3 3 
0a00: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0a10: 33 20 33 20 33 20 33 20 33 20 33 20 32 20 32 20  3 3 3 3 3 3 2 2 
0a20: 32 20 32 20 32 0a 20 32 20 32 20 32 20 32 20 32  2 2 2. 2 2 2 2 2
0a30: 20 32 20 32 20 32 20 32 20 32 20 33 20 33 20 33   2 2 2 2 2 3 3 3
0a40: 20 33 20 31 20 31 20 33 20 33 20 33 20 33 20 33   3 1 1 3 3 3 3 3
0a50: 20 33 20 33 20 33 20 33 20 33 20 32 20 32 20 32   3 3 3 3 3 2 2 2
0a60: 20 32 20 32 20 32 0a 20 32 20 32 20 32 20 32 20   2 2 2. 2 2 2 2 
0a70: 32 20 32 20 32 20 32 20 32 20 33 20 33 20 33 20  2 2 2 2 2 3 3 3 
0a80: 33 20 33 20 31 20 31 20 33 20 33 20 33 20 33 20  3 3 1 1 3 3 3 3 
0a90: 33 20 33 20 33 20 33 20 33 20 32 20 32 20 32 20  3 3 3 3 3 2 2 2 
0aa0: 32 20 32 20 32 20 32 0a 20 32 20 32 20 32 20 32  2 2 2 2. 2 2 2 2
0ab0: 20 32 20 32 20 32 20 32 20 33 20 33 20 33 20 33   2 2 2 2 3 3 3 3
0ac0: 20 33 20 33 20 31 20 31 20 33 20 33 20 33 20 33   3 3 1 1 3 3 3 3
0ad0: 20 33 20 33 20 33 20 33 20 32 20 32 20 32 20 32   3 3 3 3 2 2 2 2
0ae0: 20 32 20 32 20 32 20 32 0a 20 33 20 33 20 33 20   2 2 2 2. 3 3 3 
0af0: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0b00: 33 20 33 20 33 20 31 20 31 20 33 20 33 20 33 20  3 3 3 1 1 3 3 3 
0b10: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0b20: 33 20 33 20 33 20 33 20 33 0a 20 33 20 33 20 33  3 3 3 3 3. 3 3 3
0b30: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0b40: 20 33 20 33 20 33 20 31 20 31 20 33 20 33 20 33   3 3 3 1 1 3 3 3
0b50: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0b60: 20 33 20 33 20 33 20 33 20 33 0a 20 33 20 33 20   3 3 3 3 3. 3 3 
0b70: 33 20 30 20 33 20 33 20 33 20 33 20 33 20 33 20  3 0 3 3 3 3 3 3 
0b80: 33 20 33 20 33 20 33 20 31 20 31 20 33 20 33 20  3 3 3 3 1 1 3 3 
0b90: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0ba0: 33 20 33 20 33 20 33 20 33 20 33 0a 20 33 20 33  3 3 3 3 3 3. 3 3
0bb0: 20 33 20 30 20 33 20 33 20 33 20 33 20 33 20 33   3 0 3 3 3 3 3 3
0bc0: 20 33 20 33 20 33 20 33 20 31 20 31 20 33 20 33   3 3 3 3 1 1 3 3
0bd0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0be0: 20 33 20 33 20 33 20 33 20 33 20 33 0a 20 33 20   3 3 3 3 3 3. 3 
0bf0: 33 20 33 20 30 20 33 20 30 20 33 20 30 20 33 20  3 3 0 3 0 3 0 3 
0c00: 33 20 30 20 33 20 33 20 33 20 31 20 31 20 30 20  3 0 3 3 3 1 1 0 
0c10: 33 20 33 20 33 20 30 20 30 20 33 20 30 20 33 20  3 3 3 0 0 3 0 3 
0c20: 33 20 30 20 30 20 30 20 33 20 33 20 33 0a 20 33  3 0 0 0 3 3 3. 3
0c30: 20 33 20 33 20 30 20 33 20 30 20 30 20 33 20 30   3 3 0 3 0 0 3 0
0c40: 20 30 20 33 20 30 20 33 20 30 20 31 20 31 20 33   0 3 0 3 0 1 1 3
0c50: 20 30 20 33 20 30 20 33 20 33 20 30 20 30 20 33   0 3 0 3 3 0 0 3
0c60: 20 30 20 33 20 33 20 33 20 30 20 33 20 33 0a 20   0 3 3 3 0 3 3. 
0c70: 33 20 33 20 33 20 30 20 33 20 30 20 33 20 33 20  3 3 3 0 3 0 3 3 
0c80: 30 20 33 20 33 20 30 20 33 20 33 20 31 20 31 20  0 3 3 0 3 3 1 1 
0c90: 33 20 30 20 33 20 30 20 33 20 33 20 33 20 30 20  3 0 3 0 3 3 3 0 
0ca0: 33 20 30 20 33 20 33 20 33 20 30 20 33 20 33 0a  3 0 3 3 3 0 3 3.
0cb0: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
0cc0: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
0cd0: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
0ce0: 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31   1 1 1 1 1 1 1 1
0cf0: 0a 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  . 1 1 1 1 1 1 1 
0d00: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  1 1 1 1 1 1 1 1 
0d10: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  1 1 1 1 1 1 1 1 
0d20: 31 20 31 20 31 20 31 20 31 20 31 20 31 20 31 20  1 1 1 1 1 1 1 1 
0d30: 31 0a 20 33 20 33 20 33 20 30 20 33 20 30 20 33  1. 3 3 3 0 3 0 3
0d40: 20 33 20 30 20 33 20 33 20 30 20 33 20 30 20 31   3 0 3 3 0 3 0 1
0d50: 20 31 20 33 20 30 20 33 20 30 20 33 20 33 20 30   1 3 0 3 0 3 3 0
0d60: 20 30 20 33 20 30 20 33 20 33 20 33 20 30 20 33   0 3 0 3 3 3 0 3
0d70: 20 33 0a 20 33 20 33 20 33 20 30 20 33 20 30 20   3. 3 3 3 0 3 0 
0d80: 33 20 33 20 30 20 33 20 33 20 30 20 33 20 33 20  3 3 0 3 3 0 3 3 
0d90: 31 20 31 20 30 20 30 20 33 20 33 20 30 20 30 20  1 1 0 0 3 3 0 0 
0da0: 33 20 30 20 33 20 33 20 30 20 30 20 30 20 33 20  3 0 3 3 0 0 0 3 
0db0: 33 20 33 0a 20 33 20 33 20 33 20 33 20 33 20 33  3 3. 3 3 3 3 3 3
0dc0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0dd0: 20 31 20 31 20 33 20 33 20 33 20 33 20 33 20 33   1 1 3 3 3 3 3 3
0de0: 20 33 20 30 20 33 20 33 20 33 20 33 20 33 20 33   3 0 3 3 3 3 3 3
0df0: 20 33 20 33 0a 20 33 20 33 20 33 20 33 20 33 20   3 3. 3 3 3 3 3 
0e00: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0e10: 33 20 31 20 31 20 33 20 33 20 33 20 30 20 33 20  3 1 1 3 3 3 0 3 
0e20: 33 20 33 20 30 20 33 20 33 20 33 20 33 20 33 20  3 3 0 3 3 3 3 3 
0e30: 33 20 33 20 33 0a 20 33 20 33 20 33 20 33 20 33  3 3 3. 3 3 3 3 3
0e40: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0e50: 20 33 20 31 20 31 20 33 20 33 20 33 20 33 20 30   3 1 1 3 3 3 3 0
0e60: 20 30 20 30 20 33 20 33 20 33 20 33 20 33 20 33   0 0 3 3 3 3 3 3
0e70: 20 33 20 33 20 33 0a 20 33 20 33 20 33 20 33 20   3 3 3. 3 3 3 3 
0e80: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0e90: 33 20 33 20 31 20 31 20 33 20 33 20 33 20 33 20  3 3 1 1 3 3 3 3 
0ea0: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0eb0: 33 20 33 20 33 20 33 0a 20 33 20 33 20 33 20 33  3 3 3 3. 3 3 3 3
0ec0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0ed0: 20 33 20 33 20 31 20 31 20 33 20 33 20 33 20 33   3 3 1 1 3 3 3 3
0ee0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0ef0: 20 33 20 33 20 33 20 33 0a 20 32 20 32 20 32 20   3 3 3 3. 2 2 2 
0f00: 32 20 32 20 32 20 32 20 33 20 33 20 33 20 33 20  2 2 2 2 3 3 3 3 
0f10: 33 20 33 20 33 20 31 20 31 20 33 20 33 20 33 20  3 3 3 1 1 3 3 3 
0f20: 33 20 33 20 32 20 32 20 32 20 32 20 32 20 32 20  3 3 2 2 2 2 2 2 
0f30: 32 20 32 20 32 20 32 20 32 0a 20 32 20 32 20 32  2 2 2 2 2. 2 2 2
0f40: 20 32 20 32 20 32 20 33 20 33 20 33 20 33 20 33   2 2 2 3 3 3 3 3
0f50: 20 33 20 33 20 33 20 31 20 31 20 33 20 33 20 33   3 3 3 1 1 3 3 3
0f60: 20 33 20 32 20 32 20 32 20 32 20 32 20 32 20 32   3 2 2 2 2 2 2 2
0f70: 20 32 20 32 20 32 20 32 20 32 0a 20 32 20 32 20   2 2 2 2 2. 2 2 
0f80: 32 20 32 20 32 20 33 20 33 20 33 20 33 20 33 20  2 2 2 3 3 3 3 3 
0f90: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
0fa0: 33 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  3 2 2 2 2 2 2 2 
0fb0: 32 20 32 20 32 20 32 20 32 20 32 0a 20 32 20 32  2 2 2 2 2 2. 2 2
0fc0: 20 32 20 32 20 33 20 33 20 33 20 33 20 33 20 33   2 2 3 3 3 3 3 3
0fd0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
0fe0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
0ff0: 20 32 20 32 20 32 20 32 20 32 20 32 0a 20 32 20   2 2 2 2 2 2. 2 
1000: 32 20 32 20 33 20 33 20 33 20 33 20 33 20 33 20  2 2 3 3 3 3 3 3 
1010: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  3 3 3 3 3 3 3 3 
1020: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
1030: 32 20 32 20 32 20 32 20 32 20 32 20 32 0a 20 32  2 2 2 2 2 2 2. 2
1040: 20 32 20 33 20 33 20 33 20 33 20 33 20 33 20 33   2 3 3 3 3 3 3 3
1050: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 32   3 3 3 3 3 3 3 2
1060: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
1070: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 0a 20   2 2 2 2 2 2 2. 
1080: 32 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20  2 3 3 3 3 3 3 3 
1090: 33 20 33 20 33 20 33 20 33 20 33 20 33 20 32 20  3 3 3 3 3 3 3 2 
10a0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20  2 2 2 2 2 2 2 2 
10b0: 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32 0a  2 2 2 2 2 2 2 2.
10c0: 20 33 20 33 20 33 20 33 20 33 20 33 20 33 20 33   3 3 3 3 3 3 3 3
10d0: 20 33 20 33 20 33 20 33 20 33 20 33 20 32 20 32   3 3 3 3 3 3 2 2
10e0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
10f0: 20 32 20 32 20 32 20 32 20 32 20 32 20 32 20 32   2 2 2 2 2 2 2 2
1100: 0a 29 29 29 0a 0a 28 64 65 66 69 6e 65 20 28 69  .)))..(define (i
1110: 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74 72  up:item-set-attr
1120: 69 62 75 74 65 73 21 20 69 74 65 6d 20 2e 20 61  ibutes! item . a
1130: 74 74 72 6c 73 74 29 0a 20 20 28 66 6f 72 2d 65  ttrlst).  (for-e
1140: 61 63 68 20 28 6c 61 6d 62 64 61 20 28 61 74 74  ach (lambda (att
1150: 72 74 6f 6b 29 0a 09 20 20 20 20 20 20 28 6c 65  rtok)..      (le
1160: 74 20 28 28 61 74 74 72 6c 73 74 20 28 73 74 72  t ((attrlst (str
1170: 69 6e 67 2d 73 70 6c 69 74 20 61 74 74 72 74 6f  ing-split attrto
1180: 6b 20 22 3d 22 29 29 29 0a 09 09 28 69 75 70 3a  k "=")))...(iup:
1190: 61 74 74 72 69 62 75 74 65 2d 73 65 74 21 20 69  attribute-set! i
11a0: 74 65 6d 20 28 63 61 72 20 61 74 74 72 6c 73 74  tem (car attrlst
11b0: 29 28 63 61 64 72 20 61 74 74 72 6c 73 74 29 29  )(cadr attrlst))
11c0: 29 29 0a 09 20 20 20 20 61 74 74 72 6c 73 74 29  ))..    attrlst)
11d0: 0a 20 20 69 74 65 6d 29 0a 0a 28 64 65 66 69 6e  .  item)..(defin
11e0: 65 20 28 6d 79 61 63 74 69 6f 6e 29 0a 20 20 28  e (myaction).  (
11f0: 70 72 69 6e 74 20 22 4d 79 20 61 63 74 69 6f 6e  print "My action
1200: 20 63 61 6c 6c 65 64 22 29 29 0a 0a 28 64 65 66   called"))..(def
1210: 69 6e 65 20 28 69 6e 69 74 2d 64 69 61 6c 6f 67  ine (init-dialog
1220: 29 0a 20 20 28 6c 65 74 20 28 28 69 6d 67 31 20  ).  (let ((img1 
1230: 20 20 20 28 69 75 70 3a 69 6d 61 67 65 2f 70 61     (iup:image/pa
1240: 6c 65 74 74 65 20 33 32 20 33 32 20 69 6d 67 2d  lette 32 32 img-
1250: 62 69 74 73 31 29 29 0a 09 28 69 6d 67 32 20 20  bits1))..(img2  
1260: 20 20 28 69 75 70 3a 69 6d 61 67 65 2f 70 61 6c    (iup:image/pal
1270: 65 74 74 65 20 33 32 20 33 32 20 69 6d 67 2d 62  ette 32 32 img-b
1280: 69 74 73 32 29 29 0a 09 28 6d 6e 75 20 20 20 20  its2))..(mnu    
1290: 20 23 66 29 0a 09 28 5f 66 72 6d 2d 31 20 20 23   #f)..(_frm-1  #
12a0: 66 29 0a 09 28 5f 66 72 6d 2d 32 20 20 23 66 29  f)..(_frm-2  #f)
12b0: 0a 09 28 5f 66 72 6d 2d 33 20 20 23 66 29 0a 09  ..(_frm-3  #f)..
12c0: 28 5f 66 72 6d 2d 34 20 20 23 66 29 0a 09 28 5f  (_frm-4  #f)..(_
12d0: 66 72 6d 2d 35 20 20 23 66 29 0a 09 28 5f 6c 69  frm-5  #f)..(_li
12e0: 73 74 2d 31 20 23 66 29 0a 09 28 5f 6c 69 73 74  st-1 #f)..(_list
12f0: 2d 32 20 23 66 29 0a 09 28 5f 6c 69 73 74 2d 33  -2 #f)..(_list-3
1300: 20 23 66 29 0a 09 28 5f 68 62 6f 78 2d 31 20 23   #f)..(_hbox-1 #
1310: 66 29 0a 09 28 5f 76 62 6f 78 2d 31 20 23 66 29  f)..(_vbox-1 #f)
1320: 0a 09 28 5f 63 6e 76 2d 31 20 20 23 66 29 0a 09  ..(_cnv-1  #f)..
1330: 28 64 6c 67 20 20 20 20 20 23 66 29 0a 09 28 63  (dlg     #f)..(c
1340: 31 20 20 20 20 20 20 23 66 29 29 0a 20 20 20 20  1      #f)).    
1350: 28 69 75 70 3a 68 61 6e 64 6c 65 2d 6e 61 6d 65  (iup:handle-name
1360: 2d 73 65 74 21 20 69 6d 67 31 20 22 69 6d 67 31  -set! img1 "img1
1370: 22 29 0a 20 20 20 20 28 69 75 70 3a 61 74 74 72  ").    (iup:attr
1380: 69 62 75 74 65 2d 73 65 74 21 20 69 6d 67 31 20  ibute-set! img1 
1390: 22 30 22 20 22 30 20 30 20 30 22 29 0a 20 20 20  "0" "0 0 0").   
13a0: 20 28 69 75 70 3a 61 74 74 72 69 62 75 74 65 2d   (iup:attribute-
13b0: 73 65 74 21 20 69 6d 67 31 20 22 31 22 20 22 42  set! img1 "1" "B
13c0: 47 43 4f 4c 4f 52 22 29 0a 20 20 20 20 28 69 75  GCOLOR").    (iu
13d0: 70 3a 61 74 74 72 69 62 75 74 65 2d 73 65 74 21  p:attribute-set!
13e0: 20 69 6d 67 31 20 22 32 22 20 22 32 35 35 20 30   img1 "2" "255 0
13f0: 20 30 22 29 0a 0a 20 20 20 20 28 69 75 70 3a 68   0")..    (iup:h
1400: 61 6e 64 6c 65 2d 6e 61 6d 65 2d 73 65 74 21 20  andle-name-set! 
1410: 69 6d 67 32 20 22 69 6d 67 32 22 29 0a 20 20 20  img2 "img2").   
1420: 20 28 69 75 70 3a 61 74 74 72 69 62 75 74 65 2d   (iup:attribute-
1430: 73 65 74 21 20 69 6d 67 32 20 22 30 22 20 22 30  set! img2 "0" "0
1440: 20 30 20 30 22 29 0a 20 20 20 20 28 69 75 70 3a   0 0").    (iup:
1450: 61 74 74 72 69 62 75 74 65 2d 73 65 74 21 20 69  attribute-set! i
1460: 6d 67 32 20 22 31 22 20 22 30 20 32 35 35 20 30  mg2 "1" "0 255 0
1470: 22 29 0a 20 20 20 20 28 69 75 70 3a 61 74 74 72  ").    (iup:attr
1480: 69 62 75 74 65 2d 73 65 74 21 20 69 6d 67 32 20  ibute-set! img2 
1490: 22 32 22 20 22 42 47 43 4f 4c 4f 52 22 29 0a 20  "2" "BGCOLOR"). 
14a0: 20 20 20 28 69 75 70 3a 61 74 74 72 69 62 75 74     (iup:attribut
14b0: 65 2d 73 65 74 21 20 69 6d 67 32 20 22 33 22 20  e-set! img2 "3" 
14c0: 22 32 35 35 20 30 20 30 22 29 0a 0a 20 20 20 20  "255 0 0")..    
14d0: 28 73 65 74 21 20 6d 6e 75 20 28 69 75 70 3a 6d  (set! mnu (iup:m
14e0: 65 6e 75 0a 09 20 20 20 20 20 20 20 28 69 75 70  enu..       (iup
14f0: 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74 72 69 62  :item-set-attrib
1500: 75 74 65 73 21 0a 09 09 28 69 75 70 3a 6d 65 6e  utes!...(iup:men
1510: 75 2d 69 74 65 6d 20 22 49 75 70 53 75 62 6d 65  u-item "IupSubme
1520: 6e 75 20 31 22 20 0a 09 09 09 20 20 20 20 20 20  nu 1" ....      
1530: 20 28 69 75 70 3a 6d 65 6e 75 0a 09 09 09 09 28   (iup:menu.....(
1540: 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74  iup:item-set-att
1550: 72 69 62 75 74 65 73 21 20 0a 09 09 09 09 20 28  ributes! ..... (
1560: 69 75 70 3a 6d 65 6e 75 2d 69 74 65 6d 20 22 49  iup:menu-item "I
1570: 75 70 49 74 65 6d 20 31 20 43 68 65 63 6b 65 64  upItem 1 Checked
1580: 22 20 22 6d 79 61 63 74 69 6f 6e 22 29 0a 09 09  " "myaction")...
1590: 09 09 20 22 56 41 4c 55 45 3d 4f 4e 22 29 0a 09  .. "VALUE=ON")..
15a0: 09 09 09 28 69 75 70 3a 6d 65 6e 75 2d 73 65 70  ...(iup:menu-sep
15b0: 61 72 61 74 6f 72 29 0a 09 09 09 09 28 69 75 70  arator).....(iup
15c0: 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74 72 69 62  :item-set-attrib
15d0: 75 74 65 73 21 0a 09 09 09 09 20 28 69 75 70 3a  utes!..... (iup:
15e0: 6d 65 6e 75 2d 69 74 65 6d 20 22 49 75 70 49 74  menu-item "IupIt
15f0: 65 6d 20 32 20 44 69 73 61 62 6c 65 64 22 20 22  em 2 Disabled" "
1600: 6d 79 61 63 74 69 6f 6e 22 29 0a 09 09 09 09 20  myaction")..... 
1610: 22 41 43 54 49 56 45 3d 4e 4f 22 29 29 29 29 29  "ACTIVE=NO")))))
1620: 29 0a 20 20 20 20 28 69 75 70 3a 68 61 6e 64 6c  ).    (iup:handl
1630: 65 2d 6e 61 6d 65 2d 73 65 74 21 20 6d 6e 75 20  e-name-set! mnu 
1640: 22 6d 6e 75 22 29 0a 0a 20 20 20 20 28 73 65 74  "mnu")..    (set
1650: 21 20 5f 66 72 6d 2d 31 20 28 69 75 70 3a 66 72  ! _frm-1 (iup:fr
1660: 61 6d 65 20 0a 09 09 20 20 28 69 75 70 3a 76 62  ame ...  (iup:vb
1670: 6f 78 20 0a 09 09 20 20 20 28 69 75 70 3a 62 75  ox ...   (iup:bu
1680: 74 74 6f 6e 20 22 42 75 74 74 6f 6e 20 54 65 78  tton "Button Tex
1690: 74 22 20 23 3a 61 63 74 69 6f 6e 20 28 6c 61 6d  t" #:action (lam
16a0: 62 64 61 20 28 78 29 28 70 72 69 6e 74 20 22 42  bda (x)(print "B
16b0: 6c 61 68 22 20 78 29 29 29 0a 09 09 20 20 20 28  lah" x)))...   (
16c0: 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74  iup:item-set-att
16d0: 72 69 62 75 74 65 73 21 0a 09 09 20 20 20 20 28  ributes!...    (
16e0: 69 75 70 3a 62 75 74 74 6f 6e 20 22 22 20 23 3a  iup:button "" #:
16f0: 61 63 74 69 6f 6e 20 70 72 69 6e 74 29 20 22 49  action print) "I
1700: 4d 41 47 45 3d 69 6d 67 31 22 29 0a 09 09 20 20  MAGE=img1")...  
1710: 20 28 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61   (iup:item-set-a
1720: 74 74 72 69 62 75 74 65 73 21 20 0a 09 09 20 20  ttributes! ...  
1730: 20 20 28 69 75 70 3a 62 75 74 74 6f 6e 20 22 22    (iup:button ""
1740: 20 23 3a 61 63 74 69 6f 6e 20 70 72 69 6e 74 29   #:action print)
1750: 20 22 49 4d 41 47 45 3d 69 6d 67 31 22 20 22 49   "IMAGE=img1" "I
1760: 4d 50 52 45 53 53 3d 69 6d 67 32 22 29 29 29 29  MPRESS=img2"))))
1770: 0a 20 20 20 20 28 69 75 70 3a 61 74 74 72 69 62  .    (iup:attrib
1780: 75 74 65 2d 73 65 74 21 20 5f 66 72 6d 2d 31 20  ute-set! _frm-1 
1790: 22 54 49 54 4c 45 22 20 22 49 75 70 42 75 74 74  "TITLE" "IupButt
17a0: 6f 6e 22 29 0a 0a 20 20 20 20 28 73 65 74 21 20  on")..    (set! 
17b0: 5f 66 72 6d 2d 32 20 28 69 75 70 3a 66 72 61 6d  _frm-2 (iup:fram
17c0: 65 0a 09 09 20 20 28 69 75 70 3a 76 62 6f 78 0a  e...  (iup:vbox.
17d0: 09 09 20 20 20 28 69 75 70 3a 6c 61 62 65 6c 20  ..   (iup:label 
17e0: 22 4c 61 62 65 6c 20 54 65 78 74 22 29 0a 09 09  "Label Text")...
17f0: 20 20 20 28 69 75 70 3a 69 74 65 6d 2d 73 65 74     (iup:item-set
1800: 2d 61 74 74 72 69 62 75 74 65 73 21 20 0a 09 09  -attributes! ...
1810: 20 20 20 20 28 69 75 70 3a 6c 61 62 65 6c 20 22      (iup:label "
1820: 22 29 20 22 53 45 50 41 52 41 54 4f 52 3d 48 4f  ") "SEPARATOR=HO
1830: 52 49 5a 4f 4e 54 41 4c 22 29 0a 09 09 20 20 20  RIZONTAL")...   
1840: 28 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74  (iup:item-set-at
1850: 74 72 69 62 75 74 65 73 21 0a 09 09 20 20 20 20  tributes!...    
1860: 28 69 75 70 3a 6c 61 62 65 6c 20 22 22 29 20 22  (iup:label "") "
1870: 49 4d 41 47 45 3d 69 6d 67 31 22 29 29 29 29 0a  IMAGE=img1")))).
1880: 20 20 20 20 28 69 75 70 3a 61 74 74 72 69 62 75      (iup:attribu
1890: 74 65 2d 73 65 74 21 20 5f 66 72 6d 2d 32 20 22  te-set! _frm-2 "
18a0: 54 49 54 4c 45 22 20 22 49 75 70 4c 61 62 65 6c  TITLE" "IupLabel
18b0: 22 29 0a 0a 20 20 20 20 28 73 65 74 21 20 5f 66  ")..    (set! _f
18c0: 72 6d 2d 33 20 28 69 75 70 3a 66 72 61 6d 65 0a  rm-3 (iup:frame.
18d0: 09 09 20 20 28 69 75 70 3a 76 62 6f 78 20 0a 09  ..  (iup:vbox ..
18e0: 09 20 20 20 28 69 75 70 3a 69 74 65 6d 2d 73 65  .   (iup:item-se
18f0: 74 2d 61 74 74 72 69 62 75 74 65 73 21 20 0a 09  t-attributes! ..
1900: 09 20 20 20 20 28 69 75 70 3a 74 6f 67 67 6c 65  .    (iup:toggle
1910: 20 22 54 6f 67 67 6c 65 20 54 65 78 74 22 20 22   "Toggle Text" "
1920: 6d 79 61 63 74 69 6f 6e 22 29 20 22 56 41 4c 55  myaction") "VALU
1930: 45 3d 4f 4e 22 29 0a 09 09 20 20 20 28 69 75 70  E=ON")...   (iup
1940: 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74 72 69 62  :item-set-attrib
1950: 75 74 65 73 21 0a 09 09 20 20 20 20 28 69 75 70  utes!...    (iup
1960: 3a 74 6f 67 67 6c 65 20 22 22 20 22 6d 79 61 63  :toggle "" "myac
1970: 74 69 6f 6e 22 29 20 22 49 4d 41 47 45 3d 69 6d  tion") "IMAGE=im
1980: 67 31 22 20 22 49 4d 50 52 45 53 53 3d 69 6d 67  g1" "IMPRESS=img
1990: 32 22 29 0a 09 09 20 20 20 28 69 75 70 3a 69 74  2")...   (iup:it
19a0: 65 6d 2d 73 65 74 2d 61 74 74 72 69 62 75 74 65  em-set-attribute
19b0: 73 21 0a 09 09 20 20 20 20 28 69 75 70 3a 66 72  s!...    (iup:fr
19c0: 61 6d 65 0a 09 09 20 20 20 20 20 28 69 75 70 3a  ame...     (iup:
19d0: 72 61 64 69 6f 0a 09 09 20 20 20 20 20 20 28 69  radio...      (i
19e0: 75 70 3a 76 62 6f 78 0a 09 09 20 20 20 20 20 20  up:vbox...      
19f0: 20 28 69 75 70 3a 74 6f 67 67 6c 65 20 22 54 6f   (iup:toggle "To
1a00: 67 67 6c 65 20 54 65 78 74 22 20 22 6d 79 61 63  ggle Text" "myac
1a10: 74 69 6f 6e 22 29 0a 09 09 20 20 20 20 20 20 20  tion")...       
1a20: 28 69 75 70 3a 74 6f 67 67 6c 65 20 22 54 6f 67  (iup:toggle "Tog
1a30: 67 6c 65 20 54 65 78 74 22 20 22 6d 79 61 63 74  gle Text" "myact
1a40: 69 6f 6e 22 29 29 29 29 20 22 54 49 54 4c 45 3d  ion")))) "TITLE=
1a50: 49 75 70 52 61 64 69 6f 22 29 29 29 29 0a 20 20  IupRadio")))).  
1a60: 20 20 28 69 75 70 3a 61 74 74 72 69 62 75 74 65    (iup:attribute
1a70: 2d 73 65 74 21 20 5f 66 72 6d 2d 33 20 22 54 49  -set! _frm-3 "TI
1a80: 54 4c 45 22 20 22 49 75 70 54 6f 67 67 6c 65 22  TLE" "IupToggle"
1a90: 29 0a 0a 20 20 20 20 28 73 65 74 21 20 5f 74 65  )..    (set! _te
1aa0: 78 74 2d 31 20 28 69 75 70 3a 74 65 78 74 62 6f  xt-1 (iup:textbo
1ab0: 78 20 22 6d 79 61 63 74 69 6f 6e 22 29 29 0a 20  x "myaction")). 
1ac0: 20 20 20 28 69 75 70 3a 61 74 74 72 69 62 75 74     (iup:attribut
1ad0: 65 2d 73 65 74 21 20 5f 74 65 78 74 2d 31 20 22  e-set! _text-1 "
1ae0: 56 41 4c 55 45 22 20 22 49 75 70 54 65 78 74 20  VALUE" "IupText 
1af0: 54 65 78 74 22 29 0a 20 20 20 20 28 69 75 70 3a  Text").    (iup:
1b00: 61 74 74 72 69 62 75 74 65 2d 73 65 74 21 20 5f  attribute-set! _
1b10: 74 65 78 74 2d 31 20 22 53 49 5a 45 22 20 22 38  text-1 "SIZE" "8
1b20: 30 78 22 29 0a 20 20 20 20 0a 20 20 20 20 28 73  0x").    .    (s
1b30: 65 74 21 20 5f 6d 31 2d 31 20 28 69 75 70 3a 74  et! _m1-1 (iup:t
1b40: 65 78 74 62 6f 78 20 22 6d 79 61 63 74 69 6f 6e  extbox "myaction
1b50: 22 29 29 0a 20 20 20 20 28 69 75 70 3a 61 74 74  ")).    (iup:att
1b60: 72 69 62 75 74 65 2d 73 65 74 21 20 5f 6d 31 2d  ribute-set! _m1-
1b70: 31 20 22 4d 55 4c 54 49 4c 49 4e 45 22 20 22 59  1 "MULTILINE" "Y
1b80: 45 53 22 29 0a 20 20 20 20 28 69 75 70 3a 61 74  ES").    (iup:at
1b90: 74 72 69 62 75 74 65 2d 73 65 74 21 20 5f 6d 31  tribute-set! _m1
1ba0: 2d 31 20 22 56 41 4c 55 45 22 20 22 49 75 70 4d  -1 "VALUE" "IupM
1bb0: 75 6c 74 69 6c 69 6e 65 20 54 65 78 74 5c 6e 53  ultiline Text\nS
1bc0: 65 63 6f 6e 64 20 4c 69 6e 65 5c 6e 54 68 69 72  econd Line\nThir
1bd0: 64 20 4c 69 6e 65 22 29 0a 20 20 20 20 28 69 75  d Line").    (iu
1be0: 70 3a 61 74 74 72 69 62 75 74 65 2d 73 65 74 21  p:attribute-set!
1bf0: 20 5f 6d 31 2d 31 20 22 45 58 50 41 4e 44 22 20   _m1-1 "EXPAND" 
1c00: 22 59 45 53 22 29 0a 20 20 20 20 28 69 75 70 3a  "YES").    (iup:
1c10: 61 74 74 72 69 62 75 74 65 2d 73 65 74 21 20 5f  attribute-set! _
1c20: 6d 31 2d 31 20 22 53 49 5a 45 22 20 22 38 30 78  m1-1 "SIZE" "80x
1c30: 36 30 22 29 0a 0a 20 20 20 20 28 73 65 74 21 20  60")..    (set! 
1c40: 5f 66 72 6d 2d 34 20 28 69 75 70 3a 66 72 61 6d  _frm-4 (iup:fram
1c50: 65 0a 09 09 20 20 28 69 75 70 3a 76 62 6f 78 0a  e...  (iup:vbox.
1c60: 09 09 20 20 20 5f 74 65 78 74 2d 31 0a 09 09 20  ..   _text-1... 
1c70: 20 20 5f 6d 31 2d 31 29 29 29 0a 20 20 20 20 28    _m1-1))).    (
1c80: 69 75 70 3a 61 74 74 72 69 62 75 74 65 2d 73 65  iup:attribute-se
1c90: 74 21 20 5f 66 72 6d 2d 34 20 22 54 49 54 4c 45  t! _frm-4 "TITLE
1ca0: 22 20 22 49 75 70 54 65 78 74 2f 49 75 70 4d 75  " "IupText/IupMu
1cb0: 6c 74 69 6c 69 6e 65 22 29 0a 0a 20 20 20 20 28  ltiline")..    (
1cc0: 73 65 74 21 20 5f 6c 69 73 74 2d 31 20 0a 09 20  set! _list-1 .. 
1cd0: 20 28 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61   (iup:item-set-a
1ce0: 74 74 72 69 62 75 74 65 73 21 20 0a 09 20 20 20  ttributes! ..   
1cf0: 28 69 75 70 3a 6c 69 73 74 62 6f 78 20 22 6d 79  (iup:listbox "my
1d00: 61 63 74 69 6f 6e 22 29 0a 09 20 20 20 22 45 58  action")..   "EX
1d10: 50 41 4e 44 3d 59 45 53 22 20 0a 09 20 20 20 22  PAND=YES" ..   "
1d20: 56 41 4c 55 45 3d 31 22 0a 09 20 20 20 22 31 3d  VALUE=1"..   "1=
1d30: 49 74 65 6d 20 31 20 54 65 78 74 22 0a 09 20 20  Item 1 Text"..  
1d40: 20 22 32 3d 49 74 65 6d 20 32 20 54 65 78 74 22   "2=Item 2 Text"
1d50: 0a 09 20 20 20 22 33 3d 49 74 65 6d 20 33 20 54  ..   "3=Item 3 T
1d60: 65 78 74 22 29 29 0a 09 20 20 0a 20 20 20 20 28  ext"))..  .    (
1d70: 73 65 74 21 20 5f 6c 69 73 74 2d 32 0a 09 20 20  set! _list-2..  
1d80: 28 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74  (iup:item-set-at
1d90: 74 72 69 62 75 74 65 73 21 0a 09 20 20 20 28 69  tributes!..   (i
1da0: 75 70 3a 6c 69 73 74 62 6f 78 20 22 6d 79 61 63  up:listbox "myac
1db0: 74 69 6f 6e 22 29 0a 09 20 20 20 22 44 52 4f 50  tion")..   "DROP
1dc0: 44 4f 57 4e 3d 59 45 53 22 0a 09 20 20 20 22 45  DOWN=YES"..   "E
1dd0: 58 50 41 4e 44 3d 59 45 53 22 0a 09 20 20 20 22  XPAND=YES"..   "
1de0: 56 41 4c 55 45 3d 32 22 0a 09 20 20 20 22 31 3d  VALUE=2"..   "1=
1df0: 49 74 65 6d 20 31 20 54 65 78 74 22 0a 09 20 20  Item 1 Text"..  
1e00: 20 22 32 3d 49 74 65 6d 20 32 20 54 65 78 74 22   "2=Item 2 Text"
1e10: 0a 09 20 20 20 22 33 3d 49 74 65 6d 20 33 20 54  ..   "3=Item 3 T
1e20: 65 78 74 22 29 29 0a 0a 20 20 20 20 28 73 65 74  ext"))..    (set
1e30: 21 20 5f 6c 69 73 74 2d 33 0a 09 20 20 28 69 75  ! _list-3..  (iu
1e40: 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74 72 69  p:item-set-attri
1e50: 62 75 74 65 73 21 0a 09 20 20 20 28 69 75 70 3a  butes!..   (iup:
1e60: 6c 69 73 74 62 6f 78 20 22 6d 79 61 63 74 69 6f  listbox "myactio
1e70: 6e 22 29 0a 09 20 20 20 22 45 44 49 54 42 4f 58  n")..   "EDITBOX
1e80: 3d 59 45 53 22 0a 09 20 20 20 22 45 58 50 41 4e  =YES"..   "EXPAN
1e90: 44 3d 59 45 53 22 0a 09 20 20 20 22 56 41 4c 55  D=YES"..   "VALU
1ea0: 45 3d 33 22 0a 09 20 20 20 22 31 3d 49 74 65 6d  E=3"..   "1=Item
1eb0: 20 31 20 54 65 78 74 22 0a 09 20 20 20 22 32 3d   1 Text"..   "2=
1ec0: 49 74 65 6d 20 32 20 54 65 78 74 22 0a 09 20 20  Item 2 Text"..  
1ed0: 20 22 33 3d 49 74 65 6d 20 33 20 54 65 78 74 22   "3=Item 3 Text"
1ee0: 29 29 0a 0a 20 20 20 20 28 73 65 74 21 20 5f 66  ))..    (set! _f
1ef0: 72 6d 2d 35 20 28 69 75 70 3a 66 72 61 6d 65 0a  rm-5 (iup:frame.
1f00: 09 09 20 20 28 69 75 70 3a 76 62 6f 78 0a 09 09  ..  (iup:vbox...
1f10: 20 20 20 5f 6c 69 73 74 2d 31 0a 09 09 20 20 20     _list-1...   
1f20: 5f 6c 69 73 74 2d 32 0a 09 09 20 20 20 5f 6c 69  _list-2...   _li
1f30: 73 74 2d 33 29 29 29 0a 20 20 20 20 28 69 75 70  st-3))).    (iup
1f40: 3a 61 74 74 72 69 62 75 74 65 2d 73 65 74 21 20  :attribute-set! 
1f50: 5f 66 72 6d 2d 35 20 22 54 49 54 4c 45 22 20 22  _frm-5 "TITLE" "
1f60: 49 75 70 4c 69 73 74 22 29 0a 09 20 20 20 0a 20  IupList")..   . 
1f70: 20 20 20 28 73 65 74 21 20 5f 68 62 6f 78 2d 31     (set! _hbox-1
1f80: 20 28 69 75 70 3a 68 62 6f 78 0a 09 09 20 20 20   (iup:hbox...   
1f90: 5f 66 72 6d 2d 31 0a 09 09 20 20 20 5f 66 72 6d  _frm-1...   _frm
1fa0: 2d 32 0a 09 09 20 20 20 5f 66 72 6d 2d 33 0a 09  -2...   _frm-3..
1fb0: 09 20 20 20 5f 66 72 6d 2d 34 0a 09 09 20 20 20  .   _frm-4...   
1fc0: 5f 66 72 6d 2d 35 29 29 0a 0a 20 20 3b 3b 20 20  _frm-5))..  ;;  
1fd0: 20 28 73 65 74 21 20 5f 63 6e 76 2d 31 20 0a 20   (set! _cnv-1 . 
1fe0: 20 3b 3b 20 20 20 20 20 20 20 20 20 3b 3b 20 28   ;;         ;; (
1ff0: 69 75 70 3a 69 74 65 6d 2d 73 65 74 2d 61 74 74  iup:item-set-att
2000: 72 69 62 75 74 65 73 21 0a 20 20 3b 3b 20 20 20  ributes!.  ;;   
2010: 20 20 20 20 20 20 3b 3b 28 69 75 70 3a 63 61 6e        ;;(iup:can
2020: 76 61 73 29 0a 20 20 3b 3b 20 20 20 20 20 20 20  vas).  ;;       
2030: 20 20 3b 3b 20 22 42 47 43 4f 4c 4f 52 3d 31 32    ;; "BGCOLOR=12
2040: 38 20 32 35 35 20 30 22 20 0a 20 20 3b 3b 20 20  8 255 0" .  ;;  
2050: 20 20 20 20 20 20 20 3b 3b 20 22 53 43 52 4f 4c         ;; "SCROL
2060: 4c 42 41 52 3d 79 65 73 22 29 29 0a 20 20 3b 3b  LBAR=yes")).  ;;
2070: 20 20 20 20 20 20 20 20 20 3b 3b 20 28 69 75 70           ;; (iup
2080: 3a 68 61 6e 64 6c 65 2d 6e 61 6d 65 2d 73 65 74  :handle-name-set
2090: 21 20 5f 63 6e 76 2d 31 20 22 63 6e 76 31 22 29  ! _cnv-1 "cnv1")
20a0: 0a 20 20 3b 3b 20 0a 20 20 3b 3b 20 20 20 20 20  .  ;; .  ;;     
20b0: 20 20 20 20 3b 3b 20 28 75 73 65 20 69 75 70 20      ;; (use iup 
20c0: 63 61 6e 76 61 73 2d 64 72 61 77 20 63 61 6e 76  canvas-draw canv
20d0: 61 73 2d 64 72 61 77 2d 69 75 70 29 0a 20 20 3b  as-draw-iup).  ;
20e0: 3b 20 20 20 20 20 20 20 20 20 3b 3b 20 28 64 65  ;         ;; (de
20f0: 66 69 6e 65 20 64 6c 67 0a 20 20 3b 3b 20 20 20  fine dlg.  ;;   
2100: 20 20 20 20 20 20 3b 3b 20 20 20 28 64 69 61 6c        ;;   (dial
2110: 6f 67 20 23 3a 74 69 74 6c 65 20 22 54 65 73 74  og #:title "Test
2120: 22 20 23 3a 6d 69 6e 73 69 7a 65 20 22 33 32 30  " #:minsize "320
2130: 78 32 34 30 22 0a 20 20 3b 3b 20 20 20 20 20 20  x240".  ;;      
2140: 20 20 20 28 69 75 70 3a 63 61 6e 76 61 73 20 23     (iup:canvas #
2150: 3a 61 63 74 69 6f 6e 20 28 6d 61 6b 65 2d 63 61  :action (make-ca
2160: 6e 76 61 73 2d 61 63 74 69 6f 6e 0a 20 20 3b 3b  nvas-action.  ;;
2170: 20 20 20 20 20 20 20 09 09 09 28 6c 61 6d 62 64         ...(lambd
2180: 61 20 28 63 6e 76 20 78 20 79 29 0a 20 20 3b 3b  a (cnv x y).  ;;
2190: 20 20 20 20 20 20 20 09 09 09 20 20 28 63 61 6e         ...  (can
21a0: 76 61 73 2d 63 6c 65 61 72 21 20 63 6e 76 29 0a  vas-clear! cnv).
21b0: 20 20 3b 3b 20 20 20 20 20 20 20 09 09 09 20 20    ;;       ...  
21c0: 28 63 61 6e 76 61 73 2d 74 65 78 74 21 20 63 6e  (canvas-text! cn
21d0: 76 20 34 30 20 34 30 20 22 48 65 6c 6c 6f 20 77  v 40 40 "Hello w
21e0: 6f 72 6c 64 21 22 29 0a 20 20 3b 3b 20 20 20 20  orld!").  ;;    
21f0: 20 20 20 09 09 09 20 20 28 63 61 6e 76 61 73 2d     ...  (canvas-
2200: 72 65 63 74 61 6e 67 6c 65 21 20 63 6e 76 20 39  rectangle! cnv 9
2210: 30 20 31 32 30 20 37 30 20 31 30 30 29 29 29 0a  0 120 70 100))).
2220: 20 20 3b 3b 20 20 20 20 20 20 20 09 20 20 20 20    ;;       .    
2230: 20 20 23 3a 73 69 7a 65 20 22 32 30 30 78 31 30    #:size "200x10
2240: 30 22 29 29 0a 20 20 20 20 3b 3b 20 29 0a 20 20  0")).    ;; ).  
2250: 20 20 3b 3b 20 28 73 68 6f 77 20 64 6c 67 29 0a    ;; (show dlg).
2260: 20 20 20 20 3b 3b 20 28 6d 61 69 6e 2d 6c 6f 6f      ;; (main-loo
2270: 70 29 0a 20 20 20 20 28 73 65 74 21 20 5f 76 62  p).    (set! _vb
2280: 6f 78 2d 31 20 28 69 75 70 3a 76 62 6f 78 0a 09  ox-1 (iup:vbox..
2290: 09 20 20 20 5f 68 62 6f 78 2d 31 0a 09 09 20 20  .   _hbox-1...  
22a0: 20 3b 3b 20 5f 63 6e 76 2d 31 0a 09 09 20 20 20   ;; _cnv-1...   
22b0: 29 29 0a 0a 20 20 20 20 28 69 75 70 3a 61 74 74  ))..    (iup:att
22c0: 72 69 62 75 74 65 2d 73 65 74 21 20 5f 76 62 6f  ribute-set! _vbo
22d0: 78 2d 31 20 22 4d 41 52 47 49 4e 22 20 22 35 78  x-1 "MARGIN" "5x
22e0: 35 22 29 0a 20 20 20 20 28 69 75 70 3a 61 74 74  5").    (iup:att
22f0: 72 69 62 75 74 65 2d 73 65 74 21 20 5f 76 62 6f  ribute-set! _vbo
2300: 78 2d 31 20 22 41 4c 49 47 4e 4d 45 4e 54 22 20  x-1 "ALIGNMENT" 
2310: 22 41 52 49 47 48 54 22 29 0a 20 20 20 20 28 69  "ARIGHT").    (i
2320: 75 70 3a 61 74 74 72 69 62 75 74 65 2d 73 65 74  up:attribute-set
2330: 21 20 5f 76 62 6f 78 2d 31 20 22 47 41 50 22 20  ! _vbox-1 "GAP" 
2340: 22 35 22 29 0a 20 20 20 20 0a 20 20 20 20 28 73  "5").    .    (s
2350: 65 74 21 20 64 6c 67 20 28 69 75 70 3a 64 69 61  et! dlg (iup:dia
2360: 6c 6f 67 20 5f 76 62 6f 78 2d 31 29 29 0a 20 20  log _vbox-1)).  
2370: 20 20 28 69 75 70 3a 68 61 6e 64 6c 65 2d 6e 61    (iup:handle-na
2380: 6d 65 2d 73 65 74 21 20 64 6c 67 20 22 64 6c 67  me-set! dlg "dlg
2390: 22 29 0a 20 20 20 20 28 69 75 70 3a 61 74 74 72  ").    (iup:attr
23a0: 69 62 75 74 65 2d 73 65 74 21 20 64 6c 67 20 22  ibute-set! dlg "
23b0: 4d 45 4e 55 22 20 22 6d 6e 75 22 29 0a 20 20 20  MENU" "mnu").   
23c0: 20 28 69 75 70 3a 61 74 74 72 69 62 75 74 65 2d   (iup:attribute-
23d0: 73 65 74 21 20 64 6c 67 20 22 54 49 54 4c 45 22  set! dlg "TITLE"
23e0: 20 22 49 75 70 20 53 61 6d 70 6c 65 22 29 0a 0a   "Iup Sample")..
23f0: 20 20 20 20 3b 3b 20 28 73 65 74 21 20 63 31 20      ;; (set! c1 
2400: 28 6d 61 6b 65 2d 63 61 6e 76 61 73 20 63 6f 6e  (make-canvas con
2410: 74 65 78 74 3a 69 75 70 20 22 63 6e 76 31 22 29  text:iup "cnv1")
2420: 29 0a 3b 3b 20 28 69 75 70 3a 68 61 6e 64 6c 65  ).;; (iup:handle
2430: 2d 72 65 66 20 22 63 6e 76 31 22 29 29 29 0a 3b  -ref "cnv1"))).;
2440: 3b 20 5f 63 6e 76 2d 31 29 29 0a 20 20 20 20 3b  ; _cnv-1)).    ;
2450: 3b 20 28 63 61 6e 76 61 73 2d 72 65 63 74 61 6e  ; (canvas-rectan
2460: 67 6c 65 21 20 63 31 20 31 30 20 31 30 20 34 30  gle! c1 10 10 40
2470: 20 34 30 29 0a 20 20 20 20 29 29 0a 20 20 20 20   40).    )).    
2480: 0a 28 69 6e 69 74 2d 64 69 61 6c 6f 67 29 0a 28  .(init-dialog).(
2490: 69 75 70 3a 73 68 6f 77 20 28 69 75 70 3a 68 61  iup:show (iup:ha
24a0: 6e 64 6c 65 2d 72 65 66 20 22 64 6c 67 22 29 29  ndle-ref "dlg"))
24b0: 0a 28 69 75 70 3a 6d 61 69 6e 2d 6c 6f 6f 70 29  .(iup:main-loop)
24c0: 0a                                               .