home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / stk-3.0-b / stk-3 / blt-for-STk-3.0 / Demos / bitmap.stk < prev    next >
Encoding:
Text File  |  1995-12-26  |  7.6 KB  |  147 lines

  1. (set! *load-path* (cons ".." *load-path*))
  2. (require "blt")
  3.  
  4.  
  5. (blt_bitmap 'compose 'top    "Top"    :rotate 0)
  6. (blt_bitmap 'compose 'left   "Left"   :rotate 90)
  7. (blt_bitmap 'compose 'right  "Right"  :rotate 270)
  8. (blt_bitmap 'compose 'bottom "Bottom" :rotate 180)
  9. (blt_bitmap 'compose 'center "Center" :rotate 45 )
  10.  
  11.  
  12. (blt_bitmap 'define 'hobbes "((25 25) (
  13.    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00,
  14.    0x78, 0xe0, 0x07, 0x00, 0xfc, 0xf8, 0x07, 0x00, 0xcc, 0x07, 0x04, 0x00,
  15.    0x0c, 0xf0, 0x0b, 0x00, 0x7c, 0x1c, 0x06, 0x00, 0x38, 0x00, 0x00, 0x00,
  16.    0xe0, 0x03, 0x10, 0x00, 0xe0, 0x41, 0x11, 0x00, 0x20, 0x40, 0x11, 0x00,
  17.    0xe0, 0x07, 0x10, 0x00, 0xe0, 0xc1, 0x17, 0x00, 0x10, 0xe0, 0x2f, 0x00,
  18.    0x20, 0xe0, 0x6f, 0x00, 0x18, 0xe0, 0x2f, 0x00, 0x20, 0xc6, 0x67, 0x00,
  19.    0x18, 0x84, 0x2b, 0x00, 0x20, 0x08, 0x64, 0x00, 0x70, 0xf0, 0x13, 0x00,
  20.    0x80, 0x01, 0x08, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
  21.    0x00, 0x00, 0x00, 0x00))")
  22.  
  23.  
  24. (blt_bitmap 'define 'gort "((64 64) (
  25.     ff ff ff ff ff ff ff ff 01 00 00 f0 3f 00 00 80 01 00 00 ff ff 07 00 80
  26.     01 00 c0 df 0f 1e 00 80 01 00 60 df 7f 38 00 80 01 00 30 84 fd 67 00 80
  27.     01 00 18 04 f6 ef 00 80 01 00 0c 86 e1 c7 01 80 01 00 06 06 c0 96 01 80
  28.     01 00 06 06 00 97 03 80 01 00 06 06 00 3c 03 80 01 00 03 06 00 5c 07 80
  29.     01 00 03 02 00 d8 06 80 01 00 03 02 00 d8 06 80 01 00 43 02 00 b0 0c 80
  30.     01 80 31 03 00 e0 0d 80 01 80 61 03 00 e0 0d 80 01 80 1b 03 00 f0 0c 80
  31.     01 80 b3 03 ff ff 1d 80 01 c0 eb fb ff ff 1d 80 01 e0 c5 7f fe 7f 3f 80
  32.     01 e0 eb e3 ff ff 6e 80 01 d0 3b fe 01 40 cf 80 01 f0 f7 07 00 30 8e 80
  33.     01 f0 f4 00 00 1b 98 80 01 70 14 00 00 1f dc 80 01 30 fe ff 1f c8 ff 80
  34.     01 20 ee ff ff ff ff 80 01 20 f7 ff 7f fe 7f 80 01 c0 e1 ff ff fe 3f 80
  35.     01 80 ed ff ff ff 19 80 01 80 99 ff ff ff 18 80 01 00 63 83 ff 7f 08 80
  36.     01 00 c3 06 00 00 0c 80 01 00 9b 07 00 00 0c 80 01 00 b6 07 00 10 0c 80
  37.     01 00 c6 07 00 10 04 80 01 00 36 06 00 18 06 80 01 00 66 06 00 18 06 80
  38.     01 00 8c 0d 00 18 02 80 01 00 18 0e 00 18 03 80 01 00 f0 0c 00 18 03 80
  39.     01 00 30 0f 00 98 01 80 01 00 b0 1f 01 98 01 80 01 00 60 1f 03 dc 00 80
  40.     01 00 e0 3f 03 dc 00 80 01 00 e0 3b 07 ee 00 80 01 00 70 f8 ff ff 01 80
  41.     01 00 f0 80 ff 37 03 80 01 00 fc 00 08 d8 03 80 01 00 fe 03 f8 7f 07 80
  42.     01 c0 87 07 e0 3f 1c 80 01 f0 03 00 00 00 f8 8f 81 ff 00 38 00 f6 f9 ff
  43.     fd 3f 00 e0 00 83 8f ff ff 00 00 80 01 00 fc c0 07 0e 00 38 e0 00 e0 9f
  44.     f9 07 00 00 80 03 00 ff 7f 80 01 00 c0 00 00 f0 7f c0 00 00 00 00 00 80
  45.     0f f0 00 38 00 00 00 80 01 30 00 00 38 c0 c0 80 01 1c e0 00 0c c0 83 81
  46.     ff ff ff ff ff ff ff ff))")
  47.  
  48.  
  49. (blt_bitmap 'define 'xbob "((61 75) (
  50.    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff,
  51.    0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x1f, 0x00, 0x00,
  52.    0x00, 0x80, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xcf,
  53.    0x9f, 0xd1, 0x03, 0x00, 0x00, 0xf0, 0x7f, 0x8c, 0x33, 0x91, 0x07, 0x00,
  54.    0x00, 0xf8, 0xa7, 0x18, 0x27, 0xb1, 0x06, 0x00, 0x00, 0xfc, 0x47, 0x31,
  55.    0x4e, 0xa6, 0x0e, 0x00, 0x00, 0xfe, 0x4f, 0x21, 0x4c, 0xae, 0x3d, 0x00,
  56.    0x00, 0xff, 0xdf, 0x23, 0x8d, 0xbe, 0x7d, 0x00, 0x80, 0xff, 0xff, 0x67,
  57.    0xbd, 0xfe, 0xff, 0x01, 0x80, 0xff, 0xff, 0x7f, 0xbf, 0xff, 0xff, 0x03,
  58.    0xc0, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xf8, 0x07, 0xc0, 0xff, 0xff, 0xff,
  59.    0xbf, 0x3f, 0xf8, 0x07, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x07, 0xf8, 0x0f,
  60.    0xc0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0xf8, 0x0f, 0xe0, 0x7f, 0x00, 0xf8,
  61.    0x07, 0x00, 0xf0, 0x0f, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07,
  62.    0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0xe0, 0x3f, 0x00, 0x00,
  63.    0x00, 0x00, 0xf4, 0x07, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x07,
  64.    0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x07, 0xe0, 0x3f, 0x00, 0x00,
  65.    0x00, 0x00, 0xe6, 0x07, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x07,
  66.    0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x07, 0xe0, 0x3f, 0x00, 0x00,
  67.    0x00, 0x00, 0xe6, 0x07, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x07,
  68.    0xc0, 0x3f, 0x00, 0x00, 0x00, 0x78, 0xf6, 0x07, 0xa0, 0xbf, 0xff, 0x00,
  69.    0x00, 0xff, 0xf7, 0x07, 0x70, 0x9f, 0xff, 0x01, 0x80, 0xff, 0xef, 0x07,
  70.    0xf0, 0x1c, 0x80, 0x03, 0xe0, 0x01, 0xef, 0x07, 0xf0, 0x1f, 0xbe, 0x07,
  71.    0xf0, 0x3f, 0xee, 0x07, 0xe0, 0x9d, 0x83, 0x1f, 0xf8, 0xe1, 0xdc, 0x07,
  72.    0xe0, 0xc1, 0x7f, 0x1f, 0xfc, 0xff, 0xc8, 0x07, 0xe0, 0xc1, 0x69, 0x1e,
  73.    0x7e, 0xca, 0xc0, 0x03, 0xe0, 0x81, 0xb8, 0x1f, 0xc0, 0x0e, 0xc0, 0x03,
  74.    0xe0, 0x01, 0xc0, 0x1b, 0xc0, 0xcf, 0xc1, 0x03, 0xc0, 0x03, 0xf7, 0x11,
  75.    0x00, 0x7f, 0xc0, 0x03, 0xc0, 0x03, 0x7c, 0x18, 0x00, 0x1c, 0xc0, 0x02,
  76.    0xc0, 0x02, 0x30, 0x08, 0x00, 0x00, 0x40, 0x03, 0x40, 0x03, 0x00, 0x08,
  77.    0x00, 0x00, 0x40, 0x02, 0x40, 0x13, 0x00, 0x0c, 0x00, 0x00, 0x60, 0x02,
  78.    0x40, 0x12, 0x00, 0x0e, 0x00, 0x00, 0xc0, 0x03, 0x80, 0x33, 0x80, 0x0e,
  79.    0x00, 0x00, 0xa8, 0x01, 0x00, 0x33, 0x40, 0x0f, 0xa0, 0x03, 0x2c, 0x00,
  80.    0x00, 0x74, 0x30, 0x0f, 0x38, 0x07, 0x2e, 0x00, 0x00, 0x74, 0x98, 0x1f,
  81.    0x1e, 0x1e, 0x2f, 0x00, 0x00, 0xfc, 0x8f, 0xff, 0x0f, 0xfc, 0x2f, 0x00,
  82.    0x00, 0xf8, 0xe3, 0xff, 0x03, 0xf8, 0x2f, 0x00, 0x00, 0xf8, 0xfd, 0xff,
  83.    0x81, 0xff, 0x3f, 0x00, 0x00, 0xb8, 0xf9, 0x1f, 0xf8, 0x0f, 0x1e, 0x00,
  84.    0x00, 0x30, 0xf1, 0xf0, 0x0f, 0x03, 0x0e, 0x00, 0x00, 0x30, 0xf1, 0x01,
  85.    0x80, 0x01, 0x0f, 0x00, 0x00, 0x20, 0xf1, 0xf7, 0xff, 0x00, 0x07, 0x00,
  86.    0x00, 0x60, 0xe3, 0x01, 0x60, 0x80, 0x07, 0x00, 0x00, 0x60, 0xc3, 0xef,
  87.    0x3f, 0x80, 0x03, 0x00, 0x00, 0x40, 0xc2, 0xff, 0x0f, 0xc0, 0x03, 0x00,
  88.    0x00, 0xc0, 0xe6, 0x1f, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0xf4, 0xfe,
  89.    0x3f, 0xe0, 0x00, 0x00, 0x00, 0x80, 0x79, 0xfe, 0x1f, 0xe0, 0x00, 0x00,
  90.    0xc0, 0x01, 0x3d, 0x3e, 0x00, 0x70, 0x00, 0x00, 0x30, 0x06, 0x3e, 0x0f,
  91.    0x00, 0x38, 0x00, 0x00, 0xc8, 0x8c, 0x1f, 0x07, 0x00, 0x38, 0x00, 0x00,
  92.    0xf4, 0xcc, 0x8f, 0x07, 0x00, 0x1c, 0x00, 0x00, 0x72, 0xee, 0xf7, 0x07,
  93.    0x00, 0x0e, 0x00, 0x00, 0x02, 0xff, 0xe3, 0x07, 0x00, 0x07, 0x00, 0x00,
  94.    0x32, 0xfe, 0xc1, 0xff, 0x8f, 0x03, 0x00, 0x00, 0x3e, 0xfe, 0x80, 0xff,
  95.    0xff, 0x01, 0x00, 0x00, 0x7e, 0x7c, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
  96.    0x7c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1c, 0x00, 0x00,
  97.    0x00, 0x00, 0x00, 0x00, 0xf8, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  98.    0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00,
  99.    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00))")
  100.  
  101. ;;;
  102. ;;; Test bitmap 
  103. ;;;
  104. ;;;   1.   Test of rotated text bitmap
  105. ;;;   2.   Define bitmap from output of "data" command
  106. ;;;   3.   Define bitmap from X11 bitmap file
  107. ;;;   4.   Define bitmap from X10 bitmap file
  108. ;;;   5.   Define bitmap from internal Tcl list
  109. ;;;   6.   Use predefined internal bitmap 
  110. ;;;
  111.  
  112. (define change-bitmap
  113.   (let ((bitmap-count 0))
  114.     (lambda ()
  115.       (tk-set! .center :bitmap (case bitmap-count
  116.                  ((0) 'sharky)
  117.                  ((1) 'hobbes)
  118.                  ((2) 'xbob)
  119.                  ((3) 'gort)
  120.                  ((4) '|BLT|)
  121.                  ((5) (exit 0))))
  122.       (set! bitmap-count (+ bitmap-count 1)))))
  123.  
  124.  
  125. (button '.left   :bitmap 'left   :command change-bitmap) 
  126. (button '.top    :bitmap 'top    :command change-bitmap) 
  127. (button '.right  :bitmap 'right  :command change-bitmap) 
  128. (button '.bottom :bitmap 'bottom :command change-bitmap) 
  129. (button '.center :bitmap 'center :command change-bitmap) 
  130.  
  131.  
  132. ;;; blt_bitmap 'data doesn't work in STk (without patching BLT). 
  133. ;;; However it can be simulated easily.
  134.  
  135. (blt_bitmap 'define 'sharky (format #f "((~A ~A) ~A)"
  136.                     (blt_bitmap 'width  "@bitmaps/sharky.bm")
  137.                     (blt_bitmap 'height "@bitmaps/sharky.bm")
  138.                     (blt_bitmap 'bits   "@bitmaps/sharky.bm")))
  139.  
  140. (blt_table *root*
  141.        .top       "0,1" :fill 'x
  142.        .left   "1,0" :fill 'y 
  143.        .center "1,1" :fill 'both 
  144.        .right  "1,2" :fill 'y 
  145.        .bottom "2,1" :fill 'x)
  146.     
  147.