home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume8 / chaos / part03 < prev    next >
Internet Message Format  |  1990-08-20  |  58KB

  1. Path: uunet!cs.utexas.edu!sun-barr!newstop!sun!uunet.UU.NET
  2. From: balr!panasun!ken@uunet.UU.NET (Ken Marks (x2425))
  3. Newsgroups: comp.sources.x
  4. Subject: v08i079: chaos, Part03/10
  5. Message-ID: <140957@sun.Eng.Sun.COM>
  6. Date: 20 Aug 90 18:03:42 GMT
  7. Sender: news@sun.Eng.Sun.COM
  8. Lines: 4147
  9. Approved: argv@sun.com
  10.  
  11. Submitted-by: balr!panasun!ken@uunet.UU.NET (Ken Marks (x2425))
  12. Posting-number: Volume 8, Issue 79
  13. Archive-name: chaos/part03
  14.  
  15. #! /bin/sh
  16. # This is a shell archive.  Remove anything before this line, then unpack
  17. # it by saving it into a file and typing "sh file".  To overwrite existing
  18. # files, type "sh file -c".  You can also feed this as standard input via
  19. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  20. # will see the following message at the end:
  21. #        "End of archive 3 (of 10)."
  22. # Contents:  fonts/push-norm.bdf master/master.c widgets/Palette.c
  23. # Wrapped by ken@panasun on Mon Jul 30 14:59:48 1990
  24. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  25. if test -f 'fonts/push-norm.bdf' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'fonts/push-norm.bdf'\"
  27. else
  28. echo shar: Extracting \"'fonts/push-norm.bdf'\" \(18706 characters\)
  29. sed "s/^X//" >'fonts/push-norm.bdf' <<'END_OF_FILE'
  30. XSTARTFONT 2.1
  31. XFONT push-norm
  32. XSIZE 16 75 75
  33. XFONTBOUNDINGBOX 9 22 0 -7
  34. XSTARTPROPERTIES 3
  35. XFONT_ASCENT 15
  36. XFONT_DESCENT 7
  37. XDEFAULT_CHAR 32
  38. XENDPROPERTIES
  39. XCHARS 99
  40. XSTARTCHAR H1c
  41. XENCODING 28
  42. XSWIDTH 562 0
  43. XDWIDTH 9 0
  44. XBBX 9 22 0 -7
  45. XBITMAP
  46. X0380
  47. X0F80
  48. X1E00
  49. X3800
  50. X7000
  51. X6000
  52. XE000
  53. XC000
  54. XC000
  55. XC000
  56. XC000
  57. XC000
  58. XC000
  59. XC000
  60. XC000
  61. XE000
  62. X6000
  63. X7000
  64. X3800
  65. X1E00
  66. X0F80
  67. X0380
  68. XENDCHAR
  69. XSTARTCHAR H1d
  70. XENCODING 29
  71. XSWIDTH 562 0
  72. XDWIDTH 9 0
  73. XBBX 9 22 0 -7
  74. XBITMAP
  75. XE000
  76. XF800
  77. X3C00
  78. X0E00
  79. X0700
  80. X0300
  81. X0380
  82. X0180
  83. X0180
  84. X0180
  85. X0180
  86. X0180
  87. X0180
  88. X0180
  89. X0180
  90. X0380
  91. X0300
  92. X0700
  93. X0E00
  94. X3C00
  95. XF800
  96. XE000
  97. XENDCHAR
  98. XSTARTCHAR H1e
  99. XENCODING 30
  100. XSWIDTH 562 0
  101. XDWIDTH 9 0
  102. XBBX 9 0 0 15
  103. XBITMAP
  104. XENDCHAR
  105. XSTARTCHAR H1f
  106. XENCODING 31
  107. XSWIDTH 562 0
  108. XDWIDTH 9 0
  109. XBBX 7 9 0 1
  110. XBITMAP
  111. X20
  112. X30
  113. X38
  114. XFC
  115. XFE
  116. XFC
  117. X38
  118. X30
  119. X20
  120. XENDCHAR
  121. XSTARTCHAR H20
  122. XENCODING 32
  123. XSWIDTH 562 0
  124. XDWIDTH 9 0
  125. XBBX 9 22 0 -7
  126. XBITMAP
  127. XFF80
  128. XFF80
  129. X0000
  130. X0000
  131. X0000
  132. X0000
  133. X0000
  134. X0000
  135. X0000
  136. X0000
  137. X0000
  138. X0000
  139. X0000
  140. X0000
  141. X0000
  142. X0000
  143. X0000
  144. X0000
  145. X0000
  146. X0000
  147. XFF80
  148. XFF80
  149. XENDCHAR
  150. XSTARTCHAR H21
  151. XENCODING 33
  152. XSWIDTH 562 0
  153. XDWIDTH 9 0
  154. XBBX 9 22 0 -7
  155. XBITMAP
  156. XFF80
  157. XFF80
  158. X0000
  159. X0000
  160. X0000
  161. X1800
  162. X1800
  163. X1800
  164. X1800
  165. X1800
  166. X1800
  167. X1800
  168. X0000
  169. X1800
  170. X1800
  171. X0000
  172. X0000
  173. X0000
  174. X0000
  175. X0000
  176. XFF80
  177. XFF80
  178. XENDCHAR
  179. XSTARTCHAR H22
  180. XENCODING 34
  181. XSWIDTH 562 0
  182. XDWIDTH 9 0
  183. XBBX 9 22 0 -7
  184. XBITMAP
  185. XFF80
  186. XFF80
  187. X0000
  188. X0000
  189. X0000
  190. X3600
  191. X3600
  192. X3600
  193. X3600
  194. X0000
  195. X0000
  196. X0000
  197. X0000
  198. X0000
  199. X0000
  200. X0000
  201. X0000
  202. X0000
  203. X0000
  204. X0000
  205. XFF80
  206. XFF80
  207. XENDCHAR
  208. XSTARTCHAR H23
  209. XENCODING 35
  210. XSWIDTH 562 0
  211. XDWIDTH 9 0
  212. XBBX 9 22 0 -7
  213. XBITMAP
  214. XFF80
  215. XFF80
  216. X0000
  217. X0000
  218. X0000
  219. X1B00
  220. X1B00
  221. X1B00
  222. X7F80
  223. X3600
  224. X3600
  225. XFF00
  226. X6C00
  227. X6C00
  228. X6C00
  229. X0000
  230. X0000
  231. X0000
  232. X0000
  233. X0000
  234. XFF80
  235. XFF80
  236. XENDCHAR
  237. XSTARTCHAR H24
  238. XENCODING 36
  239. XSWIDTH 562 0
  240. XDWIDTH 9 0
  241. XBBX 9 22 0 -7
  242. XBITMAP
  243. XFF80
  244. XFF80
  245. X0000
  246. X0000
  247. X0800
  248. X3E00
  249. X6B00
  250. X6B00
  251. X6B00
  252. X3800
  253. X0E00
  254. X6B00
  255. X6B00
  256. X6B00
  257. X3E00
  258. X0800
  259. X0000
  260. X0000
  261. X0000
  262. X0000
  263. XFF80
  264. XFF80
  265. XENDCHAR
  266. XSTARTCHAR H25
  267. XENCODING 37
  268. XSWIDTH 562 0
  269. XDWIDTH 9 0
  270. XBBX 9 22 0 -7
  271. XBITMAP
  272. XFF80
  273. XFF80
  274. X0000
  275. X0000
  276. X0000
  277. X7600
  278. X9600
  279. X9C00
  280. XEC00
  281. X1800
  282. X1800
  283. X3700
  284. X3900
  285. X6900
  286. X6E00
  287. X0000
  288. X0000
  289. X0000
  290. X0000
  291. X0000
  292. XFF80
  293. XFF80
  294. XENDCHAR
  295. XSTARTCHAR H26
  296. XENCODING 38
  297. XSWIDTH 562 0
  298. XDWIDTH 9 0
  299. XBBX 9 22 0 -7
  300. XBITMAP
  301. XFF80
  302. XFF80
  303. X0000
  304. X0000
  305. X0000
  306. X3800
  307. X6C00
  308. X6C00
  309. X3800
  310. X3000
  311. X7B00
  312. XDE00
  313. XCC00
  314. XDC00
  315. X7700
  316. X0000
  317. X0000
  318. X0000
  319. X0000
  320. X0000
  321. XFF80
  322. XFF80
  323. XENDCHAR
  324. XSTARTCHAR H27
  325. XENCODING 39
  326. XSWIDTH 562 0
  327. XDWIDTH 9 0
  328. XBBX 9 22 0 -7
  329. XBITMAP
  330. XFF80
  331. XFF80
  332. X0000
  333. X0000
  334. X0000
  335. X0C00
  336. X0C00
  337. X1800
  338. X3000
  339. X0000
  340. X0000
  341. X0000
  342. X0000
  343. X0000
  344. X0000
  345. X0000
  346. X0000
  347. X0000
  348. X0000
  349. X0000
  350. XFF80
  351. XFF80
  352. XENDCHAR
  353. XSTARTCHAR H28
  354. XENCODING 40
  355. XSWIDTH 562 0
  356. XDWIDTH 9 0
  357. XBBX 9 22 0 -7
  358. XBITMAP
  359. XFF80
  360. XFF80
  361. X0000
  362. X0000
  363. X0600
  364. X0C00
  365. X1800
  366. X1800
  367. X3000
  368. X3000
  369. X3000
  370. X3000
  371. X3000
  372. X1800
  373. X1800
  374. X0C00
  375. X0600
  376. X0000
  377. X0000
  378. X0000
  379. XFF80
  380. XFF80
  381. XENDCHAR
  382. XSTARTCHAR H29
  383. XENCODING 41
  384. XSWIDTH 562 0
  385. XDWIDTH 9 0
  386. XBBX 9 22 0 -7
  387. XBITMAP
  388. XFF80
  389. XFF80
  390. X0000
  391. X0000
  392. X3000
  393. X1800
  394. X0C00
  395. X0C00
  396. X0600
  397. X0600
  398. X0600
  399. X0600
  400. X0600
  401. X0C00
  402. X0C00
  403. X1800
  404. X3000
  405. X0000
  406. X0000
  407. X0000
  408. XFF80
  409. XFF80
  410. XENDCHAR
  411. XSTARTCHAR H2a
  412. XENCODING 42
  413. XSWIDTH 562 0
  414. XDWIDTH 9 0
  415. XBBX 9 22 0 -7
  416. XBITMAP
  417. XFF80
  418. XFF80
  419. X0000
  420. X0000
  421. X0000
  422. X0000
  423. X1800
  424. X5A00
  425. X7E00
  426. X3C00
  427. X7E00
  428. X5A00
  429. X1800
  430. X0000
  431. X0000
  432. X0000
  433. X0000
  434. X0000
  435. X0000
  436. X0000
  437. XFF80
  438. XFF80
  439. XENDCHAR
  440. XSTARTCHAR H2b
  441. XENCODING 43
  442. XSWIDTH 562 0
  443. XDWIDTH 9 0
  444. XBBX 9 22 0 -7
  445. XBITMAP
  446. XFF80
  447. XFF80
  448. X0000
  449. X0000
  450. X0000
  451. X0000
  452. X0000
  453. X1800
  454. X1800
  455. X1800
  456. XFF00
  457. XFF00
  458. X1800
  459. X1800
  460. X1800
  461. X0000
  462. X0000
  463. X0000
  464. X0000
  465. X0000
  466. XFF80
  467. XFF80
  468. XENDCHAR
  469. XSTARTCHAR H2c
  470. XENCODING 44
  471. XSWIDTH 562 0
  472. XDWIDTH 9 0
  473. XBBX 9 22 0 -7
  474. XBITMAP
  475. XFF80
  476. XFF80
  477. X0000
  478. X0000
  479. X0000
  480. X0000
  481. X0000
  482. X0000
  483. X0000
  484. X0000
  485. X0000
  486. X0000
  487. X0000
  488. X1800
  489. X1800
  490. X0800
  491. X1000
  492. X2000
  493. X0000
  494. X0000
  495. XFF80
  496. XFF80
  497. XENDCHAR
  498. XSTARTCHAR H2d
  499. XENCODING 45
  500. XSWIDTH 562 0
  501. XDWIDTH 9 0
  502. XBBX 9 22 0 -7
  503. XBITMAP
  504. XFF80
  505. XFF80
  506. X0000
  507. X0000
  508. X0000
  509. X0000
  510. X0000
  511. X0000
  512. X0000
  513. X0000
  514. X7F00
  515. X7F00
  516. X0000
  517. X0000
  518. X0000
  519. X0000
  520. X0000
  521. X0000
  522. X0000
  523. X0000
  524. XFF80
  525. XFF80
  526. XENDCHAR
  527. XSTARTCHAR H2e
  528. XENCODING 46
  529. XSWIDTH 562 0
  530. XDWIDTH 9 0
  531. XBBX 9 22 0 -7
  532. XBITMAP
  533. XFF80
  534. XFF80
  535. X0000
  536. X0000
  537. X0000
  538. X0000
  539. X0000
  540. X0000
  541. X0000
  542. X0000
  543. X0000
  544. X0000
  545. X0000
  546. X1800
  547. X1800
  548. X0000
  549. X0000
  550. X0000
  551. X0000
  552. X0000
  553. XFF80
  554. XFF80
  555. XENDCHAR
  556. XSTARTCHAR H2f
  557. XENCODING 47
  558. XSWIDTH 562 0
  559. XDWIDTH 9 0
  560. XBBX 9 22 0 -7
  561. XBITMAP
  562. XFF80
  563. XFF80
  564. X0000
  565. X0000
  566. X0300
  567. X0600
  568. X0600
  569. X0C00
  570. X0C00
  571. X1800
  572. X1800
  573. X3000
  574. X3000
  575. X6000
  576. X6000
  577. XC000
  578. X0000
  579. X0000
  580. X0000
  581. X0000
  582. XFF80
  583. XFF80
  584. XENDCHAR
  585. XSTARTCHAR H30
  586. XENCODING 48
  587. XSWIDTH 562 0
  588. XDWIDTH 9 0
  589. XBBX 9 22 0 -7
  590. XBITMAP
  591. XFF80
  592. XFF80
  593. X0000
  594. X0000
  595. X0000
  596. X3E00
  597. X6300
  598. X6700
  599. X6700
  600. X6B00
  601. X6B00
  602. X7300
  603. X7300
  604. X6300
  605. X3E00
  606. X0000
  607. X0000
  608. X0000
  609. X0000
  610. X0000
  611. XFF80
  612. XFF80
  613. XENDCHAR
  614. XSTARTCHAR H31
  615. XENCODING 49
  616. XSWIDTH 562 0
  617. XDWIDTH 9 0
  618. XBBX 9 22 0 -7
  619. XBITMAP
  620. XFF80
  621. XFF80
  622. X0000
  623. X0000
  624. X0000
  625. X0C00
  626. X1C00
  627. X3C00
  628. X0C00
  629. X0C00
  630. X0C00
  631. X0C00
  632. X0C00
  633. X0C00
  634. X3F00
  635. X0000
  636. X0000
  637. X0000
  638. X0000
  639. X0000
  640. XFF80
  641. XFF80
  642. XENDCHAR
  643. XSTARTCHAR H32
  644. XENCODING 50
  645. XSWIDTH 562 0
  646. XDWIDTH 9 0
  647. XBBX 9 22 0 -7
  648. XBITMAP
  649. XFF80
  650. XFF80
  651. X0000
  652. X0000
  653. X0000
  654. X3E00
  655. X6300
  656. X6300
  657. X0300
  658. X0600
  659. X0C00
  660. X1800
  661. X3000
  662. X6100
  663. X7F00
  664. X0000
  665. X0000
  666. X0000
  667. X0000
  668. X0000
  669. XFF80
  670. XFF80
  671. XENDCHAR
  672. XSTARTCHAR H33
  673. XENCODING 51
  674. XSWIDTH 562 0
  675. XDWIDTH 9 0
  676. XBBX 9 22 0 -7
  677. XBITMAP
  678. XFF80
  679. XFF80
  680. X0000
  681. X0000
  682. X0000
  683. X3E00
  684. X6300
  685. X6300
  686. X0300
  687. X1E00
  688. X0700
  689. X0300
  690. X6300
  691. X6300
  692. X3E00
  693. X0000
  694. X0000
  695. X0000
  696. X0000
  697. X0000
  698. XFF80
  699. XFF80
  700. XENDCHAR
  701. XSTARTCHAR H34
  702. XENCODING 52
  703. XSWIDTH 562 0
  704. XDWIDTH 9 0
  705. XBBX 9 22 0 -7
  706. XBITMAP
  707. XFF80
  708. XFF80
  709. X0000
  710. X0000
  711. X0000
  712. X0200
  713. X0600
  714. X0E00
  715. X1E00
  716. X3600
  717. X6600
  718. XC600
  719. XFF00
  720. X0600
  721. X0600
  722. X0000
  723. X0000
  724. X0000
  725. X0000
  726. X0000
  727. XFF80
  728. XFF80
  729. XENDCHAR
  730. XSTARTCHAR H35
  731. XENCODING 53
  732. XSWIDTH 562 0
  733. XDWIDTH 9 0
  734. XBBX 9 22 0 -7
  735. XBITMAP
  736. XFF80
  737. XFF80
  738. X0000
  739. X0000
  740. X0000
  741. X7F00
  742. X6000
  743. X6000
  744. X7E00
  745. X0300
  746. X0300
  747. X0300
  748. X6300
  749. X6300
  750. X3E00
  751. X0000
  752. X0000
  753. X0000
  754. X0000
  755. X0000
  756. XFF80
  757. XFF80
  758. XENDCHAR
  759. XSTARTCHAR H36
  760. XENCODING 54
  761. XSWIDTH 562 0
  762. XDWIDTH 9 0
  763. XBBX 9 22 0 -7
  764. XBITMAP
  765. XFF80
  766. XFF80
  767. X0000
  768. X0000
  769. X0000
  770. X3E00
  771. X6300
  772. X6000
  773. X6000
  774. X7E00
  775. X6300
  776. X6300
  777. X6300
  778. X6300
  779. X3E00
  780. X0000
  781. X0000
  782. X0000
  783. X0000
  784. X0000
  785. XFF80
  786. XFF80
  787. XENDCHAR
  788. XSTARTCHAR H37
  789. XENCODING 55
  790. XSWIDTH 562 0
  791. XDWIDTH 9 0
  792. XBBX 9 22 0 -7
  793. XBITMAP
  794. XFF80
  795. XFF80
  796. X0000
  797. X0000
  798. X0000
  799. X7F00
  800. X4300
  801. X4300
  802. X0600
  803. X0600
  804. X0C00
  805. X0C00
  806. X1800
  807. X1800
  808. X1800
  809. X0000
  810. X0000
  811. X0000
  812. X0000
  813. X0000
  814. XFF80
  815. XFF80
  816. XENDCHAR
  817. XSTARTCHAR H38
  818. XENCODING 56
  819. XSWIDTH 562 0
  820. XDWIDTH 9 0
  821. XBBX 9 22 0 -7
  822. XBITMAP
  823. XFF80
  824. XFF80
  825. X0000
  826. X0000
  827. X0000
  828. X3E00
  829. X6300
  830. X6300
  831. X6300
  832. X3E00
  833. X6300
  834. X6300
  835. X6300
  836. X6300
  837. X3E00
  838. X0000
  839. X0000
  840. X0000
  841. X0000
  842. X0000
  843. XFF80
  844. XFF80
  845. XENDCHAR
  846. XSTARTCHAR H39
  847. XENCODING 57
  848. XSWIDTH 562 0
  849. XDWIDTH 9 0
  850. XBBX 9 22 0 -7
  851. XBITMAP
  852. XFF80
  853. XFF80
  854. X0000
  855. X0000
  856. X0000
  857. X3E00
  858. X6300
  859. X6300
  860. X6300
  861. X6300
  862. X3F00
  863. X0300
  864. X0300
  865. X6300
  866. X3E00
  867. X0000
  868. X0000
  869. X0000
  870. X0000
  871. X0000
  872. XFF80
  873. XFF80
  874. XENDCHAR
  875. XSTARTCHAR H3a
  876. XENCODING 58
  877. XSWIDTH 562 0
  878. XDWIDTH 9 0
  879. XBBX 9 22 0 -7
  880. XBITMAP
  881. XFF80
  882. XFF80
  883. X0000
  884. X0000
  885. X0000
  886. X0000
  887. X0000
  888. X0000
  889. X1800
  890. X1800
  891. X0000
  892. X0000
  893. X0000
  894. X1800
  895. X1800
  896. X0000
  897. X0000
  898. X0000
  899. X0000
  900. X0000
  901. XFF80
  902. XFF80
  903. XENDCHAR
  904. XSTARTCHAR H3b
  905. XENCODING 59
  906. XSWIDTH 562 0
  907. XDWIDTH 9 0
  908. XBBX 9 22 0 -7
  909. XBITMAP
  910. XFF80
  911. XFF80
  912. X0000
  913. X0000
  914. X0000
  915. X0000
  916. X0000
  917. X0000
  918. X1800
  919. X1800
  920. X0000
  921. X0000
  922. X0000
  923. X1800
  924. X1800
  925. X0800
  926. X1000
  927. X2000
  928. X0000
  929. X0000
  930. XFF80
  931. XFF80
  932. XENDCHAR
  933. XSTARTCHAR H3c
  934. XENCODING 60
  935. XSWIDTH 562 0
  936. XDWIDTH 9 0
  937. XBBX 9 22 0 -7
  938. XBITMAP
  939. XFF80
  940. XFF80
  941. X0000
  942. X0000
  943. X0300
  944. X0600
  945. X0C00
  946. X1800
  947. X3000
  948. X6000
  949. X3000
  950. X1800
  951. X0C00
  952. X0600
  953. X0300
  954. X0000
  955. X0000
  956. X0000
  957. X0000
  958. X0000
  959. XFF80
  960. XFF80
  961. XENDCHAR
  962. XSTARTCHAR H3d
  963. XENCODING 61
  964. XSWIDTH 562 0
  965. XDWIDTH 9 0
  966. XBBX 9 22 0 -7
  967. XBITMAP
  968. XFF80
  969. XFF80
  970. X0000
  971. X0000
  972. X0000
  973. X0000
  974. X0000
  975. X0000
  976. X7F00
  977. X7F00
  978. X0000
  979. X0000
  980. X7F00
  981. X7F00
  982. X0000
  983. X0000
  984. X0000
  985. X0000
  986. X0000
  987. X0000
  988. XFF80
  989. XFF80
  990. XENDCHAR
  991. XSTARTCHAR H3e
  992. XENCODING 62
  993. XSWIDTH 562 0
  994. XDWIDTH 9 0
  995. XBBX 9 22 0 -7
  996. XBITMAP
  997. XFF80
  998. XFF80
  999. X0000
  1000. X0000
  1001. X6000
  1002. X3000
  1003. X1800
  1004. X0C00
  1005. X0600
  1006. X0300
  1007. X0600
  1008. X0C00
  1009. X1800
  1010. X3000
  1011. X6000
  1012. X0000
  1013. X0000
  1014. X0000
  1015. X0000
  1016. X0000
  1017. XFF80
  1018. XFF80
  1019. XENDCHAR
  1020. XSTARTCHAR H3f
  1021. XENCODING 63
  1022. XSWIDTH 562 0
  1023. XDWIDTH 9 0
  1024. XBBX 9 22 0 -7
  1025. XBITMAP
  1026. XFF80
  1027. XFF80
  1028. X0000
  1029. X0000
  1030. X0000
  1031. X3E00
  1032. X6300
  1033. X6300
  1034. X0300
  1035. X0600
  1036. X0C00
  1037. X0C00
  1038. X0000
  1039. X0C00
  1040. X0C00
  1041. X0000
  1042. X0000
  1043. X0000
  1044. X0000
  1045. X0000
  1046. XFF80
  1047. XFF80
  1048. XENDCHAR
  1049. XSTARTCHAR H40
  1050. XENCODING 64
  1051. XSWIDTH 562 0
  1052. XDWIDTH 9 0
  1053. XBBX 9 22 0 -7
  1054. XBITMAP
  1055. XFF80
  1056. XFF80
  1057. X0000
  1058. X0000
  1059. X0000
  1060. X1C00
  1061. X3600
  1062. X6300
  1063. X6F00
  1064. X6B00
  1065. X6B00
  1066. X6E00
  1067. X6000
  1068. X3300
  1069. X1E00
  1070. X0000
  1071. X0000
  1072. X0000
  1073. X0000
  1074. X0000
  1075. XFF80
  1076. XFF80
  1077. XENDCHAR
  1078. XSTARTCHAR H41
  1079. XENCODING 65
  1080. XSWIDTH 562 0
  1081. XDWIDTH 9 0
  1082. XBBX 9 22 0 -7
  1083. XBITMAP
  1084. XFF80
  1085. XFF80
  1086. X0000
  1087. X0000
  1088. X0000
  1089. X0800
  1090. X1C00
  1091. X1C00
  1092. X3600
  1093. X3600
  1094. X3600
  1095. X6300
  1096. X7F00
  1097. X6300
  1098. X6300
  1099. X0000
  1100. X0000
  1101. X0000
  1102. X0000
  1103. X0000
  1104. XFF80
  1105. XFF80
  1106. XENDCHAR
  1107. XSTARTCHAR H42
  1108. XENCODING 66
  1109. XSWIDTH 562 0
  1110. XDWIDTH 9 0
  1111. XBBX 9 22 0 -7
  1112. XBITMAP
  1113. XFF80
  1114. XFF80
  1115. X0000
  1116. X0000
  1117. X0000
  1118. X7C00
  1119. X6600
  1120. X6600
  1121. X6600
  1122. X7C00
  1123. X6600
  1124. X6300
  1125. X6300
  1126. X6300
  1127. X7E00
  1128. X0000
  1129. X0000
  1130. X0000
  1131. X0000
  1132. X0000
  1133. XFF80
  1134. XFF80
  1135. XENDCHAR
  1136. XSTARTCHAR H43
  1137. XENCODING 67
  1138. XSWIDTH 562 0
  1139. XDWIDTH 9 0
  1140. XBBX 9 22 0 -7
  1141. XBITMAP
  1142. XFF80
  1143. XFF80
  1144. X0000
  1145. X0000
  1146. X0000
  1147. X3E00
  1148. X6300
  1149. X6300
  1150. X6000
  1151. X6000
  1152. X6000
  1153. X6000
  1154. X6300
  1155. X6300
  1156. X3E00
  1157. X0000
  1158. X0000
  1159. X0000
  1160. X0000
  1161. X0000
  1162. XFF80
  1163. XFF80
  1164. XENDCHAR
  1165. XSTARTCHAR H44
  1166. XENCODING 68
  1167. XSWIDTH 562 0
  1168. XDWIDTH 9 0
  1169. XBBX 9 22 0 -7
  1170. XBITMAP
  1171. XFF80
  1172. XFF80
  1173. X0000
  1174. X0000
  1175. X0000
  1176. X7C00
  1177. X6600
  1178. X6300
  1179. X6300
  1180. X6300
  1181. X6300
  1182. X6300
  1183. X6300
  1184. X6600
  1185. X7C00
  1186. X0000
  1187. X0000
  1188. X0000
  1189. X0000
  1190. X0000
  1191. XFF80
  1192. XFF80
  1193. XENDCHAR
  1194. XSTARTCHAR H45
  1195. XENCODING 69
  1196. XSWIDTH 562 0
  1197. XDWIDTH 9 0
  1198. XBBX 9 22 0 -7
  1199. XBITMAP
  1200. XFF80
  1201. XFF80
  1202. X0000
  1203. X0000
  1204. X0000
  1205. X7F00
  1206. X6000
  1207. X6000
  1208. X6000
  1209. X7E00
  1210. X6000
  1211. X6000
  1212. X6000
  1213. X6000
  1214. X7F00
  1215. X0000
  1216. X0000
  1217. X0000
  1218. X0000
  1219. X0000
  1220. XFF80
  1221. XFF80
  1222. XENDCHAR
  1223. XSTARTCHAR H46
  1224. XENCODING 70
  1225. XSWIDTH 562 0
  1226. XDWIDTH 9 0
  1227. XBBX 9 22 0 -7
  1228. XBITMAP
  1229. XFF80
  1230. XFF80
  1231. X0000
  1232. X0000
  1233. X0000
  1234. X7F00
  1235. X6000
  1236. X6000
  1237. X6000
  1238. X7E00
  1239. X6000
  1240. X6000
  1241. X6000
  1242. X6000
  1243. X6000
  1244. X0000
  1245. X0000
  1246. X0000
  1247. X0000
  1248. X0000
  1249. XFF80
  1250. XFF80
  1251. XENDCHAR
  1252. XSTARTCHAR H47
  1253. XENCODING 71
  1254. XSWIDTH 562 0
  1255. XDWIDTH 9 0
  1256. XBBX 9 22 0 -7
  1257. XBITMAP
  1258. XFF80
  1259. XFF80
  1260. X0000
  1261. X0000
  1262. X0000
  1263. X3E00
  1264. X6300
  1265. X6300
  1266. X6000
  1267. X6000
  1268. X6700
  1269. X6300
  1270. X6300
  1271. X6700
  1272. X3D00
  1273. X0000
  1274. X0000
  1275. X0000
  1276. X0000
  1277. X0000
  1278. XFF80
  1279. XFF80
  1280. XENDCHAR
  1281. XSTARTCHAR H48
  1282. XENCODING 72
  1283. XSWIDTH 562 0
  1284. XDWIDTH 9 0
  1285. XBBX 9 22 0 -7
  1286. XBITMAP
  1287. XFF80
  1288. XFF80
  1289. X0000
  1290. X0000
  1291. X0000
  1292. X6300
  1293. X6300
  1294. X6300
  1295. X6300
  1296. X7F00
  1297. X6300
  1298. X6300
  1299. X6300
  1300. X6300
  1301. X6300
  1302. X0000
  1303. X0000
  1304. X0000
  1305. X0000
  1306. X0000
  1307. XFF80
  1308. XFF80
  1309. XENDCHAR
  1310. XSTARTCHAR H49
  1311. XENCODING 73
  1312. XSWIDTH 562 0
  1313. XDWIDTH 9 0
  1314. XBBX 9 22 0 -7
  1315. XBITMAP
  1316. XFF80
  1317. XFF80
  1318. X0000
  1319. X0000
  1320. X0000
  1321. X7E00
  1322. X1800
  1323. X1800
  1324. X1800
  1325. X1800
  1326. X1800
  1327. X1800
  1328. X1800
  1329. X1800
  1330. X7E00
  1331. X0000
  1332. X0000
  1333. X0000
  1334. X0000
  1335. X0000
  1336. XFF80
  1337. XFF80
  1338. XENDCHAR
  1339. XSTARTCHAR H4a
  1340. XENCODING 74
  1341. XSWIDTH 562 0
  1342. XDWIDTH 9 0
  1343. XBBX 9 22 0 -7
  1344. XBITMAP
  1345. XFF80
  1346. XFF80
  1347. X0000
  1348. X0000
  1349. X0000
  1350. X1F00
  1351. X0600
  1352. X0600
  1353. X0600
  1354. X0600
  1355. X0600
  1356. X0600
  1357. X6600
  1358. X6600
  1359. X3C00
  1360. X0000
  1361. X0000
  1362. X0000
  1363. X0000
  1364. X0000
  1365. XFF80
  1366. XFF80
  1367. XENDCHAR
  1368. XSTARTCHAR H4b
  1369. XENCODING 75
  1370. XSWIDTH 562 0
  1371. XDWIDTH 9 0
  1372. XBBX 9 22 0 -7
  1373. XBITMAP
  1374. XFF80
  1375. XFF80
  1376. X0000
  1377. X0000
  1378. X0000
  1379. X6300
  1380. X6600
  1381. X6C00
  1382. X7800
  1383. X7C00
  1384. X6C00
  1385. X6600
  1386. X6600
  1387. X6300
  1388. X6300
  1389. X0000
  1390. X0000
  1391. X0000
  1392. X0000
  1393. X0000
  1394. XFF80
  1395. XFF80
  1396. XENDCHAR
  1397. XSTARTCHAR H4c
  1398. XENCODING 76
  1399. XSWIDTH 562 0
  1400. XDWIDTH 9 0
  1401. XBBX 9 22 0 -7
  1402. XBITMAP
  1403. XFF80
  1404. XFF80
  1405. X0000
  1406. X0000
  1407. X0000
  1408. X6000
  1409. X6000
  1410. X6000
  1411. X6000
  1412. X6000
  1413. X6000
  1414. X6000
  1415. X6000
  1416. X6000
  1417. X7F00
  1418. X0000
  1419. X0000
  1420. X0000
  1421. X0000
  1422. X0000
  1423. XFF80
  1424. XFF80
  1425. XENDCHAR
  1426. XSTARTCHAR H4d
  1427. XENCODING 77
  1428. XSWIDTH 562 0
  1429. XDWIDTH 9 0
  1430. XBBX 9 22 0 -7
  1431. XBITMAP
  1432. XFF80
  1433. XFF80
  1434. X0000
  1435. X0000
  1436. X0000
  1437. XC300
  1438. XC300
  1439. XE700
  1440. XE700
  1441. XFF00
  1442. XDB00
  1443. XDB00
  1444. XC300
  1445. XC300
  1446. XC300
  1447. X0000
  1448. X0000
  1449. X0000
  1450. X0000
  1451. X0000
  1452. XFF80
  1453. XFF80
  1454. XENDCHAR
  1455. XSTARTCHAR H4e
  1456. XENCODING 78
  1457. XSWIDTH 562 0
  1458. XDWIDTH 9 0
  1459. XBBX 9 22 0 -7
  1460. XBITMAP
  1461. XFF80
  1462. XFF80
  1463. X0000
  1464. X0000
  1465. X0000
  1466. X6300
  1467. X6300
  1468. X7300
  1469. X7300
  1470. X7B00
  1471. X6B00
  1472. X6F00
  1473. X6700
  1474. X6700
  1475. X6300
  1476. X0000
  1477. X0000
  1478. X0000
  1479. X0000
  1480. X0000
  1481. XFF80
  1482. XFF80
  1483. XENDCHAR
  1484. XSTARTCHAR H4f
  1485. XENCODING 79
  1486. XSWIDTH 562 0
  1487. XDWIDTH 9 0
  1488. XBBX 9 22 0 -7
  1489. XBITMAP
  1490. XFF80
  1491. XFF80
  1492. X0000
  1493. X0000
  1494. X0000
  1495. X3E00
  1496. X6300
  1497. X6300
  1498. X6300
  1499. X6300
  1500. X6300
  1501. X6300
  1502. X6300
  1503. X6300
  1504. X3E00
  1505. X0000
  1506. X0000
  1507. X0000
  1508. X0000
  1509. X0000
  1510. XFF80
  1511. XFF80
  1512. XENDCHAR
  1513. XSTARTCHAR H50
  1514. XENCODING 80
  1515. XSWIDTH 562 0
  1516. XDWIDTH 9 0
  1517. XBBX 9 22 0 -7
  1518. XBITMAP
  1519. XFF80
  1520. XFF80
  1521. X0000
  1522. X0000
  1523. X0000
  1524. X7E00
  1525. X6300
  1526. X6300
  1527. X6300
  1528. X6300
  1529. X7E00
  1530. X6000
  1531. X6000
  1532. X6000
  1533. X6000
  1534. X0000
  1535. X0000
  1536. X0000
  1537. X0000
  1538. X0000
  1539. XFF80
  1540. XFF80
  1541. XENDCHAR
  1542. XSTARTCHAR H51
  1543. XENCODING 81
  1544. XSWIDTH 562 0
  1545. XDWIDTH 9 0
  1546. XBBX 9 22 0 -7
  1547. XBITMAP
  1548. XFF80
  1549. XFF80
  1550. X0000
  1551. X0000
  1552. X0000
  1553. X3E00
  1554. X6300
  1555. X6300
  1556. X6300
  1557. X6300
  1558. X6300
  1559. X6300
  1560. X6300
  1561. X6300
  1562. X3E00
  1563. X1800
  1564. X0C00
  1565. X0700
  1566. X0000
  1567. X0000
  1568. XFF80
  1569. XFF80
  1570. XENDCHAR
  1571. XSTARTCHAR H52
  1572. XENCODING 82
  1573. XSWIDTH 562 0
  1574. XDWIDTH 9 0
  1575. XBBX 9 22 0 -7
  1576. XBITMAP
  1577. XFF80
  1578. XFF80
  1579. X0000
  1580. X0000
  1581. X0000
  1582. X7E00
  1583. X6300
  1584. X6300
  1585. X6300
  1586. X7E00
  1587. X6C00
  1588. X6600
  1589. X6600
  1590. X6300
  1591. X6300
  1592. X0000
  1593. X0000
  1594. X0000
  1595. X0000
  1596. X0000
  1597. XFF80
  1598. XFF80
  1599. XENDCHAR
  1600. XSTARTCHAR H53
  1601. XENCODING 83
  1602. XSWIDTH 562 0
  1603. XDWIDTH 9 0
  1604. XBBX 9 22 0 -7
  1605. XBITMAP
  1606. XFF80
  1607. XFF80
  1608. X0000
  1609. X0000
  1610. X0000
  1611. X3E00
  1612. X6300
  1613. X6300
  1614. X3000
  1615. X1C00
  1616. X0600
  1617. X0300
  1618. X6300
  1619. X6300
  1620. X3E00
  1621. X0000
  1622. X0000
  1623. X0000
  1624. X0000
  1625. X0000
  1626. XFF80
  1627. XFF80
  1628. XENDCHAR
  1629. XSTARTCHAR H54
  1630. XENCODING 84
  1631. XSWIDTH 562 0
  1632. XDWIDTH 9 0
  1633. XBBX 9 22 0 -7
  1634. XBITMAP
  1635. XFF80
  1636. XFF80
  1637. X0000
  1638. X0000
  1639. X0000
  1640. XFF00
  1641. X1800
  1642. X1800
  1643. X1800
  1644. X1800
  1645. X1800
  1646. X1800
  1647. X1800
  1648. X1800
  1649. X1800
  1650. X0000
  1651. X0000
  1652. X0000
  1653. X0000
  1654. X0000
  1655. XFF80
  1656. XFF80
  1657. XENDCHAR
  1658. XSTARTCHAR H55
  1659. XENCODING 85
  1660. XSWIDTH 562 0
  1661. XDWIDTH 9 0
  1662. XBBX 9 22 0 -7
  1663. XBITMAP
  1664. XFF80
  1665. XFF80
  1666. X0000
  1667. X0000
  1668. X0000
  1669. X6300
  1670. X6300
  1671. X6300
  1672. X6300
  1673. X6300
  1674. X6300
  1675. X6300
  1676. X6300
  1677. X6300
  1678. X3E00
  1679. X0000
  1680. X0000
  1681. X0000
  1682. X0000
  1683. X0000
  1684. XFF80
  1685. XFF80
  1686. XENDCHAR
  1687. XSTARTCHAR H56
  1688. XENCODING 86
  1689. XSWIDTH 562 0
  1690. XDWIDTH 9 0
  1691. XBBX 9 22 0 -7
  1692. XBITMAP
  1693. XFF80
  1694. XFF80
  1695. X0000
  1696. X0000
  1697. X0000
  1698. X6300
  1699. X6300
  1700. X6300
  1701. X3600
  1702. X3600
  1703. X3600
  1704. X1C00
  1705. X1C00
  1706. X0800
  1707. X0800
  1708. X0000
  1709. X0000
  1710. X0000
  1711. X0000
  1712. X0000
  1713. XFF80
  1714. XFF80
  1715. XENDCHAR
  1716. XSTARTCHAR H57
  1717. XENCODING 87
  1718. XSWIDTH 562 0
  1719. XDWIDTH 9 0
  1720. XBBX 9 22 0 -7
  1721. XBITMAP
  1722. XFF80
  1723. XFF80
  1724. X0000
  1725. X0000
  1726. X0000
  1727. XC180
  1728. XC980
  1729. XC980
  1730. XDD80
  1731. X5D00
  1732. X7700
  1733. X7700
  1734. X3600
  1735. X2200
  1736. X2200
  1737. X0000
  1738. X0000
  1739. X0000
  1740. X0000
  1741. X0000
  1742. XFF80
  1743. XFF80
  1744. XENDCHAR
  1745. XSTARTCHAR H58
  1746. XENCODING 88
  1747. XSWIDTH 562 0
  1748. XDWIDTH 9 0
  1749. XBBX 9 22 0 -7
  1750. XBITMAP
  1751. XFF80
  1752. XFF80
  1753. X0000
  1754. X0000
  1755. X0000
  1756. X6300
  1757. X6300
  1758. X3600
  1759. X3600
  1760. X1C00
  1761. X1C00
  1762. X3600
  1763. X3600
  1764. X6300
  1765. X6300
  1766. X0000
  1767. X0000
  1768. X0000
  1769. X0000
  1770. X0000
  1771. XFF80
  1772. XFF80
  1773. XENDCHAR
  1774. XSTARTCHAR H59
  1775. XENCODING 89
  1776. XSWIDTH 562 0
  1777. XDWIDTH 9 0
  1778. XBBX 9 22 0 -7
  1779. XBITMAP
  1780. XFF80
  1781. XFF80
  1782. X0000
  1783. X0000
  1784. X0000
  1785. XC300
  1786. XC300
  1787. X6600
  1788. X6600
  1789. X3C00
  1790. X1800
  1791. X1800
  1792. X1800
  1793. X1800
  1794. X1800
  1795. X0000
  1796. X0000
  1797. X0000
  1798. X0000
  1799. X0000
  1800. XFF80
  1801. XFF80
  1802. XENDCHAR
  1803. XSTARTCHAR H5a
  1804. XENCODING 90
  1805. XSWIDTH 562 0
  1806. XDWIDTH 9 0
  1807. XBBX 9 22 0 -7
  1808. XBITMAP
  1809. XFF80
  1810. XFF80
  1811. X0000
  1812. X0000
  1813. X0000
  1814. X7F00
  1815. X0300
  1816. X0300
  1817. X0600
  1818. X0C00
  1819. X1800
  1820. X3000
  1821. X6000
  1822. X6000
  1823. X7F00
  1824. X0000
  1825. X0000
  1826. X0000
  1827. X0000
  1828. X0000
  1829. XFF80
  1830. XFF80
  1831. XENDCHAR
  1832. XSTARTCHAR H5b
  1833. XENCODING 91
  1834. XSWIDTH 562 0
  1835. XDWIDTH 9 0
  1836. XBBX 9 22 0 -7
  1837. XBITMAP
  1838. XFF80
  1839. XFF80
  1840. X0000
  1841. X0000
  1842. X3E00
  1843. X3000
  1844. X3000
  1845. X3000
  1846. X3000
  1847. X3000
  1848. X3000
  1849. X3000
  1850. X3000
  1851. X3000
  1852. X3000
  1853. X3000
  1854. X3E00
  1855. X0000
  1856. X0000
  1857. X0000
  1858. XFF80
  1859. XFF80
  1860. XENDCHAR
  1861. XSTARTCHAR H5c
  1862. XENCODING 92
  1863. XSWIDTH 562 0
  1864. XDWIDTH 9 0
  1865. XBBX 9 22 0 -7
  1866. XBITMAP
  1867. XFF80
  1868. XFF80
  1869. X0000
  1870. X0000
  1871. XC000
  1872. X6000
  1873. X6000
  1874. X3000
  1875. X3000
  1876. X1800
  1877. X1800
  1878. X0C00
  1879. X0C00
  1880. X0600
  1881. X0600
  1882. X0300
  1883. X0000
  1884. X0000
  1885. X0000
  1886. X0000
  1887. XFF80
  1888. XFF80
  1889. XENDCHAR
  1890. XSTARTCHAR H5d
  1891. XENCODING 93
  1892. XSWIDTH 562 0
  1893. XDWIDTH 9 0
  1894. XBBX 9 22 0 -7
  1895. XBITMAP
  1896. XFF80
  1897. XFF80
  1898. X0000
  1899. X0000
  1900. X3E00
  1901. X0600
  1902. X0600
  1903. X0600
  1904. X0600
  1905. X0600
  1906. X0600
  1907. X0600
  1908. X0600
  1909. X0600
  1910. X0600
  1911. X0600
  1912. X3E00
  1913. X0000
  1914. X0000
  1915. X0000
  1916. XFF80
  1917. XFF80
  1918. XENDCHAR
  1919. XSTARTCHAR H5e
  1920. XENCODING 94
  1921. XSWIDTH 562 0
  1922. XDWIDTH 9 0
  1923. XBBX 9 22 0 -7
  1924. XBITMAP
  1925. XFF80
  1926. XFF80
  1927. X0000
  1928. X0000
  1929. X0000
  1930. X0800
  1931. X1C00
  1932. X3600
  1933. X6300
  1934. X0000
  1935. X0000
  1936. X0000
  1937. X0000
  1938. X0000
  1939. X0000
  1940. X0000
  1941. X0000
  1942. X0000
  1943. X0000
  1944. X0000
  1945. XFF80
  1946. XFF80
  1947. XENDCHAR
  1948. XSTARTCHAR H5f
  1949. XENCODING 95
  1950. XSWIDTH 562 0
  1951. XDWIDTH 9 0
  1952. XBBX 9 22 0 -7
  1953. XBITMAP
  1954. XFF80
  1955. XFF80
  1956. X0000
  1957. X0000
  1958. X0000
  1959. X0000
  1960. X0000
  1961. X0000
  1962. X0000
  1963. X0000
  1964. X0000
  1965. X0000
  1966. X0000
  1967. X0000
  1968. X0000
  1969. XFF80
  1970. XFF80
  1971. X0000
  1972. X0000
  1973. X0000
  1974. XFF80
  1975. XFF80
  1976. XENDCHAR
  1977. XSTARTCHAR H60
  1978. XENCODING 96
  1979. XSWIDTH 562 0
  1980. XDWIDTH 9 0
  1981. XBBX 9 22 0 -7
  1982. XBITMAP
  1983. XFF80
  1984. XFF80
  1985. X0000
  1986. X0000
  1987. X0000
  1988. X3000
  1989. X3000
  1990. X1800
  1991. X0C00
  1992. X0000
  1993. X0000
  1994. X0000
  1995. X0000
  1996. X0000
  1997. X0000
  1998. X0000
  1999. X0000
  2000. X0000
  2001. X0000
  2002. X0000
  2003. XFF80
  2004. XFF80
  2005. XENDCHAR
  2006. XSTARTCHAR H61
  2007. XENCODING 97
  2008. XSWIDTH 562 0
  2009. XDWIDTH 9 0
  2010. XBBX 9 22 0 -7
  2011. XBITMAP
  2012. XFF80
  2013. XFF80
  2014. X0000
  2015. X0000
  2016. X0000
  2017. X0000
  2018. X0000
  2019. X0000
  2020. X3C00
  2021. X6600
  2022. X0600
  2023. X3E00
  2024. X6600
  2025. X6600
  2026. X3F00
  2027. X0000
  2028. X0000
  2029. X0000
  2030. X0000
  2031. X0000
  2032. XFF80
  2033. XFF80
  2034. XENDCHAR
  2035. XSTARTCHAR H62
  2036. XENCODING 98
  2037. XSWIDTH 562 0
  2038. XDWIDTH 9 0
  2039. XBBX 9 22 0 -7
  2040. XBITMAP
  2041. XFF80
  2042. XFF80
  2043. X0000
  2044. X0000
  2045. X0000
  2046. X6000
  2047. X6000
  2048. X6000
  2049. X6E00
  2050. X7300
  2051. X6300
  2052. X6300
  2053. X6300
  2054. X7300
  2055. X6E00
  2056. X0000
  2057. X0000
  2058. X0000
  2059. X0000
  2060. X0000
  2061. XFF80
  2062. XFF80
  2063. XENDCHAR
  2064. XSTARTCHAR H63
  2065. XENCODING 99
  2066. XSWIDTH 562 0
  2067. XDWIDTH 9 0
  2068. XBBX 9 22 0 -7
  2069. XBITMAP
  2070. XFF80
  2071. XFF80
  2072. X0000
  2073. X0000
  2074. X0000
  2075. X0000
  2076. X0000
  2077. X0000
  2078. X3E00
  2079. X6300
  2080. X6000
  2081. X6000
  2082. X6000
  2083. X6300
  2084. X3E00
  2085. X0000
  2086. X0000
  2087. X0000
  2088. X0000
  2089. X0000
  2090. XFF80
  2091. XFF80
  2092. XENDCHAR
  2093. XSTARTCHAR H64
  2094. XENCODING 100
  2095. XSWIDTH 562 0
  2096. XDWIDTH 9 0
  2097. XBBX 9 22 0 -7
  2098. XBITMAP
  2099. XFF80
  2100. XFF80
  2101. X0000
  2102. X0000
  2103. X0000
  2104. X0300
  2105. X0300
  2106. X0300
  2107. X3B00
  2108. X6700
  2109. X6300
  2110. X6300
  2111. X6300
  2112. X6700
  2113. X3B00
  2114. X0000
  2115. X0000
  2116. X0000
  2117. X0000
  2118. X0000
  2119. XFF80
  2120. XFF80
  2121. XENDCHAR
  2122. XSTARTCHAR H65
  2123. XENCODING 101
  2124. XSWIDTH 562 0
  2125. XDWIDTH 9 0
  2126. XBBX 9 22 0 -7
  2127. XBITMAP
  2128. XFF80
  2129. XFF80
  2130. X0000
  2131. X0000
  2132. X0000
  2133. X0000
  2134. X0000
  2135. X0000
  2136. X3E00
  2137. X6300
  2138. X6300
  2139. X7F00
  2140. X6000
  2141. X6300
  2142. X3E00
  2143. X0000
  2144. X0000
  2145. X0000
  2146. X0000
  2147. X0000
  2148. XFF80
  2149. XFF80
  2150. XENDCHAR
  2151. XSTARTCHAR H66
  2152. XENCODING 102
  2153. XSWIDTH 562 0
  2154. XDWIDTH 9 0
  2155. XBBX 9 22 0 -7
  2156. XBITMAP
  2157. XFF80
  2158. XFF80
  2159. X0000
  2160. X0000
  2161. X0000
  2162. X0E00
  2163. X1B00
  2164. X1800
  2165. X1800
  2166. X7E00
  2167. X1800
  2168. X1800
  2169. X1800
  2170. X1800
  2171. X1800
  2172. X0000
  2173. X0000
  2174. X0000
  2175. X0000
  2176. X0000
  2177. XFF80
  2178. XFF80
  2179. XENDCHAR
  2180. XSTARTCHAR H67
  2181. XENCODING 103
  2182. XSWIDTH 562 0
  2183. XDWIDTH 9 0
  2184. XBBX 9 22 0 -7
  2185. XBITMAP
  2186. XFF80
  2187. XFF80
  2188. X0000
  2189. X0000
  2190. X0000
  2191. X0000
  2192. X0000
  2193. X3B00
  2194. X6700
  2195. X6300
  2196. X6300
  2197. X6300
  2198. X6700
  2199. X3B00
  2200. X0300
  2201. X6300
  2202. X3E00
  2203. X0000
  2204. X0000
  2205. X0000
  2206. XFF80
  2207. XFF80
  2208. XENDCHAR
  2209. XSTARTCHAR H68
  2210. XENCODING 104
  2211. XSWIDTH 562 0
  2212. XDWIDTH 9 0
  2213. XBBX 9 22 0 -7
  2214. XBITMAP
  2215. XFF80
  2216. XFF80
  2217. X0000
  2218. X0000
  2219. X0000
  2220. X6000
  2221. X6000
  2222. X6000
  2223. X6E00
  2224. X7300
  2225. X6300
  2226. X6300
  2227. X6300
  2228. X6300
  2229. X6300
  2230. X0000
  2231. X0000
  2232. X0000
  2233. X0000
  2234. X0000
  2235. XFF80
  2236. XFF80
  2237. XENDCHAR
  2238. XSTARTCHAR H69
  2239. XENCODING 105
  2240. XSWIDTH 562 0
  2241. XDWIDTH 9 0
  2242. XBBX 9 22 0 -7
  2243. XBITMAP
  2244. XFF80
  2245. XFF80
  2246. X0000
  2247. X0000
  2248. X0000
  2249. X0C00
  2250. X0C00
  2251. X0000
  2252. X3C00
  2253. X0C00
  2254. X0C00
  2255. X0C00
  2256. X0C00
  2257. X0C00
  2258. X0C00
  2259. X0000
  2260. X0000
  2261. X0000
  2262. X0000
  2263. X0000
  2264. XFF80
  2265. XFF80
  2266. XENDCHAR
  2267. XSTARTCHAR H6a
  2268. XENCODING 106
  2269. XSWIDTH 562 0
  2270. XDWIDTH 9 0
  2271. XBBX 9 22 0 -7
  2272. XBITMAP
  2273. XFF80
  2274. XFF80
  2275. X0000
  2276. X0000
  2277. X0000
  2278. X0600
  2279. X0600
  2280. X0000
  2281. X1E00
  2282. X0600
  2283. X0600
  2284. X0600
  2285. X0600
  2286. X0600
  2287. X0600
  2288. X0600
  2289. X6600
  2290. X3C00
  2291. X0000
  2292. X0000
  2293. XFF80
  2294. XFF80
  2295. XENDCHAR
  2296. XSTARTCHAR H6b
  2297. XENCODING 107
  2298. XSWIDTH 562 0
  2299. XDWIDTH 9 0
  2300. XBBX 9 22 0 -7
  2301. XBITMAP
  2302. XFF80
  2303. XFF80
  2304. X0000
  2305. X0000
  2306. X0000
  2307. X6000
  2308. X6000
  2309. X6000
  2310. X6600
  2311. X6C00
  2312. X7800
  2313. X7800
  2314. X6C00
  2315. X6600
  2316. X6300
  2317. X0000
  2318. X0000
  2319. X0000
  2320. X0000
  2321. X0000
  2322. XFF80
  2323. XFF80
  2324. XENDCHAR
  2325. XSTARTCHAR H6c
  2326. XENCODING 108
  2327. XSWIDTH 562 0
  2328. XDWIDTH 9 0
  2329. XBBX 9 22 0 -7
  2330. XBITMAP
  2331. XFF80
  2332. XFF80
  2333. X0000
  2334. X0000
  2335. X0000
  2336. X3C00
  2337. X0C00
  2338. X0C00
  2339. X0C00
  2340. X0C00
  2341. X0C00
  2342. X0C00
  2343. X0C00
  2344. X0C00
  2345. X0C00
  2346. X0000
  2347. X0000
  2348. X0000
  2349. X0000
  2350. X0000
  2351. XFF80
  2352. XFF80
  2353. XENDCHAR
  2354. XSTARTCHAR H6d
  2355. XENCODING 109
  2356. XSWIDTH 562 0
  2357. XDWIDTH 9 0
  2358. XBBX 9 22 0 -7
  2359. XBITMAP
  2360. XFF80
  2361. XFF80
  2362. X0000
  2363. X0000
  2364. X0000
  2365. X0000
  2366. X0000
  2367. X0000
  2368. XB600
  2369. XDB00
  2370. XDB00
  2371. XDB00
  2372. XDB00
  2373. XDB00
  2374. XDB00
  2375. X0000
  2376. X0000
  2377. X0000
  2378. X0000
  2379. X0000
  2380. XFF80
  2381. XFF80
  2382. XENDCHAR
  2383. XSTARTCHAR H6e
  2384. XENCODING 110
  2385. XSWIDTH 562 0
  2386. XDWIDTH 9 0
  2387. XBBX 9 22 0 -7
  2388. XBITMAP
  2389. XFF80
  2390. XFF80
  2391. X0000
  2392. X0000
  2393. X0000
  2394. X0000
  2395. X0000
  2396. X0000
  2397. X5E00
  2398. X7300
  2399. X6300
  2400. X6300
  2401. X6300
  2402. X6300
  2403. X6300
  2404. X0000
  2405. X0000
  2406. X0000
  2407. X0000
  2408. X0000
  2409. XFF80
  2410. XFF80
  2411. XENDCHAR
  2412. XSTARTCHAR H6f
  2413. XENCODING 111
  2414. XSWIDTH 562 0
  2415. XDWIDTH 9 0
  2416. XBBX 9 22 0 -7
  2417. XBITMAP
  2418. XFF80
  2419. XFF80
  2420. X0000
  2421. X0000
  2422. X0000
  2423. X0000
  2424. X0000
  2425. X0000
  2426. X3E00
  2427. X6300
  2428. X6300
  2429. X6300
  2430. X6300
  2431. X6300
  2432. X3E00
  2433. X0000
  2434. X0000
  2435. X0000
  2436. X0000
  2437. X0000
  2438. XFF80
  2439. XFF80
  2440. XENDCHAR
  2441. XSTARTCHAR H70
  2442. XENCODING 112
  2443. XSWIDTH 562 0
  2444. XDWIDTH 9 0
  2445. XBBX 9 22 0 -7
  2446. XBITMAP
  2447. XFF80
  2448. XFF80
  2449. X0000
  2450. X0000
  2451. X0000
  2452. X0000
  2453. X0000
  2454. X0000
  2455. X6E00
  2456. X7300
  2457. X6300
  2458. X6300
  2459. X6300
  2460. X7300
  2461. X6E00
  2462. X6000
  2463. X6000
  2464. X6000
  2465. X6000
  2466. X0000
  2467. XFF80
  2468. XFF80
  2469. XENDCHAR
  2470. XSTARTCHAR H71
  2471. XENCODING 113
  2472. XSWIDTH 562 0
  2473. XDWIDTH 9 0
  2474. XBBX 9 22 0 -7
  2475. XBITMAP
  2476. XFF80
  2477. XFF80
  2478. X0000
  2479. X0000
  2480. X0000
  2481. X0000
  2482. X0000
  2483. X0000
  2484. X3B00
  2485. X6700
  2486. X6300
  2487. X6300
  2488. X6300
  2489. X6700
  2490. X3B00
  2491. X0300
  2492. X0300
  2493. X0300
  2494. X0300
  2495. X0000
  2496. XFF80
  2497. XFF80
  2498. XENDCHAR
  2499. XSTARTCHAR H72
  2500. XENCODING 114
  2501. XSWIDTH 562 0
  2502. XDWIDTH 9 0
  2503. XBBX 9 22 0 -7
  2504. XBITMAP
  2505. XFF80
  2506. XFF80
  2507. X0000
  2508. X0000
  2509. X0000
  2510. X0000
  2511. X0000
  2512. X0000
  2513. X6E00
  2514. X7B00
  2515. X6000
  2516. X6000
  2517. X6000
  2518. X6000
  2519. X6000
  2520. X0000
  2521. X0000
  2522. X0000
  2523. X0000
  2524. X0000
  2525. XFF80
  2526. XFF80
  2527. XENDCHAR
  2528. XSTARTCHAR H73
  2529. XENCODING 115
  2530. XSWIDTH 562 0
  2531. XDWIDTH 9 0
  2532. XBBX 9 22 0 -7
  2533. XBITMAP
  2534. XFF80
  2535. XFF80
  2536. X0000
  2537. X0000
  2538. X0000
  2539. X0000
  2540. X0000
  2541. X0000
  2542. X3E00
  2543. X6300
  2544. X6000
  2545. X3E00
  2546. X0300
  2547. X6300
  2548. X3E00
  2549. X0000
  2550. X0000
  2551. X0000
  2552. X0000
  2553. X0000
  2554. XFF80
  2555. XFF80
  2556. XENDCHAR
  2557. XSTARTCHAR H74
  2558. XENCODING 116
  2559. XSWIDTH 562 0
  2560. XDWIDTH 9 0
  2561. XBBX 9 22 0 -7
  2562. XBITMAP
  2563. XFF80
  2564. XFF80
  2565. X0000
  2566. X0000
  2567. X0000
  2568. X1800
  2569. X1800
  2570. X1800
  2571. X7E00
  2572. X1800
  2573. X1800
  2574. X1800
  2575. X1800
  2576. X1B00
  2577. X0E00
  2578. X0000
  2579. X0000
  2580. X0000
  2581. X0000
  2582. X0000
  2583. XFF80
  2584. XFF80
  2585. XENDCHAR
  2586. XSTARTCHAR H75
  2587. XENCODING 117
  2588. XSWIDTH 562 0
  2589. XDWIDTH 9 0
  2590. XBBX 9 22 0 -7
  2591. XBITMAP
  2592. XFF80
  2593. XFF80
  2594. X0000
  2595. X0000
  2596. X0000
  2597. X0000
  2598. X0000
  2599. X0000
  2600. X6300
  2601. X6300
  2602. X6300
  2603. X6300
  2604. X6300
  2605. X6700
  2606. X3B00
  2607. X0000
  2608. X0000
  2609. X0000
  2610. X0000
  2611. X0000
  2612. XFF80
  2613. XFF80
  2614. XENDCHAR
  2615. XSTARTCHAR H76
  2616. XENCODING 118
  2617. XSWIDTH 562 0
  2618. XDWIDTH 9 0
  2619. XBBX 9 22 0 -7
  2620. XBITMAP
  2621. XFF80
  2622. XFF80
  2623. X0000
  2624. X0000
  2625. X0000
  2626. X0000
  2627. X0000
  2628. X0000
  2629. X6300
  2630. X6300
  2631. X3600
  2632. X3600
  2633. X1C00
  2634. X1C00
  2635. X0800
  2636. X0000
  2637. X0000
  2638. X0000
  2639. X0000
  2640. X0000
  2641. XFF80
  2642. XFF80
  2643. XENDCHAR
  2644. XSTARTCHAR H77
  2645. XENCODING 119
  2646. XSWIDTH 562 0
  2647. XDWIDTH 9 0
  2648. XBBX 9 22 0 -7
  2649. XBITMAP
  2650. XFF80
  2651. XFF80
  2652. X0000
  2653. X0000
  2654. X0000
  2655. X0000
  2656. X0000
  2657. X0000
  2658. XC300
  2659. XC300
  2660. XDB00
  2661. XDB00
  2662. XDB00
  2663. XDB00
  2664. X7E00
  2665. X0000
  2666. X0000
  2667. X0000
  2668. X0000
  2669. X0000
  2670. XFF80
  2671. XFF80
  2672. XENDCHAR
  2673. XSTARTCHAR H78
  2674. XENCODING 120
  2675. XSWIDTH 562 0
  2676. XDWIDTH 9 0
  2677. XBBX 9 22 0 -7
  2678. XBITMAP
  2679. XFF80
  2680. XFF80
  2681. X0000
  2682. X0000
  2683. X0000
  2684. X0000
  2685. X0000
  2686. X0000
  2687. X6600
  2688. X6600
  2689. X3C00
  2690. X1800
  2691. X3C00
  2692. X6600
  2693. X6600
  2694. X0000
  2695. X0000
  2696. X0000
  2697. X0000
  2698. X0000
  2699. XFF80
  2700. XFF80
  2701. XENDCHAR
  2702. XSTARTCHAR H79
  2703. XENCODING 121
  2704. XSWIDTH 562 0
  2705. XDWIDTH 9 0
  2706. XBBX 9 22 0 -7
  2707. XBITMAP
  2708. XFF80
  2709. XFF80
  2710. X0000
  2711. X0000
  2712. X0000
  2713. X0000
  2714. X0000
  2715. X0000
  2716. X6300
  2717. X6300
  2718. X3300
  2719. X3600
  2720. X1600
  2721. X1C00
  2722. X0C00
  2723. X0C00
  2724. X4800
  2725. X7800
  2726. X3000
  2727. X0000
  2728. XFF80
  2729. XFF80
  2730. XENDCHAR
  2731. XSTARTCHAR H7a
  2732. XENCODING 122
  2733. XSWIDTH 562 0
  2734. XDWIDTH 9 0
  2735. XBBX 9 22 0 -7
  2736. XBITMAP
  2737. XFF80
  2738. XFF80
  2739. X0000
  2740. X0000
  2741. X0000
  2742. X0000
  2743. X0000
  2744. X0000
  2745. X7F00
  2746. X0600
  2747. X0C00
  2748. X1800
  2749. X3000
  2750. X6000
  2751. X7F00
  2752. X0000
  2753. X0000
  2754. X0000
  2755. X0000
  2756. X0000
  2757. XFF80
  2758. XFF80
  2759. XENDCHAR
  2760. XSTARTCHAR H7b
  2761. XENCODING 123
  2762. XSWIDTH 562 0
  2763. XDWIDTH 9 0
  2764. XBBX 9 22 0 -7
  2765. XBITMAP
  2766. XFF80
  2767. XFF80
  2768. X0000
  2769. X0000
  2770. X0F00
  2771. X1800
  2772. X1800
  2773. X1800
  2774. X1800
  2775. X1800
  2776. X7000
  2777. X1800
  2778. X1800
  2779. X1800
  2780. X1800
  2781. X1800
  2782. X0F00
  2783. X0000
  2784. X0000
  2785. X0000
  2786. XFF80
  2787. XFF80
  2788. XENDCHAR
  2789. XSTARTCHAR H7c
  2790. XENCODING 124
  2791. XSWIDTH 562 0
  2792. XDWIDTH 9 0
  2793. XBBX 9 22 0 -7
  2794. XBITMAP
  2795. XFF80
  2796. XFF80
  2797. X0000
  2798. X0000
  2799. X1800
  2800. X1800
  2801. X1800
  2802. X1800
  2803. X1800
  2804. X1800
  2805. X0000
  2806. X1800
  2807. X1800
  2808. X1800
  2809. X1800
  2810. X1800
  2811. X1800
  2812. X0000
  2813. X0000
  2814. X0000
  2815. XFF80
  2816. XFF80
  2817. XENDCHAR
  2818. XSTARTCHAR H7d
  2819. XENCODING 125
  2820. XSWIDTH 562 0
  2821. XDWIDTH 9 0
  2822. XBBX 9 22 0 -7
  2823. XBITMAP
  2824. XFF80
  2825. XFF80
  2826. X0000
  2827. X0000
  2828. X7800
  2829. X0C00
  2830. X0C00
  2831. X0C00
  2832. X0C00
  2833. X0C00
  2834. X0700
  2835. X0C00
  2836. X0C00
  2837. X0C00
  2838. X0C00
  2839. X0C00
  2840. X7800
  2841. X0000
  2842. X0000
  2843. X0000
  2844. XFF80
  2845. XFF80
  2846. XENDCHAR
  2847. XSTARTCHAR H7e
  2848. XENCODING 126
  2849. XSWIDTH 562 0
  2850. XDWIDTH 9 0
  2851. XBBX 9 22 0 -7
  2852. XBITMAP
  2853. XFF80
  2854. XFF80
  2855. X0000
  2856. X0000
  2857. X0000
  2858. X0000
  2859. X3B00
  2860. X7F00
  2861. X6E00
  2862. X0000
  2863. X0000
  2864. X0000
  2865. X0000
  2866. X0000
  2867. X0000
  2868. X0000
  2869. X0000
  2870. X0000
  2871. X0000
  2872. X0000
  2873. XFF80
  2874. XFF80
  2875. XENDCHAR
  2876. XENDFONT
  2877. END_OF_FILE
  2878. if test 18706 -ne `wc -c <'fonts/push-norm.bdf'`; then
  2879.     echo shar: \"'fonts/push-norm.bdf'\" unpacked with wrong size!
  2880. fi
  2881. # end of 'fonts/push-norm.bdf'
  2882. fi
  2883. if test -f 'master/master.c' -a "${1}" != "-c" ; then 
  2884.   echo shar: Will not clobber existing file \"'master/master.c'\"
  2885. else
  2886. echo shar: Extracting \"'master/master.c'\" \(18472 characters\)
  2887. sed "s/^X//" >'master/master.c' <<'END_OF_FILE'
  2888. X/*
  2889. X * Copyright (c) Ken W. Marks 1989, 1990.
  2890. X */
  2891. X
  2892. X#include <stdio.h>
  2893. X#include <fcntl.h>
  2894. X#include <X11/Intrinsic.h>
  2895. X#include <X11/StringDefs.h>
  2896. X#include <X11/Xaw/Form.h>
  2897. X#include <X11/Shell.h>
  2898. X#include <Chaos.h>
  2899. X#include <LocalDefs.h>
  2900. X#include <Menu.h>
  2901. X#include <MenuItems.h>
  2902. X#include <Canvas.h>
  2903. X#include <Task.h>
  2904. X#include <Ipc.h>
  2905. X#include <Colormap.h>
  2906. X
  2907. Xstatic void QuitFunc();
  2908. Xstatic void DrawFunc();
  2909. Xstatic void RedrawFunc();
  2910. Xstatic void ZoomFunc();
  2911. Xstatic void UnzoomFunc();
  2912. Xstatic void RezoomFunc();
  2913. Xstatic void TopFunc();
  2914. Xstatic void FileFunc();
  2915. Xstatic void ColormapFunc();
  2916. Xstatic void StartDroneFunc();
  2917. Xstatic void SettingsFunc();
  2918. X
  2919. Xextern void MakeTasksStale();
  2920. Xextern void WasteTasks();
  2921. Xextern void StartDrawing();
  2922. Xextern void DialogPopup();
  2923. Xextern void ColormapUpdateFileList();
  2924. Xextern void FileUpdateFileList();
  2925. Xextern void MessageSetup();
  2926. Xextern Widget ColormapCreateDialogbox();
  2927. Xextern Widget DroneCreateDialogbox();
  2928. Xextern Widget FileCreateDialogbox();
  2929. Xextern Widget SettingsCreateDialogbox();
  2930. Xextern Widget MessageCreateDialogbox();
  2931. Xextern Widget ConfirmCreateDialogbox();
  2932. Xextern Boolean SaveEverything();
  2933. Xextern Boolean LoadEverything();
  2934. X
  2935. Xvoid CleanupAndDie();
  2936. Xvoid BlatzZoomStack();
  2937. X
  2938. XDisplay *dpy;
  2939. XWidget top_level;
  2940. XWidget canvas;
  2941. XWidget colormap_dialogbox;
  2942. XWidget drone_dialogbox;
  2943. XWidget file_dialogbox;
  2944. XWidget settings_dialogbox;
  2945. XWidget message_dialogbox;
  2946. XWidget confirm_dialogbox;
  2947. XWidget menu;
  2948. XBoolean rotating = False;
  2949. XBoolean rotating_save;
  2950. XRotation rotation_dir = forward;
  2951. Xint colormap_alignment;
  2952. XColormap colormap;
  2953. Xint zoom_level = 0;
  2954. Xint num_zoom_levels = 0;
  2955. X
  2956. Xstatic Screen *screen;
  2957. Xstatic Widget menu_popup;
  2958. Xstatic Window window;
  2959. Xstatic char default_path[] = ".";
  2960. Xstatic char message[256];
  2961. X
  2962. Xstatic char *save_failed_msg =
  2963. X"Cannot write to file '%s/%s'!";
  2964. X
  2965. Xstatic char *load_failed_msg =
  2966. X"Cannot find file '%s/%s'!";
  2967. X
  2968. X/* default size of tasks */
  2969. X#define TASK_WIDTH              30
  2970. X#define TASK_HEIGHT             30
  2971. X
  2972. X/* default iteration limit */
  2973. X#define ITERATION_LIMIT         256
  2974. X
  2975. Xstruct AppResources
  2976. X{
  2977. X    char *map_dir;
  2978. X    char *image_dir;
  2979. X    char *zoom_dir;
  2980. X    int task_width;
  2981. X    int task_height;
  2982. X    Boolean keep_tasks_square;
  2983. X    Boolean retain_aspect_ratio;
  2984. X    int iteration_limit;
  2985. X    char *hosts;
  2986. X    char *drone_path;
  2987. X} app_resources;
  2988. X
  2989. X/* for external access to these application specific resources */
  2990. Xchar *map_dir;
  2991. Xchar *image_dir;
  2992. Xchar *zoom_dir;
  2993. Xint task_width;
  2994. Xint task_height;
  2995. XBoolean keep_tasks_square;
  2996. XBoolean retain_aspect_ratio;
  2997. Xint iteration_limit;
  2998. Xchar *hosts;
  2999. Xchar *drone_path;
  3000. X
  3001. X#define offset(field) XtOffset(struct AppResources *, field)
  3002. X
  3003. Xstatic XtResource resources[] = {
  3004. X    {XtNmapDir, XtCPath, XtRString, sizeof(String),
  3005. X    offset(map_dir), XtRString, (XtPointer) default_path},
  3006. X    {XtNimageDir, XtCPath, XtRString, sizeof(String),
  3007. X    offset(image_dir), XtRString, (XtPointer) default_path},
  3008. X    {XtNzoomDir, XtCPath, XtRString, sizeof(String),
  3009. X    offset(zoom_dir), XtRString, (XtPointer) default_path},
  3010. X    {XtNtaskWidth, XtCWidth, XtRInt, sizeof(int),
  3011. X    offset(task_width), XtRImmediate, (XtPointer) TASK_WIDTH},
  3012. X    {XtNtaskHeight, XtCHeight, XtRInt, sizeof(int),
  3013. X    offset(task_height), XtRImmediate, (XtPointer) TASK_HEIGHT},
  3014. X    {XtNkeepTasksSquare, XtCBoolean, XtRBoolean, sizeof(Boolean),
  3015. X    offset(keep_tasks_square), XtRImmediate, (XtPointer) True},
  3016. X    {XtNretainAspectRatio, XtCBoolean, XtRBoolean, sizeof(Boolean),
  3017. X    offset(retain_aspect_ratio), XtRImmediate, (XtPointer) True},
  3018. X    {XtNiterationLimit, XtCLimit, XtRInt, sizeof(int),
  3019. X    offset(iteration_limit), XtRImmediate, (XtPointer) ITERATION_LIMIT},
  3020. X    {XtNhosts, XtCHosts, XtRString, sizeof(String),
  3021. X    offset(hosts), XtRString, (XtPointer) NULL},
  3022. X    {XtNdronePath, XtCPath, XtRString, sizeof(String),
  3023. X    offset(drone_path), XtRString, (XtPointer) NULL},
  3024. X};
  3025. X
  3026. Xstatic XrmOptionDescRec options[] = {
  3027. X    {"-map", "mapDir", XrmoptionSepArg, NULL},
  3028. X    {"-image", "imageDir", XrmoptionSepArg, NULL},
  3029. X    {"-zoom", "zoomDir", XrmoptionSepArg, NULL},
  3030. X    {"-task_width", "taskWidth", XrmoptionSepArg, NULL},
  3031. X    {"-task_height", "taskHeight", XrmoptionSepArg, NULL},
  3032. X    {"-square", "keepTasksSquare", XrmoptionNoArg, "False"},
  3033. X    {"-aspect", "retainAspectRatio", XrmoptionNoArg, "False"},
  3034. X    {"-limit", "iterationLimit", XrmoptionSepArg, NULL},
  3035. X    {"-hosts", "hosts", XrmoptionSepArg, NULL},
  3036. X    {"-drone_path", "dronePath", XrmoptionSepArg, NULL},
  3037. X};
  3038. X
  3039. X/* Don't forget to update MenuItems.h if menu_items[] changes */
  3040. Xstatic MenuItem menu_items[] = {
  3041. X    {"Draw", DrawFunc, NULL, False},
  3042. X    {"Redraw", RedrawFunc, NULL, False},
  3043. X    {"Zoom", ZoomFunc, NULL, False},
  3044. X    {"Unzoom", UnzoomFunc, NULL, False},
  3045. X    {"Rezoom", RezoomFunc, NULL, False},
  3046. X    {"Top", TopFunc, NULL, False},
  3047. X    {"Files", FileFunc, NULL, True},
  3048. X    {"Drones", StartDroneFunc, NULL, True},
  3049. X    {"Colormap", ColormapFunc, NULL, True},
  3050. X    {"Settings", SettingsFunc, NULL, True},
  3051. X    {"Quit", QuitFunc, NULL, True},
  3052. X    {NULL, NULL, NULL, True},
  3053. X};
  3054. X
  3055. Xstatic Arg canvas_args[] = {
  3056. X    {XtNresizable, (XtArgVal) True},
  3057. X    {XtNhorizDistance, (XtArgVal) 0},
  3058. X    {XtNvertDistance, (XtArgVal) 0},
  3059. X    {XtNtop, (XtArgVal) XtChainTop},
  3060. X    {XtNbottom, (XtArgVal) XtChainBottom},
  3061. X    {XtNleft, (XtArgVal) XtChainLeft},
  3062. X    {XtNright, (XtArgVal) XtChainRight},
  3063. X};
  3064. X
  3065. Xstatic Arg menu_popup_args[] = {
  3066. X    {XtNborderWidth, (XtArgVal) 3},
  3067. X};
  3068. X
  3069. Xstatic Arg menu_args[] = {
  3070. X    {XtNmenuItems, (XtArgVal) menu_items},
  3071. X};
  3072. X
  3073. X
  3074. X/*ARGSUSED*/
  3075. Xstatic void QuitFunc(widget, data, item)
  3076. XWidget widget;            /* unused */
  3077. Xcaddr_t data;            /* unused */
  3078. XCardinal item;            /* unused */
  3079. X{
  3080. X    CleanupAndDie();
  3081. X}
  3082. X
  3083. X
  3084. X/*ARGSUSED*/
  3085. Xstatic void DrawFunc(widget, data, item)
  3086. XWidget widget;            /* unused */
  3087. Xcaddr_t data;            /* unused */
  3088. XCardinal item;            /* unused */
  3089. X{
  3090. X    StartDrawing(canvas);
  3091. X}
  3092. X
  3093. X
  3094. X/*ARGSUSED*/
  3095. Xstatic void RedrawFunc(widget, data, item)
  3096. XWidget widget;            /* unused */
  3097. Xcaddr_t data;            /* unused */
  3098. XCardinal item;            /* unused */
  3099. X{
  3100. X    CanvasClear(canvas);
  3101. X    MakeTasksStale();
  3102. X    WasteTasks();
  3103. X    StartDrawing(canvas);
  3104. X}
  3105. X
  3106. X
  3107. X/*ARGSUSED*/
  3108. Xstatic void ZoomFunc(widget, data, item)
  3109. XWidget widget;            /* unused */
  3110. Xcaddr_t data;            /* unused */
  3111. XCardinal item;            /* unused */
  3112. X{
  3113. X    char filename[32];
  3114. X    extern Boolean FileExists();
  3115. X    extern Boolean RemoveFile();
  3116. X
  3117. X    BlatzZoomStack();
  3118. X
  3119. X    /* We don't bother resaving everything if it hasn't changed since last
  3120. X     * time it was saved. */
  3121. X    if (CanvasNeedsSaving(canvas))
  3122. X    {
  3123. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3124. X    if (SaveEverything(zoom_dir, filename, True) == False)
  3125. X    {
  3126. X        /* Popup an error message box here */
  3127. X        (void) sprintf(message, save_failed_msg, zoom_dir, filename);
  3128. X        MessageSetup(message, (XtCallbackProc) NULL);
  3129. X        DialogPopup(message_dialogbox);
  3130. X        return;
  3131. X    }
  3132. X    }
  3133. X
  3134. X    ++zoom_level;
  3135. X    num_zoom_levels = zoom_level;
  3136. X
  3137. X    /* we can now allow tops */
  3138. X    (void) MenuChangeSensitivity(menu, MENU_TOP_ITEM, True);
  3139. X
  3140. X    /* we can now allow unzooms */
  3141. X    (void) MenuChangeSensitivity(menu, MENU_UNZOOM_ITEM, True);
  3142. X
  3143. X    /* zoom not allowed until another region is specified */
  3144. X    (void) MenuChangeSensitivity(menu, MENU_ZOOM_ITEM, False);
  3145. X
  3146. X    /* rezoom stack is destroyed by new zoom */
  3147. X    (void) MenuChangeSensitivity(menu, MENU_REZOOM_ITEM, False);
  3148. X
  3149. X    CanvasClear(canvas);
  3150. X    CanvasZoom(canvas);
  3151. X    MakeTasksStale();
  3152. X    WasteTasks();
  3153. X    StartDrawing(canvas);
  3154. X}
  3155. X
  3156. X
  3157. X/*ARGSUSED*/
  3158. Xstatic void UnzoomFunc(widget, data, item)
  3159. XWidget widget;            /* unused */
  3160. Xcaddr_t data;            /* unused */
  3161. XCardinal item;            /* unused */
  3162. X{
  3163. X    char filename[32];
  3164. X
  3165. X    /* We don't bother resaving everything if it hasn't changed since last
  3166. X     * time it was saved. */
  3167. X    if (CanvasNeedsSaving(canvas))
  3168. X    {
  3169. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3170. X    if (SaveEverything(zoom_dir, filename, True) == False)
  3171. X    {
  3172. X        /* Popup an error message box here */
  3173. X        (void) sprintf(message, save_failed_msg, zoom_dir, filename);
  3174. X        MessageSetup(message, (XtCallbackProc) NULL);
  3175. X        DialogPopup(message_dialogbox);
  3176. X        return;
  3177. X    }
  3178. X    }
  3179. X
  3180. X    if (zoom_level > num_zoom_levels)
  3181. X    num_zoom_levels = zoom_level;
  3182. X
  3183. X    --zoom_level;
  3184. X
  3185. X    if (zoom_level == 0)
  3186. X    {
  3187. X    /* cannot top any more */
  3188. X    (void) MenuChangeSensitivity(menu, MENU_TOP_ITEM, False);
  3189. X
  3190. X    /* cannot unzoom any more */
  3191. X    (void) MenuChangeSensitivity(menu, MENU_UNZOOM_ITEM, False);
  3192. X    }
  3193. X
  3194. X    /* zoom not allowed until another region is specified */
  3195. X    (void) MenuChangeSensitivity(menu, MENU_ZOOM_ITEM, False);
  3196. X
  3197. X    /* rezoom are now allowed */
  3198. X    (void) MenuChangeSensitivity(menu, MENU_REZOOM_ITEM, True);
  3199. X
  3200. X    MakeTasksStale();
  3201. X    WasteTasks();
  3202. X
  3203. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3204. X    if (LoadEverything(zoom_dir, filename) == False)
  3205. X    {
  3206. X    /* Popup an error message box here */
  3207. X    (void) sprintf(message, load_failed_msg, zoom_dir, filename);
  3208. X    MessageSetup(message, (XtCallbackProc) NULL);
  3209. X    DialogPopup(message_dialogbox);
  3210. X    }
  3211. X}
  3212. X
  3213. X
  3214. X/*ARGSUSED*/
  3215. Xstatic void RezoomFunc(widget, data, item)
  3216. XWidget widget;            /* unused */
  3217. Xcaddr_t data;            /* unused */
  3218. XCardinal item;            /* unused */
  3219. X{
  3220. X    char filename[32];
  3221. X
  3222. X    /* We don't bother resaving everything if it hasn't changed since last
  3223. X     * time it was saved. */
  3224. X    if (CanvasNeedsSaving(canvas))
  3225. X    {
  3226. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3227. X    if (SaveEverything(zoom_dir, filename, True) == False)
  3228. X    {
  3229. X        /* Popup an error message box here */
  3230. X        (void) sprintf(message, save_failed_msg, zoom_dir, filename);
  3231. X        MessageSetup(message, (XtCallbackProc) NULL);
  3232. X        DialogPopup(message_dialogbox);
  3233. X        return;
  3234. X    }
  3235. X    }
  3236. X
  3237. X    MakeTasksStale();
  3238. X    WasteTasks();
  3239. X
  3240. X    ++zoom_level;
  3241. X
  3242. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3243. X    if (LoadEverything(zoom_dir, filename) == False)
  3244. X    {
  3245. X    /* Popup an error message box here */
  3246. X    (void) sprintf(message, load_failed_msg, zoom_dir, filename);
  3247. X    MessageSetup(message, (XtCallbackProc) NULL);
  3248. X    DialogPopup(message_dialogbox);
  3249. X    return;
  3250. X    }
  3251. X
  3252. X    if (zoom_level == num_zoom_levels)
  3253. X    /* rezoom not allowed (at end of zoom stack) */
  3254. X    (void) MenuChangeSensitivity(menu, MENU_REZOOM_ITEM, False);
  3255. X
  3256. X    /* we can now allow tops */
  3257. X    (void) MenuChangeSensitivity(menu, MENU_TOP_ITEM, True);
  3258. X
  3259. X    /* we can now allow unzooms */
  3260. X    (void) MenuChangeSensitivity(menu, MENU_UNZOOM_ITEM, True);
  3261. X
  3262. X    /* zoom not allowed until another region is specified */
  3263. X    (void) MenuChangeSensitivity(menu, MENU_ZOOM_ITEM, False);
  3264. X}
  3265. X
  3266. X
  3267. X/*ARGSUSED*/
  3268. Xstatic void TopFunc(widget, data, item)
  3269. XWidget widget;            /* unused */
  3270. Xcaddr_t data;            /* unused */
  3271. XCardinal item;            /* unused */
  3272. X{
  3273. X    char filename[32];
  3274. X
  3275. X    /* Don't need to bother, we're already at the top */
  3276. X    if (zoom_level == 0)
  3277. X    return;
  3278. X
  3279. X    /* We don't bother resaving everything if it hasn't changed since last
  3280. X     * time it was saved. */
  3281. X    if (CanvasNeedsSaving(canvas))
  3282. X    {
  3283. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3284. X    if (SaveEverything(zoom_dir, filename, True) == False)
  3285. X    {
  3286. X        /* Popup an error message box here */
  3287. X        (void) sprintf(message, save_failed_msg, zoom_dir, filename);
  3288. X        MessageSetup(message, (XtCallbackProc) NULL);
  3289. X        DialogPopup(message_dialogbox);
  3290. X        return;
  3291. X    }
  3292. X    }
  3293. X
  3294. X    if (zoom_level > num_zoom_levels)
  3295. X    num_zoom_levels = zoom_level;
  3296. X
  3297. X    zoom_level = 0;
  3298. X
  3299. X    /* cannot top any more */
  3300. X    (void) MenuChangeSensitivity(menu, MENU_TOP_ITEM, False);
  3301. X
  3302. X    /* cannot unzoom any more */
  3303. X    (void) MenuChangeSensitivity(menu, MENU_UNZOOM_ITEM, False);
  3304. X
  3305. X    /* zoom not allowed until another region is specified */
  3306. X    (void) MenuChangeSensitivity(menu, MENU_ZOOM_ITEM, False);
  3307. X
  3308. X    if (zoom_level == num_zoom_levels)
  3309. X    /* rezoom not allowed (at end of zoom stack) */
  3310. X    (void) MenuChangeSensitivity(menu, MENU_REZOOM_ITEM, False);
  3311. X    else
  3312. X    /* rezoom is allowed (more zoom stack below us) */
  3313. X    (void) MenuChangeSensitivity(menu, MENU_REZOOM_ITEM, True);
  3314. X
  3315. X    MakeTasksStale();
  3316. X    WasteTasks();
  3317. X
  3318. X    (void) sprintf(filename, "LEVEL%02d.cif", zoom_level);
  3319. X    if (LoadEverything(zoom_dir, filename) == False)
  3320. X    {
  3321. X    /* Popup an error message box here */
  3322. X    (void) sprintf(message, load_failed_msg, zoom_dir, filename);
  3323. X    MessageSetup(message, (XtCallbackProc) NULL);
  3324. X    DialogPopup(message_dialogbox);
  3325. X    }
  3326. X}
  3327. X
  3328. X
  3329. X/*ARGSUSED*/
  3330. Xstatic void FileFunc(widget, data, item)
  3331. XWidget widget;            /* unused */
  3332. Xcaddr_t data;            /* unused */
  3333. XCardinal item;            /* unused */
  3334. X{
  3335. X    FileUpdateFileList();
  3336. X    DialogPopup(file_dialogbox);
  3337. X}
  3338. X
  3339. X
  3340. X/*ARGSUSED*/
  3341. Xstatic void StartDroneFunc(widget, data, item)
  3342. XWidget widget;            /* unused */
  3343. Xcaddr_t data;            /* unused */
  3344. XCardinal item;            /* unused */
  3345. X{
  3346. X    DialogPopup(drone_dialogbox);
  3347. X}
  3348. X
  3349. X
  3350. X/*ARGSUSED*/
  3351. Xstatic void ColormapFunc(widget, data, item)
  3352. XWidget widget;            /* unused */
  3353. Xcaddr_t data;            /* unused */
  3354. XCardinal item;            /* unused */
  3355. X{
  3356. X    extern void ColormapUpdateSliders();
  3357. X
  3358. X    rotating_save = rotating;
  3359. X    rotating = False;
  3360. X    colormap_alignment = GetColormapAlignment();
  3361. X    AlignColormap(dpy, colormap, NUM_RESERVED);
  3362. X    ColormapUpdateSliders();
  3363. X    ColormapUpdateFileList();
  3364. X    DialogPopup(colormap_dialogbox);
  3365. X}
  3366. X
  3367. X
  3368. X/*ARGSUSED*/
  3369. Xstatic void SettingsFunc(widget, data, item)
  3370. XWidget widget;            /* unused */
  3371. Xcaddr_t data;            /* unused */
  3372. XCardinal item;            /* unused */
  3373. X{
  3374. X    DialogPopup(settings_dialogbox);
  3375. X}
  3376. X
  3377. X
  3378. Xvoid CallStoreColormap()
  3379. X{
  3380. X    StoreColormap(dpy, colormap);
  3381. X}
  3382. X
  3383. X
  3384. Xvoid CleanupAndDie()
  3385. X{
  3386. X    zoom_level = -1;
  3387. X    /* Remove the entire zoom stack */
  3388. X    BlatzZoomStack();
  3389. X    exit(0);
  3390. X}
  3391. X
  3392. X
  3393. Xvoid BlatzZoomStack()
  3394. X{
  3395. X    char filename[32];
  3396. X    extern Boolean FileExists();
  3397. X    extern Boolean RemoveFile();
  3398. X
  3399. X    /* If a LEVEL file exists for lower levels blatz them. */
  3400. X    ++num_zoom_levels;
  3401. X    while (--num_zoom_levels > zoom_level)
  3402. X    {
  3403. X    (void) sprintf(filename, "LEVEL%02d.cif", num_zoom_levels);
  3404. X    if (FileExists(zoom_dir, filename))
  3405. X        if (RemoveFile(zoom_dir, filename) == False)
  3406. X        abort();
  3407. X    }
  3408. X}
  3409. X
  3410. X
  3411. XUsage(prog_name, terse)
  3412. Xchar *prog_name;
  3413. XBoolean terse;
  3414. X{
  3415. X    if (terse)
  3416. X    {
  3417. X    (void) fprintf(stderr, "Usage:\n    %s ", prog_name);
  3418. X    (void) fprintf(stderr, "[-help] ");
  3419. X    (void) fprintf(stderr, "[-map <pathname>] ");
  3420. X    (void) fprintf(stderr, "[-image <pathname>] ");
  3421. X    (void) fprintf(stderr, "[-zoom <pathname>] ");
  3422. X    (void) fprintf(stderr, "\n\t");
  3423. X    (void) fprintf(stderr, "[-task_width <int>] ");
  3424. X    (void) fprintf(stderr, "[-task_height <int>] ");
  3425. X    (void) fprintf(stderr, "[-square] ");
  3426. X    (void) fprintf(stderr, "[-aspect] ");
  3427. X    (void) fprintf(stderr, "\n\t");
  3428. X    (void) fprintf(stderr, "[-limit <int>] ");
  3429. X    (void) fprintf(stderr, "[-hosts <string>] ");
  3430. X    (void) fprintf(stderr, "\n\n");
  3431. X    (void) fprintf(stderr, "Type %s -help for a full description\n",
  3432. X      prog_name);
  3433. X    }
  3434. X    else
  3435. X    {
  3436. X    (void) fprintf(stderr, "Available options include:\n");
  3437. X    (void) fprintf(stderr, "    -help\t\t\tprovide this help message\n");
  3438. X    (void) fprintf(stderr, "    -map <pathname>\t\tpath to look for colormaps\n");
  3439. X    (void) fprintf(stderr, "    -image <pathname>\t\tpath to load/store images\n");
  3440. X    (void) fprintf(stderr, "    -zoom <pathname>\t\tpath to store image stack while zooming\n");
  3441. X    (void) fprintf(stderr, "    -task_width <int>\t\twidth of task region\n");
  3442. X    (void) fprintf(stderr, "    -task_height <int>\t\theight of task region\n");
  3443. X    (void) fprintf(stderr, "    -square\t\t\tturn off square task limitation\n");
  3444. X    (void) fprintf(stderr, "    -aspect\t\t\tturn off aspect ratio preservation\n");
  3445. X    (void) fprintf(stderr, "    -limit <int>\t\tmaximum iteration limit\n");
  3446. X    (void) fprintf(stderr, "    -hosts <string>\t\tlist of hosts on which to run drones\n");
  3447. X    }
  3448. X    exit(0);
  3449. X}
  3450. X
  3451. X
  3452. X
  3453. Xmain(argc, argv)
  3454. Xint argc;
  3455. Xchar **argv;
  3456. X{
  3457. X    XEvent event;
  3458. X    static char menu_popup_translations[] =
  3459. X    "<Btn3Down>:    popup(menu_popup.menu)\n";
  3460. X    extern int SubstituteErrorHandler();
  3461. X    extern void ShowEvent();
  3462. X
  3463. X    XSetErrorHandler(SubstituteErrorHandler);
  3464. X
  3465. X    top_level = XtInitialize(NULL, "Chaos", options, XtNumber(options),
  3466. X      &argc, argv);
  3467. X
  3468. X    if (argc > 1)
  3469. X    {
  3470. X    if (strcmp(argv[1], "-help") == 0)
  3471. X        Usage(argv[0], False);
  3472. X    else
  3473. X        Usage(argv[0], True);
  3474. X    }
  3475. X
  3476. X    XtGetApplicationResources(top_level, &app_resources, resources,
  3477. X      XtNumber(resources), NULL, 0);
  3478. X
  3479. X    /* provide simple external access to these application specific resources */
  3480. X    map_dir = app_resources.map_dir;
  3481. X    image_dir = app_resources.image_dir;
  3482. X    zoom_dir = app_resources.zoom_dir;
  3483. X    task_width = app_resources.task_width;
  3484. X    task_height = app_resources.task_height;
  3485. X    keep_tasks_square = app_resources.keep_tasks_square;
  3486. X    retain_aspect_ratio = app_resources.retain_aspect_ratio;
  3487. X    iteration_limit = app_resources.iteration_limit;
  3488. X    hosts = app_resources.hosts;
  3489. X    drone_path = app_resources.drone_path;
  3490. X
  3491. X    dpy = XtDisplay(top_level);
  3492. X    screen = XtScreen(top_level);
  3493. X
  3494. X    if (CellsOfScreen(screen) == 2)
  3495. X    {
  3496. X    /* Must be a monochrome screen - not currently supported */
  3497. X    printf("%s: Not currently supported on monochrome displays\n", argv[0]);
  3498. X    exit(0);
  3499. X    }
  3500. X
  3501. X    /* Don't let the X socket get inherited by child processes */
  3502. X    (void) fcntl(ConnectionNumber(dpy), F_SETFD, 1);
  3503. X
  3504. X    canvas = XtCreateManagedWidget("canvas", canvasWidgetClass,
  3505. X      top_level, canvas_args, XtNumber(canvas_args));
  3506. X
  3507. X    menu_popup = XtCreatePopupShell("menu_popup", overrideShellWidgetClass,
  3508. X      top_level, menu_popup_args, XtNumber(menu_popup_args));
  3509. X
  3510. X    menu = XtCreateManagedWidget("menu", menuWidgetClass, menu_popup,
  3511. X      menu_args, XtNumber(menu_args));
  3512. X
  3513. X    XtOverrideTranslations(canvas,
  3514. X      XtParseTranslationTable(menu_popup_translations));
  3515. X
  3516. X    colormap_dialogbox = ColormapCreateDialogbox(top_level);
  3517. X    drone_dialogbox = DroneCreateDialogbox(top_level);
  3518. X    file_dialogbox = FileCreateDialogbox(top_level);
  3519. X    settings_dialogbox = SettingsCreateDialogbox(top_level);
  3520. X    message_dialogbox = MessageCreateDialogbox(top_level);
  3521. X    confirm_dialogbox = ConfirmCreateDialogbox(top_level);
  3522. X
  3523. X    GetReservedColors(dpy, screen);
  3524. X    if (ReadColors(map_dir, "default.map") == False)
  3525. X    StoreHSB(1);
  3526. X
  3527. X    XtRealizeWidget(top_level);
  3528. X
  3529. X    window = XtWindow(top_level);
  3530. X
  3531. X    if (InitIpc(XtWindow(canvas)) == False)
  3532. X    {
  3533. X    eprintf("Could not initialize IPC\n");
  3534. X    abort();
  3535. X    }
  3536. X    SetOwner(CHAOS_WINDOW);
  3537. X
  3538. X    while (1)
  3539. X    {
  3540. X    if (rotating && !XPending(dpy))
  3541. X    {
  3542. X        RotateColormap(dpy, colormap, rotation_dir);
  3543. X    }
  3544. X    else
  3545. X    {
  3546. X        XtNextEvent(&event);
  3547. X        if (event.type == DestroyNotify)
  3548. X        {
  3549. X        event.xdestroywindow.event = XtWindow(canvas);
  3550. X#ifdef DEBUG
  3551. X        ShowEvent(&event);
  3552. X        (void) printf("\n");
  3553. X#endif
  3554. X        }
  3555. X        XtDispatchEvent(&event);
  3556. X#ifdef DEBUG
  3557. X        fflush(stdout);
  3558. X#endif
  3559. X    }
  3560. X    }
  3561. X}
  3562. END_OF_FILE
  3563. if test 18472 -ne `wc -c <'master/master.c'`; then
  3564.     echo shar: \"'master/master.c'\" unpacked with wrong size!
  3565. fi
  3566. # end of 'master/master.c'
  3567. fi
  3568. if test -f 'widgets/Palette.c' -a "${1}" != "-c" ; then 
  3569.   echo shar: Will not clobber existing file \"'widgets/Palette.c'\"
  3570. else
  3571. echo shar: Extracting \"'widgets/Palette.c'\" \(14272 characters\)
  3572. sed "s/^X//" >'widgets/Palette.c' <<'END_OF_FILE'
  3573. X/*
  3574. X * Copyright (c) Ken W. Marks 1989, 1990.
  3575. X */
  3576. X
  3577. X#include <stdio.h>
  3578. X#include <X11/IntrinsicP.h>
  3579. X#include <X11/StringDefs.h>
  3580. X#include <Chaos.h>
  3581. X#include <LocalDefs.h>
  3582. X#include <PaletteP.h>
  3583. X#include <Colormap.h>
  3584. X#include <DlgShell.h>
  3585. X
  3586. X#define ARROW            '\037'
  3587. X#define BLANK            '\036'
  3588. X
  3589. Xstatic void PaletteInitialize();
  3590. Xstatic void PaletteRealize();
  3591. Xstatic void PaletteRedisplay();
  3592. Xstatic void PaletteDestroy();
  3593. Xstatic void PaletteGoto();
  3594. Xstatic void PaletteDrawArrow();
  3595. Xstatic void PaletteChangeWithKey();
  3596. Xstatic void PaletteChangeWithButton();
  3597. Xstatic void PaletteFocusIn();
  3598. Xstatic void PaletteFocusOut();
  3599. Xstatic void PaletteMark();
  3600. Xstatic void PaletteBtnUp();
  3601. Xstatic void PaletteLeave();
  3602. Xstatic void PaletteMotion();
  3603. Xstatic void PaletteHighlightCell();
  3604. Xstatic void PaletteUnhighlightCell();
  3605. X
  3606. X#define offset(field) XtOffset(PaletteWidget, palette.field)
  3607. X#define goffset(field) XtOffset(Widget,core.field)
  3608. X
  3609. Xstatic XtResource palette_resources[] = {
  3610. X    {XtNcellSize, XtCCellSize, XtRDimension, sizeof(Dimension),
  3611. X    offset(cell_size), XtRImmediate, (caddr_t) 10},
  3612. X    {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel),
  3613. X    offset(foreground), XtRString, "Black"},
  3614. X    {XtNbackground, XtCBackground, XtRPixel, sizeof(Pixel),
  3615. X    goffset(background_pixel), XtRString, "White"},
  3616. X    {XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *),
  3617. X    offset(font), XtRString, "chaos-bold"},
  3618. X    {XtNcallback, XtCCallback, XtRCallback, sizeof(caddr_t),
  3619. X    offset(callbacks), XtRCallback, (caddr_t) NULL},
  3620. X    {XtNdialogbox, XtCWidget, XtRWidget, sizeof(Widget),
  3621. X    offset(dialogbox), XtRWidget, (caddr_t) NULL},
  3622. X};
  3623. X
  3624. Xstatic XtActionsRec palette_actions[] =
  3625. X{
  3626. X    {"mark", PaletteMark},
  3627. X    {"goto", PaletteGoto},
  3628. X    {"change", PaletteChangeWithKey},
  3629. X    {"focus_in", PaletteFocusIn},
  3630. X    {"focus_out", PaletteFocusOut},
  3631. X    {"release", PaletteBtnUp},
  3632. X    {"leave", PaletteLeave},
  3633. X    {"move", PaletteMotion},
  3634. X};
  3635. X
  3636. Xstatic char palette_translations[] =
  3637. X"<BtnDown>:        mark()\n\
  3638. X <BtnUp>:        release()\n\
  3639. X <Motion>:        move()\n\
  3640. X <Leave>:        leave()\n\
  3641. X Shift<Key>Tab:        goto(PREV)\n\
  3642. X <Key>Tab:        goto(NEXT)\n\
  3643. X <Key>Left:        change(LEFT)\n\
  3644. X <Key>Right:        change(RIGHT)\n\
  3645. X <Key>Up:        change(UP)\n\
  3646. X <Key>Down:        change(DOWN)\n\
  3647. X <FocusIn>:        focus_in()\n\
  3648. X <FocusOut>:        focus_out()\n\
  3649. X";
  3650. X
  3651. X#define superclass        (&simpleClassRec)
  3652. X
  3653. XPaletteClassRec paletteClassRec = {
  3654. X    {
  3655. X    /* core fields          */
  3656. X     /* superclass         */ (WidgetClass) superclass,
  3657. X     /* class_name         */ "Palette",
  3658. X     /* widget_size         */ sizeof(PaletteRec),
  3659. X     /* class_initialize     */ NULL,
  3660. X     /* class_part_initialize */ NULL,
  3661. X     /* class_inited     */ FALSE,
  3662. X     /* initialize         */ PaletteInitialize,
  3663. X     /* initialize_hook     */ NULL,
  3664. X     /* realize         */ PaletteRealize,
  3665. X     /* actions         */ palette_actions,
  3666. X     /* num_actions         */ XtNumber(palette_actions),
  3667. X     /* resources         */ palette_resources,
  3668. X     /* resource_count     */ XtNumber(palette_resources),
  3669. X     /* xrm_class         */ NULLQUARK,
  3670. X     /* compress_motion     */ TRUE,
  3671. X     /* compress_exposure     */ TRUE,
  3672. X     /* compress_enterleave     */ TRUE,
  3673. X     /* visible_interest     */ FALSE,
  3674. X     /* destroy         */ PaletteDestroy,
  3675. X     /* resize         */ NULL,
  3676. X     /* expose         */ PaletteRedisplay,
  3677. X     /* set_values         */ NULL,
  3678. X     /* set_values_hook     */ NULL,
  3679. X     /* set_values_almost     */ XtInheritSetValuesAlmost,
  3680. X     /* get_values_hook     */ NULL,
  3681. X     /* accept_focus     */ NULL,
  3682. X     /* version         */ XtVersion,
  3683. X     /* callback_private     */ NULL,
  3684. X     /* tm_table         */ palette_translations,
  3685. X     /* query_geometry       */ NULL,
  3686. X     /* display_accelerator     */ XtInheritDisplayAccelerator,
  3687. X     /* extension         */ NULL
  3688. X    },
  3689. X    {
  3690. X    /* Simple class fields initialization */
  3691. X     /* change_sensitive     */ XtInheritChangeSensitive
  3692. X    }
  3693. X};
  3694. X
  3695. X
  3696. XWidgetClass paletteWidgetClass = (WidgetClass) & paletteClassRec;
  3697. X
  3698. X
  3699. X/************************************************************/
  3700. X/******************** Private Procedures ********************/
  3701. X/************************************************************/
  3702. X
  3703. X
  3704. Xstatic void PaletteGetGC(w)
  3705. XPaletteWidget w;
  3706. X{
  3707. X    XGCValues values;
  3708. X
  3709. X    values.foreground = w->palette.foreground;
  3710. X    values.background = w->core.background_pixel;
  3711. X    values.font = w->palette.font->fid;
  3712. X    values.line_width = 2;
  3713. X
  3714. X    w->palette.normal_gc = XtGetGC((Widget) w, (unsigned) GCForeground |
  3715. X      GCBackground | GCFont | GCLineWidth, &values);
  3716. X
  3717. X    values.foreground = values.background;
  3718. X
  3719. X    w->palette.clear_gc = XtGetGC((Widget) w, (unsigned) GCForeground |
  3720. X      GCBackground | GCFont, &values);
  3721. X
  3722. X    values.background = w->palette.foreground;
  3723. X
  3724. X    w->palette.reverse_gc = XtGetGC((Widget) w, (unsigned) GCForeground |
  3725. X      GCBackground | GCFont | GCLineWidth, &values);
  3726. X}
  3727. X
  3728. X
  3729. Xstatic void PaletteSetSize(w)
  3730. XPaletteWidget w;
  3731. X{
  3732. X    XtWidgetGeometry my_request;
  3733. X    XFontStruct *fs = w->palette.font;
  3734. X    Cardinal width = fs->max_bounds.width;
  3735. X    Cardinal array_size = (w->palette.unit_space * 16) + 4;
  3736. X
  3737. X    w->palette.baseline = fs->max_bounds.ascent + 1;
  3738. X    w->palette.char_width = width;
  3739. X
  3740. X    my_request.request_mode = CWWidth | CWHeight | CWBorderWidth;
  3741. X    my_request.width = width + array_size;
  3742. X    my_request.height = array_size;
  3743. X    my_request.border_width = 0;
  3744. X
  3745. X    XtMakeGeometryRequest((Widget) w, &my_request, NULL);
  3746. X}
  3747. X
  3748. X
  3749. X/*ARGSUSED*/
  3750. Xstatic void PaletteInitialize(request, new)
  3751. XWidget request;            /* unused */
  3752. XWidget new;
  3753. X{
  3754. X    PaletteWidget w = (PaletteWidget) new;
  3755. X
  3756. X    if (w->palette.dialogbox == NULL)
  3757. X    {
  3758. X    eprintf("XtNdialogbox not set\n");
  3759. X    abort();
  3760. X    }
  3761. X
  3762. X    w->palette.x_pos = NUM_RESERVED;
  3763. X    w->palette.y_pos = 0;
  3764. X    w->palette.unit_space = w->palette.cell_size + 2;
  3765. X    w->palette.active = False;
  3766. X    w->palette.scrolling = False;
  3767. X
  3768. X    PaletteGetGC(w);
  3769. X    PaletteSetSize(w);
  3770. X}
  3771. X
  3772. X
  3773. Xstatic void PaletteRealize(widget, valueMask, attrs)
  3774. XWidget widget;
  3775. XXtValueMask *valueMask;
  3776. XXSetWindowAttributes *attrs;
  3777. X{
  3778. X    PaletteWidget w = (PaletteWidget) widget;
  3779. X    Display *dpy = XtDisplay(w);
  3780. X    Window window;
  3781. X    int ii, jj;
  3782. X    unsigned long color = 0;
  3783. X
  3784. X    XtCreateWindow(widget, InputOutput, (Visual *) CopyFromParent,
  3785. X      *valueMask, attrs);
  3786. X
  3787. X    window = XtWindow(w);
  3788. X
  3789. X    w->palette.pixmap = XCreatePixmap(dpy, window, w->core.width,
  3790. X      w->core.height, w->core.depth);
  3791. X
  3792. X    if (!w->palette.pixmap)
  3793. X    {
  3794. X    eprintf("Insufficient space for pixmap\n");
  3795. X    abort();
  3796. X    }
  3797. X
  3798. X    XFillRectangle(dpy, w->palette.pixmap, w->palette.clear_gc, 0, 0,
  3799. X      w->palette.char_width, w->core.height);
  3800. X
  3801. X    XFillRectangle(dpy, w->palette.pixmap, w->palette.normal_gc,
  3802. X      w->palette.char_width, 0, w->core.width - w->palette.char_width,
  3803. X      w->core.height);
  3804. X
  3805. X    for (ii = 0; ii < 16; ii++)
  3806. X    for (jj = 0; jj < 16; jj++, color++)
  3807. X    {
  3808. X        XSetForeground(dpy, w->palette.normal_gc, color);
  3809. X        XFillRectangle(dpy, w->palette.pixmap, w->palette.normal_gc,
  3810. X          w->palette.char_width + 3 + w->palette.unit_space * jj,
  3811. X          3 + w->palette.unit_space * ii, w->palette.cell_size,
  3812. X          w->palette.cell_size);
  3813. X    }
  3814. X    XSetForeground(dpy, w->palette.normal_gc, w->palette.foreground);
  3815. X}
  3816. X
  3817. X
  3818. X
  3819. X/*ARGSUSED*/
  3820. Xstatic void PaletteRedisplay(widget, event, region)
  3821. XWidget widget;
  3822. XXEvent *event;
  3823. XRegion region;            /* unused */
  3824. X{
  3825. X    PaletteWidget w = (PaletteWidget) widget;
  3826. X    Display *dpy = XtDisplay(w);
  3827. X    Window window = XtWindow(w);
  3828. X    XExposeEvent *ev = (XExposeEvent *) event;
  3829. X
  3830. X    if (XtIsRealized(widget) == False)
  3831. X    return;
  3832. X
  3833. X    XCopyArea(dpy, w->palette.pixmap, window, w->palette.normal_gc,
  3834. X      ev->x, ev->y, (unsigned) ev->width, (unsigned) ev->height, ev->x, ev->y);
  3835. X
  3836. X    PaletteDrawArrow(widget);
  3837. X    PaletteHighlightCell(widget);
  3838. X}
  3839. X
  3840. X
  3841. Xstatic void PaletteDestroy(widget)
  3842. XWidget widget;
  3843. X{
  3844. X    PaletteWidget w = (PaletteWidget) widget;
  3845. X
  3846. X    XtReleaseGC(widget, w->palette.normal_gc);
  3847. X    XtReleaseGC(widget, w->palette.clear_gc);
  3848. X    XtReleaseGC(widget, w->palette.reverse_gc);
  3849. X}
  3850. X
  3851. X
  3852. Xstatic void PaletteDrawArrow(widget)
  3853. XWidget widget;
  3854. X{
  3855. X    PaletteWidget w = (PaletteWidget) widget;
  3856. X    Display *dpy = XtDisplay(w);
  3857. X    Window window = XtWindow(w);
  3858. X    char active_string[1];
  3859. X
  3860. X    /* must convert the arrow/blank char into string for printing */
  3861. X    active_string[0] = w->palette.active ? ARROW : BLANK;
  3862. X
  3863. X    XDrawImageString(dpy, window, w->palette.normal_gc, 0,
  3864. X      (int) w->palette.baseline, active_string, 1);
  3865. X}
  3866. X
  3867. X
  3868. Xstatic void PaletteHighlightCell(widget)
  3869. XWidget widget;
  3870. X{
  3871. X    PaletteWidget w = (PaletteWidget) widget;
  3872. X    Display *dpy = XtDisplay(w);
  3873. X    Window window = XtWindow(w);
  3874. X    int x, y;
  3875. X
  3876. X    x = w->palette.char_width + 2 + w->palette.unit_space * w->palette.x_pos;
  3877. X    y = 2 + w->palette.unit_space * w->palette.y_pos;
  3878. X
  3879. X    XDrawRectangle(dpy, window, w->palette.reverse_gc, x, y,
  3880. X      (unsigned) w->palette.unit_space, (unsigned) w->palette.unit_space);
  3881. X}
  3882. X
  3883. X
  3884. Xstatic void PaletteUnhighlightCell(widget)
  3885. XWidget widget;
  3886. X{
  3887. X    PaletteWidget w = (PaletteWidget) widget;
  3888. X    Display *dpy = XtDisplay(w);
  3889. X    Window window = XtWindow(w);
  3890. X    int x, y;
  3891. X
  3892. X    x = w->palette.char_width + 2 + w->palette.unit_space * w->palette.x_pos;
  3893. X    y = 2 + w->palette.unit_space * w->palette.y_pos;
  3894. X
  3895. X    XDrawRectangle(dpy, window, w->palette.normal_gc, x, y,
  3896. X      w->palette.unit_space, w->palette.unit_space);
  3897. X}
  3898. X
  3899. X
  3900. X/***********************************************************/
  3901. X/******************** Action Procedures ********************/
  3902. X/***********************************************************/
  3903. X
  3904. X
  3905. X/*ARGSUSED*/
  3906. Xstatic void PaletteFocusIn(widget, event, params, num_params)
  3907. XWidget widget;
  3908. XXEvent *event;
  3909. XString *params;
  3910. XCardinal *num_params;        /* unused */
  3911. X{
  3912. X    PaletteWidget w = (PaletteWidget) widget;
  3913. X
  3914. X    if (w->palette.active == False)
  3915. X    {
  3916. X    w->palette.active = True;
  3917. X    PaletteDrawArrow(widget);
  3918. X    }
  3919. X}
  3920. X
  3921. X
  3922. X/*ARGSUSED*/
  3923. Xstatic void PaletteFocusOut(widget, event, params, num_params)
  3924. XWidget widget;
  3925. XXEvent *event;
  3926. XString *params;
  3927. XCardinal *num_params;        /* unused */
  3928. X{
  3929. X    PaletteWidget w = (PaletteWidget) widget;
  3930. X
  3931. X    if (w->palette.active == True)
  3932. X    {
  3933. X    w->palette.active = False;
  3934. X    PaletteDrawArrow(widget);
  3935. X    }
  3936. X}
  3937. X
  3938. X
  3939. X/* ARGSUSED */
  3940. Xstatic void PaletteGoto(widget, event, params, num_params)
  3941. XWidget widget;
  3942. XXEvent *event;            /* unused */
  3943. XString *params;
  3944. XCardinal *num_params;        /* unused */
  3945. X{
  3946. X    PaletteWidget w = (PaletteWidget) widget;
  3947. X
  3948. X    switch (params[0][0])
  3949. X    {
  3950. X    case 'P':
  3951. X    DialogSetPrevFocus(w->palette.dialogbox);
  3952. X    break;
  3953. X
  3954. X    case 'N':
  3955. X    DialogSetNextFocus(w->palette.dialogbox);
  3956. X    break;
  3957. X    }
  3958. X
  3959. X    w->palette.active = False;
  3960. X    PaletteDrawArrow(widget);
  3961. X}
  3962. X
  3963. X
  3964. X/* ARGSUSED */
  3965. Xstatic void PaletteChangeWithKey(widget, event, params, num_params)
  3966. XWidget widget;
  3967. XXEvent *event;            /* unused */
  3968. XString *params;
  3969. XCardinal *num_params;        /* unused */
  3970. X{
  3971. X    PaletteWidget w = (PaletteWidget) widget;
  3972. X
  3973. X    switch (params[0][0])
  3974. X    {
  3975. X    case 'L':
  3976. X    if (w->palette.x_pos <= 0)
  3977. X        return;
  3978. X
  3979. X    /* don't allow reserved pixels (0 to NUM_RESERVED-1) to be altered */
  3980. X    if (w->palette.x_pos == NUM_RESERVED && w->palette.y_pos == 0)
  3981. X        return;
  3982. X
  3983. X    PaletteUnhighlightCell(widget);
  3984. X    --w->palette.x_pos;
  3985. X    PaletteHighlightCell(widget);
  3986. X    break;
  3987. X
  3988. X    case 'R':
  3989. X    if (w->palette.x_pos >= 15)
  3990. X        return;
  3991. X
  3992. X    PaletteUnhighlightCell(widget);
  3993. X    ++w->palette.x_pos;
  3994. X    PaletteHighlightCell(widget);
  3995. X    break;
  3996. X
  3997. X    case 'U':
  3998. X    if (w->palette.y_pos <= 0)
  3999. X        return;
  4000. X
  4001. X    /* don't allow reserved pixels (0 to NUM_RESERVED-1) to be altered */
  4002. X    if (w->palette.y_pos == 1 && w->palette.x_pos < NUM_RESERVED)
  4003. X        return;
  4004. X
  4005. X    PaletteUnhighlightCell(widget);
  4006. X    --w->palette.y_pos;
  4007. X    PaletteHighlightCell(widget);
  4008. X    break;
  4009. X
  4010. X    case 'D':
  4011. X    if (w->palette.y_pos >= 15)
  4012. X        return;
  4013. X
  4014. X    PaletteUnhighlightCell(widget);
  4015. X    ++w->palette.y_pos;
  4016. X    PaletteHighlightCell(widget);
  4017. X    break;
  4018. X    }
  4019. X    XtCallCallbacks(widget, XtNcallback, (XtPointer) (w->palette.y_pos * 16 +
  4020. X    w->palette.x_pos));
  4021. X}
  4022. X
  4023. X
  4024. Xstatic void PaletteChangeWithButton(widget, x, y)
  4025. XWidget widget;
  4026. Xint x;
  4027. Xint y;
  4028. X{
  4029. X    PaletteWidget w = (PaletteWidget) widget;
  4030. X    int new_x_pos, new_y_pos;
  4031. X
  4032. X    new_x_pos = (x - w->palette.char_width - 2) / w->palette.unit_space;
  4033. X    new_y_pos = (y - 2) / w->palette.unit_space;
  4034. X
  4035. X    if (new_x_pos < 0 || new_x_pos > 15 || new_y_pos < 0 || new_y_pos > 15)
  4036. X    return;
  4037. X
  4038. X    if (new_x_pos == w->palette.x_pos && new_y_pos == w->palette.y_pos)
  4039. X    return;
  4040. X
  4041. X    /* don't allow reserved pixels (0 to NUM_RESERVED-1) to be altered */
  4042. X    if (new_x_pos < NUM_RESERVED && new_y_pos == 0)
  4043. X    return;
  4044. X
  4045. X    PaletteUnhighlightCell(widget);
  4046. X
  4047. X    w->palette.x_pos = new_x_pos;
  4048. X    w->palette.y_pos = new_y_pos;
  4049. X
  4050. X    PaletteHighlightCell(widget);
  4051. X
  4052. X    XtCallCallbacks(widget, XtNcallback, (XtPointer) (w->palette.y_pos * 16 +
  4053. X    w->palette.x_pos));
  4054. X}
  4055. X
  4056. X
  4057. X/*ARGSUSED*/
  4058. Xstatic void PaletteMark(widget, event, params, num_params)
  4059. XWidget widget;
  4060. XXEvent *event;
  4061. XString *params;            /* unused */
  4062. XCardinal *num_params;        /* unused */
  4063. X{
  4064. X    PaletteWidget w = (PaletteWidget) widget;
  4065. X    XButtonEvent *ev = (XButtonEvent *) & event->xbutton;
  4066. X
  4067. X    w->palette.active = True;
  4068. X    w->palette.scrolling = True;
  4069. X    DialogSetNewFocus(w->palette.dialogbox, widget);
  4070. X
  4071. X    PaletteDrawArrow(widget);
  4072. X    PaletteChangeWithButton(widget, ev->x, ev->y);
  4073. X}
  4074. X
  4075. X
  4076. X/*ARGSUSED*/
  4077. Xstatic void PaletteBtnUp(widget, event, params, num_params)
  4078. XWidget widget;
  4079. XXEvent *event;
  4080. XString *params;            /* unused */
  4081. XCardinal *num_params;        /* unused */
  4082. X{
  4083. X    PaletteWidget w = (PaletteWidget) widget;
  4084. X    XButtonEvent *ev = (XButtonEvent *) & event->xbutton;
  4085. X
  4086. X    w->palette.scrolling = False;
  4087. X    PaletteChangeWithButton(widget, ev->x, ev->y);
  4088. X}
  4089. X
  4090. X
  4091. X/*ARGSUSED*/
  4092. Xstatic void PaletteLeave(widget, event, params, num_params)
  4093. XWidget widget;
  4094. XXEvent *event;
  4095. XString *params;            /* unused */
  4096. XCardinal *num_params;        /* unused */
  4097. X{
  4098. X    PaletteWidget w = (PaletteWidget) widget;
  4099. X    XCrossingEvent *ev = (XCrossingEvent *) & event->xcrossing;
  4100. X
  4101. X    if (w->palette.scrolling == False)
  4102. X    return;
  4103. X
  4104. X    w->palette.scrolling = False;
  4105. X    PaletteChangeWithButton(widget, ev->x, ev->y);
  4106. X}
  4107. X
  4108. X
  4109. X/*ARGSUSED*/
  4110. Xstatic void PaletteMotion(widget, event, params, num_params)
  4111. XWidget widget;
  4112. XXEvent *event;
  4113. XString *params;            /* unused */
  4114. XCardinal *num_params;        /* unused */
  4115. X{
  4116. X    PaletteWidget w = (PaletteWidget) widget;
  4117. X    Display *dpy = XtDisplay(w);
  4118. X    Window window = XtWindow(w);
  4119. X    XMotionEvent *ev = (XMotionEvent *) & event->xmotion;
  4120. X
  4121. X    /* Always skip ahead to the latest ButtomMotionEvent in the queue */
  4122. X    /* SUPPRESS 530 */
  4123. X    while (XCheckWindowEvent(dpy, window, ButtonMotionMask, ev));
  4124. X
  4125. X    if (w->palette.scrolling == False)
  4126. X    return;
  4127. X
  4128. X    PaletteChangeWithButton(widget, ev->x, ev->y);
  4129. X}
  4130. END_OF_FILE
  4131. if test 14272 -ne `wc -c <'widgets/Palette.c'`; then
  4132.     echo shar: \"'widgets/Palette.c'\" unpacked with wrong size!
  4133. fi
  4134. # end of 'widgets/Palette.c'
  4135. fi
  4136. echo shar: End of archive 3 \(of 10\).
  4137. cp /dev/null ark3isdone
  4138. MISSING=""
  4139. for I in 1 2 3 4 5 6 7 8 9 10 ; do
  4140.     if test ! -f ark${I}isdone ; then
  4141.     MISSING="${MISSING} ${I}"
  4142.     fi
  4143. done
  4144. if test "${MISSING}" = "" ; then
  4145.     echo You have unpacked all 10 archives.
  4146.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  4147. else
  4148.     echo You still need to unpack the following archives:
  4149.     echo "        " ${MISSING}
  4150. fi
  4151. ##  End of shell archive.
  4152. exit 0
  4153.  
  4154. dan
  4155. ----------------------------------------------------
  4156. O'Reilly && Associates   argv@sun.com / argv@ora.com
  4157. Opinions expressed reflect those of the author only.
  4158.