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

  1. Path: uunet!wuarchive!usc!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: v08i080: chaos, Part04/10
  5. Message-ID: <140958@sun.Eng.Sun.COM>
  6. Date: 20 Aug 90 18:04:04 GMT
  7. Sender: news@sun.Eng.Sun.COM
  8. Lines: 4140
  9. Approved: argv@sun.com
  10.  
  11. Submitted-by: balr!panasun!ken@uunet.UU.NET (Ken Marks (x2425))
  12. Posting-number: Volume 8, Issue 80
  13. Archive-name: chaos/part04
  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 4 (of 10)."
  22. # Contents:  fonts/push-rev.bdf master/colormapDb.c widgets/Compound.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-rev.bdf' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'fonts/push-rev.bdf'\"
  27. else
  28. echo shar: Extracting \"'fonts/push-rev.bdf'\" \(18705 characters\)
  29. sed "s/^X//" >'fonts/push-rev.bdf' <<'END_OF_FILE'
  30. XSTARTFONT 2.1
  31. XFONT push-rev
  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. X0E00
  48. X1880
  49. X3380
  50. X6780
  51. X4F80
  52. XDF80
  53. X9F80
  54. XBF80
  55. XBF80
  56. XBF80
  57. XBF80
  58. XBF80
  59. XBF80
  60. X9F80
  61. XDF80
  62. X4F80
  63. X6780
  64. X3380
  65. X1880
  66. X0E00
  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. X3800
  77. X8C00
  78. XE600
  79. XF300
  80. XF900
  81. XFD80
  82. XFC80
  83. XFE80
  84. XFE80
  85. XFE80
  86. XFE80
  87. XFE80
  88. XFE80
  89. XFC80
  90. XFD80
  91. XF900
  92. XF300
  93. XE600
  94. X8C00
  95. X3800
  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. X0000
  129. XFF80
  130. XFF80
  131. XFF80
  132. XFF80
  133. XFF80
  134. XFF80
  135. XFF80
  136. XFF80
  137. XFF80
  138. XFF80
  139. XFF80
  140. XFF80
  141. XFF80
  142. XFF80
  143. XFF80
  144. XFF80
  145. XFF80
  146. XFF80
  147. X0000
  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. X0000
  158. XFF80
  159. XFF80
  160. XFF80
  161. XE780
  162. XE780
  163. XE780
  164. XE780
  165. XE780
  166. XE780
  167. XE780
  168. XFF80
  169. XE780
  170. XE780
  171. XFF80
  172. XFF80
  173. XFF80
  174. XFF80
  175. XFF80
  176. X0000
  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. X0000
  187. XFF80
  188. XFF80
  189. XFF80
  190. XC980
  191. XC980
  192. XC980
  193. XC980
  194. XFF80
  195. XFF80
  196. XFF80
  197. XFF80
  198. XFF80
  199. XFF80
  200. XFF80
  201. XFF80
  202. XFF80
  203. XFF80
  204. XFF80
  205. X0000
  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. X0000
  216. XFF80
  217. XFF80
  218. XFF80
  219. XE480
  220. XE480
  221. XE480
  222. X8000
  223. XC980
  224. XC980
  225. X0080
  226. X9380
  227. X9380
  228. X9380
  229. XFF80
  230. XFF80
  231. XFF80
  232. XFF80
  233. XFF80
  234. X0000
  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. X0000
  245. XFF80
  246. XFF80
  247. XF780
  248. XC180
  249. X9480
  250. X9480
  251. X9480
  252. XC780
  253. XF180
  254. X9480
  255. X9480
  256. X9480
  257. XC180
  258. XF780
  259. XFF80
  260. XFF80
  261. XFF80
  262. XFF80
  263. X0000
  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. X0000
  274. XFF80
  275. XFF80
  276. XFF80
  277. X8980
  278. X6980
  279. X6380
  280. X1380
  281. XE780
  282. XE780
  283. XC880
  284. XC680
  285. X9680
  286. X9180
  287. XFF80
  288. XFF80
  289. XFF80
  290. XFF80
  291. XFF80
  292. X0000
  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. X0000
  303. XFF80
  304. XFF80
  305. XFF80
  306. XC780
  307. X9380
  308. X9380
  309. XC780
  310. XCF80
  311. X8480
  312. X2180
  313. X3380
  314. X2380
  315. X8880
  316. XFF80
  317. XFF80
  318. XFF80
  319. XFF80
  320. XFF80
  321. X0000
  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. X0000
  332. XFF80
  333. XFF80
  334. XFF80
  335. XF380
  336. XF380
  337. XE780
  338. XCF80
  339. XFF80
  340. XFF80
  341. XFF80
  342. XFF80
  343. XFF80
  344. XFF80
  345. XFF80
  346. XFF80
  347. XFF80
  348. XFF80
  349. XFF80
  350. X0000
  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. X0000
  361. XFF80
  362. XFF80
  363. XF980
  364. XF380
  365. XE780
  366. XE780
  367. XCF80
  368. XCF80
  369. XCF80
  370. XCF80
  371. XCF80
  372. XE780
  373. XE780
  374. XF380
  375. XF980
  376. XFF80
  377. XFF80
  378. XFF80
  379. X0000
  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. X0000
  390. XFF80
  391. XFF80
  392. XCF80
  393. XE780
  394. XF380
  395. XF380
  396. XF980
  397. XF980
  398. XF980
  399. XF980
  400. XF980
  401. XF380
  402. XF380
  403. XE780
  404. XCF80
  405. XFF80
  406. XFF80
  407. XFF80
  408. X0000
  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. X0000
  419. XFF80
  420. XFF80
  421. XFF80
  422. XFF80
  423. XE780
  424. XA580
  425. X8180
  426. XC380
  427. X8180
  428. XA580
  429. XE780
  430. XFF80
  431. XFF80
  432. XFF80
  433. XFF80
  434. XFF80
  435. XFF80
  436. XFF80
  437. X0000
  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. X0000
  448. XFF80
  449. XFF80
  450. XFF80
  451. XFF80
  452. XFF80
  453. XE780
  454. XE780
  455. XE780
  456. X0080
  457. X0080
  458. XE780
  459. XE780
  460. XE780
  461. XFF80
  462. XFF80
  463. XFF80
  464. XFF80
  465. XFF80
  466. X0000
  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. X0000
  477. XFF80
  478. XFF80
  479. XFF80
  480. XFF80
  481. XFF80
  482. XFF80
  483. XFF80
  484. XFF80
  485. XFF80
  486. XFF80
  487. XFF80
  488. XE780
  489. XE780
  490. XF780
  491. XEF80
  492. XDF80
  493. XFF80
  494. XFF80
  495. X0000
  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. X0000
  506. XFF80
  507. XFF80
  508. XFF80
  509. XFF80
  510. XFF80
  511. XFF80
  512. XFF80
  513. XFF80
  514. X8080
  515. X8080
  516. XFF80
  517. XFF80
  518. XFF80
  519. XFF80
  520. XFF80
  521. XFF80
  522. XFF80
  523. XFF80
  524. X0000
  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. X0000
  535. XFF80
  536. XFF80
  537. XFF80
  538. XFF80
  539. XFF80
  540. XFF80
  541. XFF80
  542. XFF80
  543. XFF80
  544. XFF80
  545. XFF80
  546. XE780
  547. XE780
  548. XFF80
  549. XFF80
  550. XFF80
  551. XFF80
  552. XFF80
  553. X0000
  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. X0000
  564. XFF80
  565. XFF80
  566. XFC80
  567. XF980
  568. XF980
  569. XF380
  570. XF380
  571. XE780
  572. XE780
  573. XCF80
  574. XCF80
  575. X9F80
  576. X9F80
  577. X3F80
  578. XFF80
  579. XFF80
  580. XFF80
  581. XFF80
  582. X0000
  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. X0000
  593. XFF80
  594. XFF80
  595. XFF80
  596. XC180
  597. X9C80
  598. X9880
  599. X9880
  600. X9480
  601. X9480
  602. X8C80
  603. X8C80
  604. X9C80
  605. XC180
  606. XFF80
  607. XFF80
  608. XFF80
  609. XFF80
  610. XFF80
  611. X0000
  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. X0000
  622. XFF80
  623. XFF80
  624. XFF80
  625. XF380
  626. XE380
  627. XC380
  628. XF380
  629. XF380
  630. XF380
  631. XF380
  632. XF380
  633. XF380
  634. XC080
  635. XFF80
  636. XFF80
  637. XFF80
  638. XFF80
  639. XFF80
  640. X0000
  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. X0000
  651. XFF80
  652. XFF80
  653. XFF80
  654. XC180
  655. X9C80
  656. X9C80
  657. XFC80
  658. XF980
  659. XF380
  660. XE780
  661. XCF80
  662. X9E80
  663. X8080
  664. XFF80
  665. XFF80
  666. XFF80
  667. XFF80
  668. XFF80
  669. X0000
  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. X0000
  680. XFF80
  681. XFF80
  682. XFF80
  683. XC180
  684. X9C80
  685. X9C80
  686. XFC80
  687. XE180
  688. XF880
  689. XFC80
  690. X9C80
  691. X9C80
  692. XC180
  693. XFF80
  694. XFF80
  695. XFF80
  696. XFF80
  697. XFF80
  698. X0000
  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. X0000
  709. XFF80
  710. XFF80
  711. XFF80
  712. XFD80
  713. XF980
  714. XF180
  715. XE180
  716. XC980
  717. X9980
  718. X3980
  719. X0080
  720. XF980
  721. XF980
  722. XFF80
  723. XFF80
  724. XFF80
  725. XFF80
  726. XFF80
  727. X0000
  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. X0000
  738. XFF80
  739. XFF80
  740. XFF80
  741. X8080
  742. X9F80
  743. X9F80
  744. X8180
  745. XFC80
  746. XFC80
  747. XFC80
  748. X9C80
  749. X9C80
  750. XC180
  751. XFF80
  752. XFF80
  753. XFF80
  754. XFF80
  755. XFF80
  756. X0000
  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. X0000
  767. XFF80
  768. XFF80
  769. XFF80
  770. XC180
  771. X9C80
  772. X9F80
  773. X9F80
  774. X8180
  775. X9C80
  776. X9C80
  777. X9C80
  778. X9C80
  779. XC180
  780. XFF80
  781. XFF80
  782. XFF80
  783. XFF80
  784. XFF80
  785. X0000
  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. X0000
  796. XFF80
  797. XFF80
  798. XFF80
  799. X8080
  800. XBC80
  801. XBC80
  802. XF980
  803. XF980
  804. XF380
  805. XF380
  806. XE780
  807. XE780
  808. XE780
  809. XFF80
  810. XFF80
  811. XFF80
  812. XFF80
  813. XFF80
  814. X0000
  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. X0000
  825. XFF80
  826. XFF80
  827. XFF80
  828. XC180
  829. X9C80
  830. X9C80
  831. X9C80
  832. XC180
  833. X9C80
  834. X9C80
  835. X9C80
  836. X9C80
  837. XC180
  838. XFF80
  839. XFF80
  840. XFF80
  841. XFF80
  842. XFF80
  843. X0000
  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. X0000
  854. XFF80
  855. XFF80
  856. XFF80
  857. XC180
  858. X9C80
  859. X9C80
  860. X9C80
  861. X9C80
  862. XC080
  863. XFC80
  864. XFC80
  865. X9C80
  866. XC180
  867. XFF80
  868. XFF80
  869. XFF80
  870. XFF80
  871. XFF80
  872. X0000
  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. X0000
  883. XFF80
  884. XFF80
  885. XFF80
  886. XFF80
  887. XFF80
  888. XFF80
  889. XE780
  890. XE780
  891. XFF80
  892. XFF80
  893. XFF80
  894. XE780
  895. XE780
  896. XFF80
  897. XFF80
  898. XFF80
  899. XFF80
  900. XFF80
  901. X0000
  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. X0000
  912. XFF80
  913. XFF80
  914. XFF80
  915. XFF80
  916. XFF80
  917. XFF80
  918. XE780
  919. XE780
  920. XFF80
  921. XFF80
  922. XFF80
  923. XE780
  924. XE780
  925. XF780
  926. XEF80
  927. XDF80
  928. XFF80
  929. XFF80
  930. X0000
  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. X0000
  941. XFF80
  942. XFF80
  943. XFC80
  944. XF980
  945. XF380
  946. XE780
  947. XCF80
  948. X9F80
  949. XCF80
  950. XE780
  951. XF380
  952. XF980
  953. XFC80
  954. XFF80
  955. XFF80
  956. XFF80
  957. XFF80
  958. XFF80
  959. X0000
  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. X0000
  970. XFF80
  971. XFF80
  972. XFF80
  973. XFF80
  974. XFF80
  975. XFF80
  976. X8080
  977. X8080
  978. XFF80
  979. XFF80
  980. X8080
  981. X8080
  982. XFF80
  983. XFF80
  984. XFF80
  985. XFF80
  986. XFF80
  987. XFF80
  988. X0000
  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. X0000
  999. XFF80
  1000. XFF80
  1001. X9F80
  1002. XCF80
  1003. XE780
  1004. XF380
  1005. XF980
  1006. XFC80
  1007. XF980
  1008. XF380
  1009. XE780
  1010. XCF80
  1011. X9F80
  1012. XFF80
  1013. XFF80
  1014. XFF80
  1015. XFF80
  1016. XFF80
  1017. X0000
  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. X0000
  1028. XFF80
  1029. XFF80
  1030. XFF80
  1031. XC180
  1032. X9C80
  1033. X9C80
  1034. XFC80
  1035. XF980
  1036. XF380
  1037. XF380
  1038. XFF80
  1039. XF380
  1040. XF380
  1041. XFF80
  1042. XFF80
  1043. XFF80
  1044. XFF80
  1045. XFF80
  1046. X0000
  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. X0000
  1057. XFF80
  1058. XFF80
  1059. XFF80
  1060. XE380
  1061. XC980
  1062. X9C80
  1063. X9080
  1064. X9480
  1065. X9480
  1066. X9180
  1067. X9F80
  1068. XCC80
  1069. XE180
  1070. XFF80
  1071. XFF80
  1072. XFF80
  1073. XFF80
  1074. XFF80
  1075. X0000
  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. X0000
  1086. XFF80
  1087. XFF80
  1088. XFF80
  1089. XF780
  1090. XE380
  1091. XE380
  1092. XC980
  1093. XC980
  1094. XC980
  1095. X9C80
  1096. X8080
  1097. X9C80
  1098. X9C80
  1099. XFF80
  1100. XFF80
  1101. XFF80
  1102. XFF80
  1103. XFF80
  1104. X0000
  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. X0000
  1115. XFF80
  1116. XFF80
  1117. XFF80
  1118. X8380
  1119. X9980
  1120. X9980
  1121. X9980
  1122. X8380
  1123. X9980
  1124. X9C80
  1125. X9C80
  1126. X9C80
  1127. X8180
  1128. XFF80
  1129. XFF80
  1130. XFF80
  1131. XFF80
  1132. XFF80
  1133. X0000
  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. X0000
  1144. XFF80
  1145. XFF80
  1146. XFF80
  1147. XC180
  1148. X9C80
  1149. X9C80
  1150. X9F80
  1151. X9F80
  1152. X9F80
  1153. X9F80
  1154. X9C80
  1155. X9C80
  1156. XC180
  1157. XFF80
  1158. XFF80
  1159. XFF80
  1160. XFF80
  1161. XFF80
  1162. X0000
  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. X0000
  1173. XFF80
  1174. XFF80
  1175. XFF80
  1176. X8380
  1177. X9980
  1178. X9C80
  1179. X9C80
  1180. X9C80
  1181. X9C80
  1182. X9C80
  1183. X9C80
  1184. X9980
  1185. X8380
  1186. XFF80
  1187. XFF80
  1188. XFF80
  1189. XFF80
  1190. XFF80
  1191. X0000
  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. X0000
  1202. XFF80
  1203. XFF80
  1204. XFF80
  1205. X8080
  1206. X9F80
  1207. X9F80
  1208. X9F80
  1209. X8180
  1210. X9F80
  1211. X9F80
  1212. X9F80
  1213. X9F80
  1214. X8080
  1215. XFF80
  1216. XFF80
  1217. XFF80
  1218. XFF80
  1219. XFF80
  1220. X0000
  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. X0000
  1231. XFF80
  1232. XFF80
  1233. XFF80
  1234. X8080
  1235. X9F80
  1236. X9F80
  1237. X9F80
  1238. X8180
  1239. X9F80
  1240. X9F80
  1241. X9F80
  1242. X9F80
  1243. X9F80
  1244. XFF80
  1245. XFF80
  1246. XFF80
  1247. XFF80
  1248. XFF80
  1249. X0000
  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. X0000
  1260. XFF80
  1261. XFF80
  1262. XFF80
  1263. XC180
  1264. X9C80
  1265. X9C80
  1266. X9F80
  1267. X9F80
  1268. X9880
  1269. X9C80
  1270. X9C80
  1271. X9880
  1272. XC280
  1273. XFF80
  1274. XFF80
  1275. XFF80
  1276. XFF80
  1277. XFF80
  1278. X0000
  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. X0000
  1289. XFF80
  1290. XFF80
  1291. XFF80
  1292. X9C80
  1293. X9C80
  1294. X9C80
  1295. X9C80
  1296. X8080
  1297. X9C80
  1298. X9C80
  1299. X9C80
  1300. X9C80
  1301. X9C80
  1302. XFF80
  1303. XFF80
  1304. XFF80
  1305. XFF80
  1306. XFF80
  1307. X0000
  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. X0000
  1318. XFF80
  1319. XFF80
  1320. XFF80
  1321. X8180
  1322. XE780
  1323. XE780
  1324. XE780
  1325. XE780
  1326. XE780
  1327. XE780
  1328. XE780
  1329. XE780
  1330. X8180
  1331. XFF80
  1332. XFF80
  1333. XFF80
  1334. XFF80
  1335. XFF80
  1336. X0000
  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. X0000
  1347. XFF80
  1348. XFF80
  1349. XFF80
  1350. XE080
  1351. XF980
  1352. XF980
  1353. XF980
  1354. XF980
  1355. XF980
  1356. XF980
  1357. X9980
  1358. X9980
  1359. XC380
  1360. XFF80
  1361. XFF80
  1362. XFF80
  1363. XFF80
  1364. XFF80
  1365. X0000
  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. X0000
  1376. XFF80
  1377. XFF80
  1378. XFF80
  1379. X9C80
  1380. X9980
  1381. X9380
  1382. X8780
  1383. X8380
  1384. X9380
  1385. X9980
  1386. X9980
  1387. X9C80
  1388. X9C80
  1389. XFF80
  1390. XFF80
  1391. XFF80
  1392. XFF80
  1393. XFF80
  1394. X0000
  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. X0000
  1405. XFF80
  1406. XFF80
  1407. XFF80
  1408. X9F80
  1409. X9F80
  1410. X9F80
  1411. X9F80
  1412. X9F80
  1413. X9F80
  1414. X9F80
  1415. X9F80
  1416. X9F80
  1417. X8080
  1418. XFF80
  1419. XFF80
  1420. XFF80
  1421. XFF80
  1422. XFF80
  1423. X0000
  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. X0000
  1434. XFF80
  1435. XFF80
  1436. XFF80
  1437. X3C80
  1438. X3C80
  1439. X1880
  1440. X1880
  1441. X0080
  1442. X2480
  1443. X2480
  1444. X3C80
  1445. X3C80
  1446. X3C80
  1447. XFF80
  1448. XFF80
  1449. XFF80
  1450. XFF80
  1451. XFF80
  1452. X0000
  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. X0000
  1463. XFF80
  1464. XFF80
  1465. XFF80
  1466. X9C80
  1467. X9C80
  1468. X8C80
  1469. X8C80
  1470. X8480
  1471. X9480
  1472. X9080
  1473. X9880
  1474. X9880
  1475. X9C80
  1476. XFF80
  1477. XFF80
  1478. XFF80
  1479. XFF80
  1480. XFF80
  1481. X0000
  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. X0000
  1492. XFF80
  1493. XFF80
  1494. XFF80
  1495. XC180
  1496. X9C80
  1497. X9C80
  1498. X9C80
  1499. X9C80
  1500. X9C80
  1501. X9C80
  1502. X9C80
  1503. X9C80
  1504. XC180
  1505. XFF80
  1506. XFF80
  1507. XFF80
  1508. XFF80
  1509. XFF80
  1510. X0000
  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. X0000
  1521. XFF80
  1522. XFF80
  1523. XFF80
  1524. X8180
  1525. X9C80
  1526. X9C80
  1527. X9C80
  1528. X9C80
  1529. X8180
  1530. X9F80
  1531. X9F80
  1532. X9F80
  1533. X9F80
  1534. XFF80
  1535. XFF80
  1536. XFF80
  1537. XFF80
  1538. XFF80
  1539. X0000
  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. X0000
  1550. XFF80
  1551. XFF80
  1552. XFF80
  1553. XC180
  1554. X9C80
  1555. X9C80
  1556. X9C80
  1557. X9C80
  1558. X9C80
  1559. X9C80
  1560. X9C80
  1561. X9C80
  1562. XC180
  1563. XE780
  1564. XF380
  1565. XF880
  1566. XFF80
  1567. XFF80
  1568. X0000
  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. X0000
  1579. XFF80
  1580. XFF80
  1581. XFF80
  1582. X8180
  1583. X9C80
  1584. X9C80
  1585. X9C80
  1586. X8180
  1587. X9380
  1588. X9980
  1589. X9980
  1590. X9C80
  1591. X9C80
  1592. XFF80
  1593. XFF80
  1594. XFF80
  1595. XFF80
  1596. XFF80
  1597. X0000
  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. X0000
  1608. XFF80
  1609. XFF80
  1610. XFF80
  1611. XC180
  1612. X9C80
  1613. X9C80
  1614. XCF80
  1615. XE380
  1616. XF980
  1617. XFC80
  1618. X9C80
  1619. X9C80
  1620. XC180
  1621. XFF80
  1622. XFF80
  1623. XFF80
  1624. XFF80
  1625. XFF80
  1626. X0000
  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. X0000
  1637. XFF80
  1638. XFF80
  1639. XFF80
  1640. X0080
  1641. XE780
  1642. XE780
  1643. XE780
  1644. XE780
  1645. XE780
  1646. XE780
  1647. XE780
  1648. XE780
  1649. XE780
  1650. XFF80
  1651. XFF80
  1652. XFF80
  1653. XFF80
  1654. XFF80
  1655. X0000
  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. X0000
  1666. XFF80
  1667. XFF80
  1668. XFF80
  1669. X9C80
  1670. X9C80
  1671. X9C80
  1672. X9C80
  1673. X9C80
  1674. X9C80
  1675. X9C80
  1676. X9C80
  1677. X9C80
  1678. XC180
  1679. XFF80
  1680. XFF80
  1681. XFF80
  1682. XFF80
  1683. XFF80
  1684. X0000
  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. X0000
  1695. XFF80
  1696. XFF80
  1697. XFF80
  1698. X9C80
  1699. X9C80
  1700. X9C80
  1701. XC980
  1702. XC980
  1703. XC980
  1704. XE380
  1705. XE380
  1706. XF780
  1707. XF780
  1708. XFF80
  1709. XFF80
  1710. XFF80
  1711. XFF80
  1712. XFF80
  1713. X0000
  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. X0000
  1724. XFF80
  1725. XFF80
  1726. XFF80
  1727. X3E7F
  1728. X367F
  1729. X367F
  1730. X227F
  1731. XA280
  1732. X8880
  1733. X8880
  1734. XC980
  1735. XDD80
  1736. XDD80
  1737. XFF80
  1738. XFF80
  1739. XFF80
  1740. XFF80
  1741. XFF80
  1742. X0000
  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. X0000
  1753. XFF80
  1754. XFF80
  1755. XFF80
  1756. X9C80
  1757. X9C80
  1758. XC980
  1759. XC980
  1760. XE380
  1761. XE380
  1762. XC980
  1763. XC980
  1764. X9C80
  1765. X9C80
  1766. XFF80
  1767. XFF80
  1768. XFF80
  1769. XFF80
  1770. XFF80
  1771. X0000
  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. X0000
  1782. XFF80
  1783. XFF80
  1784. XFF80
  1785. X3C80
  1786. X3C80
  1787. X9980
  1788. X9980
  1789. XC380
  1790. XE780
  1791. XE780
  1792. XE780
  1793. XE780
  1794. XE780
  1795. XFF80
  1796. XFF80
  1797. XFF80
  1798. XFF80
  1799. XFF80
  1800. X0000
  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. X0000
  1811. XFF80
  1812. XFF80
  1813. XFF80
  1814. X8080
  1815. XFC80
  1816. XFC80
  1817. XF980
  1818. XF380
  1819. XE780
  1820. XCF80
  1821. X9F80
  1822. X9F80
  1823. X8080
  1824. XFF80
  1825. XFF80
  1826. XFF80
  1827. XFF80
  1828. XFF80
  1829. X0000
  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. X0000
  1840. XFF80
  1841. XFF80
  1842. XC180
  1843. XCF80
  1844. XCF80
  1845. XCF80
  1846. XCF80
  1847. XCF80
  1848. XCF80
  1849. XCF80
  1850. XCF80
  1851. XCF80
  1852. XCF80
  1853. XCF80
  1854. XC180
  1855. XFF80
  1856. XFF80
  1857. XFF80
  1858. X0000
  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. X0000
  1869. XFF80
  1870. XFF80
  1871. X3F80
  1872. X9F80
  1873. X9F80
  1874. XCF80
  1875. XCF80
  1876. XE780
  1877. XE780
  1878. XF380
  1879. XF380
  1880. XF980
  1881. XF980
  1882. XFC80
  1883. XFF80
  1884. XFF80
  1885. XFF80
  1886. XFF80
  1887. X0000
  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. X0000
  1898. XFF80
  1899. XFF80
  1900. XC180
  1901. XF980
  1902. XF980
  1903. XF980
  1904. XF980
  1905. XF980
  1906. XF980
  1907. XF980
  1908. XF980
  1909. XF980
  1910. XF980
  1911. XF980
  1912. XC180
  1913. XFF80
  1914. XFF80
  1915. XFF80
  1916. X0000
  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. X0000
  1927. XFF80
  1928. XFF80
  1929. XFF80
  1930. XF780
  1931. XE380
  1932. XC980
  1933. X9C80
  1934. XFF80
  1935. XFF80
  1936. XFF80
  1937. XFF80
  1938. XFF80
  1939. XFF80
  1940. XFF80
  1941. XFF80
  1942. XFF80
  1943. XFF80
  1944. XFF80
  1945. X0000
  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. X0000
  1956. XFF80
  1957. XFF80
  1958. XFF80
  1959. XFF80
  1960. XFF80
  1961. XFF80
  1962. XFF80
  1963. XFF80
  1964. XFF80
  1965. XFF80
  1966. XFF80
  1967. XFF80
  1968. XFF80
  1969. X0000
  1970. X0000
  1971. XFF80
  1972. XFF80
  1973. XFF80
  1974. X0000
  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. X0000
  1985. XFF80
  1986. XFF80
  1987. XFF80
  1988. XCF80
  1989. XCF80
  1990. XE780
  1991. XF380
  1992. XFF80
  1993. XFF80
  1994. XFF80
  1995. XFF80
  1996. XFF80
  1997. XFF80
  1998. XFF80
  1999. XFF80
  2000. XFF80
  2001. XFF80
  2002. XFF80
  2003. X0000
  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. X0000
  2014. XFF80
  2015. XFF80
  2016. XFF80
  2017. XFF80
  2018. XFF80
  2019. XFF80
  2020. XC380
  2021. X9980
  2022. XF980
  2023. XC180
  2024. X9980
  2025. X9980
  2026. XC080
  2027. XFF80
  2028. XFF80
  2029. XFF80
  2030. XFF80
  2031. XFF80
  2032. X0000
  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. X0000
  2043. XFF80
  2044. XFF80
  2045. XFF80
  2046. X9F80
  2047. X9F80
  2048. X9F80
  2049. X9180
  2050. X8C80
  2051. X9C80
  2052. X9C80
  2053. X9C80
  2054. X8C80
  2055. X9180
  2056. XFF80
  2057. XFF80
  2058. XFF80
  2059. XFF80
  2060. XFF80
  2061. X0000
  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. X0000
  2072. XFF80
  2073. XFF80
  2074. XFF80
  2075. XFF80
  2076. XFF80
  2077. XFF80
  2078. XC180
  2079. X9C80
  2080. X9F80
  2081. X9F80
  2082. X9F80
  2083. X9C80
  2084. XC180
  2085. XFF80
  2086. XFF80
  2087. XFF80
  2088. XFF80
  2089. XFF80
  2090. X0000
  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. X0000
  2101. XFF80
  2102. XFF80
  2103. XFF80
  2104. XFC80
  2105. XFC80
  2106. XFC80
  2107. XC480
  2108. X9880
  2109. X9C80
  2110. X9C80
  2111. X9C80
  2112. X9880
  2113. XC480
  2114. XFF80
  2115. XFF80
  2116. XFF80
  2117. XFF80
  2118. XFF80
  2119. X0000
  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. X0000
  2130. XFF80
  2131. XFF80
  2132. XFF80
  2133. XFF80
  2134. XFF80
  2135. XFF80
  2136. XC180
  2137. X9C80
  2138. X9C80
  2139. X8080
  2140. X9F80
  2141. X9C80
  2142. XC180
  2143. XFF80
  2144. XFF80
  2145. XFF80
  2146. XFF80
  2147. XFF80
  2148. X0000
  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. X0000
  2159. XFF80
  2160. XFF80
  2161. XFF80
  2162. XF180
  2163. XE480
  2164. XE780
  2165. XE780
  2166. X8180
  2167. XE780
  2168. XE780
  2169. XE780
  2170. XE780
  2171. XE780
  2172. XFF80
  2173. XFF80
  2174. XFF80
  2175. XFF80
  2176. XFF80
  2177. X0000
  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. X0000
  2188. XFF80
  2189. XFF80
  2190. XFF80
  2191. XFF80
  2192. XFF80
  2193. XC480
  2194. X9880
  2195. X9C80
  2196. X9C80
  2197. X9C80
  2198. X9880
  2199. XC480
  2200. XFC80
  2201. X9C80
  2202. XC180
  2203. XFF80
  2204. XFF80
  2205. XFF80
  2206. X0000
  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. X0000
  2217. XFF80
  2218. XFF80
  2219. XFF80
  2220. X9F80
  2221. X9F80
  2222. X9F80
  2223. X9180
  2224. X8C80
  2225. X9C80
  2226. X9C80
  2227. X9C80
  2228. X9C80
  2229. X9C80
  2230. XFF80
  2231. XFF80
  2232. XFF80
  2233. XFF80
  2234. XFF80
  2235. X0000
  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. X0000
  2246. XFF80
  2247. XFF80
  2248. XFF80
  2249. XF380
  2250. XF380
  2251. XFF80
  2252. XC380
  2253. XF380
  2254. XF380
  2255. XF380
  2256. XF380
  2257. XF380
  2258. XF380
  2259. XFF80
  2260. XFF80
  2261. XFF80
  2262. XFF80
  2263. XFF80
  2264. X0000
  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. X0000
  2275. XFF80
  2276. XFF80
  2277. XFF80
  2278. XF980
  2279. XF980
  2280. XFF80
  2281. XE180
  2282. XF980
  2283. XF980
  2284. XF980
  2285. XF980
  2286. XF980
  2287. XF980
  2288. XF980
  2289. X9980
  2290. XC380
  2291. XFF80
  2292. XFF80
  2293. X0000
  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. X0000
  2304. XFF80
  2305. XFF80
  2306. XFF80
  2307. X9F80
  2308. X9F80
  2309. X9F80
  2310. X9980
  2311. X9380
  2312. X8780
  2313. X8780
  2314. X9380
  2315. X9980
  2316. X9C80
  2317. XFF80
  2318. XFF80
  2319. XFF80
  2320. XFF80
  2321. XFF80
  2322. X0000
  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. X0000
  2333. XFF80
  2334. XFF80
  2335. XFF80
  2336. XC380
  2337. XF380
  2338. XF380
  2339. XF380
  2340. XF380
  2341. XF380
  2342. XF380
  2343. XF380
  2344. XF380
  2345. XF380
  2346. XFF80
  2347. XFF80
  2348. XFF80
  2349. XFF80
  2350. XFF80
  2351. X0000
  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. X0000
  2362. XFF80
  2363. XFF80
  2364. XFF80
  2365. XFF80
  2366. XFF80
  2367. XFF80
  2368. X4980
  2369. X2480
  2370. X2480
  2371. X2480
  2372. X2480
  2373. X2480
  2374. X2480
  2375. XFF80
  2376. XFF80
  2377. XFF80
  2378. XFF80
  2379. XFF80
  2380. X0000
  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. X0000
  2391. XFF80
  2392. XFF80
  2393. XFF80
  2394. XFF80
  2395. XFF80
  2396. XFF80
  2397. XA180
  2398. X8C80
  2399. X9C80
  2400. X9C80
  2401. X9C80
  2402. X9C80
  2403. X9C80
  2404. XFF80
  2405. XFF80
  2406. XFF80
  2407. XFF80
  2408. XFF80
  2409. X0000
  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. X0000
  2420. XFF80
  2421. XFF80
  2422. XFF80
  2423. XFF80
  2424. XFF80
  2425. XFF80
  2426. XC180
  2427. X9C80
  2428. X9C80
  2429. X9C80
  2430. X9C80
  2431. X9C80
  2432. XC180
  2433. XFF80
  2434. XFF80
  2435. XFF80
  2436. XFF80
  2437. XFF80
  2438. X0000
  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. X0000
  2449. XFF80
  2450. XFF80
  2451. XFF80
  2452. XFF80
  2453. XFF80
  2454. XFF80
  2455. X9180
  2456. X8C80
  2457. X9C80
  2458. X9C80
  2459. X9C80
  2460. X8C80
  2461. X9180
  2462. X9F80
  2463. X9F80
  2464. X9F80
  2465. X9F80
  2466. XFF80
  2467. X0000
  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. X0000
  2478. XFF80
  2479. XFF80
  2480. XFF80
  2481. XFF80
  2482. XFF80
  2483. XFF80
  2484. XC480
  2485. X9880
  2486. X9C80
  2487. X9C80
  2488. X9C80
  2489. X9880
  2490. XC480
  2491. XFC80
  2492. XFC80
  2493. XFC80
  2494. XFC80
  2495. XFF80
  2496. X0000
  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. X0000
  2507. XFF80
  2508. XFF80
  2509. XFF80
  2510. XFF80
  2511. XFF80
  2512. XFF80
  2513. X9180
  2514. X8480
  2515. X9F80
  2516. X9F80
  2517. X9F80
  2518. X9F80
  2519. X9F80
  2520. XFF80
  2521. XFF80
  2522. XFF80
  2523. XFF80
  2524. XFF80
  2525. X0000
  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. X0000
  2536. XFF80
  2537. XFF80
  2538. XFF80
  2539. XFF80
  2540. XFF80
  2541. XFF80
  2542. XC180
  2543. X9C80
  2544. X9F80
  2545. XC180
  2546. XFC80
  2547. X9C80
  2548. XC180
  2549. XFF80
  2550. XFF80
  2551. XFF80
  2552. XFF80
  2553. XFF80
  2554. X0000
  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. X0000
  2565. XFF80
  2566. XFF80
  2567. XFF80
  2568. XE780
  2569. XE780
  2570. XE780
  2571. X8180
  2572. XE780
  2573. XE780
  2574. XE780
  2575. XE780
  2576. XE480
  2577. XF180
  2578. XFF80
  2579. XFF80
  2580. XFF80
  2581. XFF80
  2582. XFF80
  2583. X0000
  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. X0000
  2594. XFF80
  2595. XFF80
  2596. XFF80
  2597. XFF80
  2598. XFF80
  2599. XFF80
  2600. X9C80
  2601. X9C80
  2602. X9C80
  2603. X9C80
  2604. X9C80
  2605. X9880
  2606. XC480
  2607. XFF80
  2608. XFF80
  2609. XFF80
  2610. XFF80
  2611. XFF80
  2612. X0000
  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. X0000
  2623. XFF80
  2624. XFF80
  2625. XFF80
  2626. XFF80
  2627. XFF80
  2628. XFF80
  2629. X9C80
  2630. X9C80
  2631. XC980
  2632. XC980
  2633. XE380
  2634. XE380
  2635. XF780
  2636. XFF80
  2637. XFF80
  2638. XFF80
  2639. XFF80
  2640. XFF80
  2641. X0000
  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. X0000
  2652. XFF80
  2653. XFF80
  2654. XFF80
  2655. XFF80
  2656. XFF80
  2657. XFF80
  2658. X3C80
  2659. X3C80
  2660. X2480
  2661. X2480
  2662. X2480
  2663. X2480
  2664. X8180
  2665. XFF80
  2666. XFF80
  2667. XFF80
  2668. XFF80
  2669. XFF80
  2670. X0000
  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. X0000
  2681. XFF80
  2682. XFF80
  2683. XFF80
  2684. XFF80
  2685. XFF80
  2686. XFF80
  2687. X9980
  2688. X9980
  2689. XC380
  2690. XE780
  2691. XC380
  2692. X9980
  2693. X9980
  2694. XFF80
  2695. XFF80
  2696. XFF80
  2697. XFF80
  2698. XFF80
  2699. X0000
  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. X0000
  2710. XFF80
  2711. XFF80
  2712. XFF80
  2713. XFF80
  2714. XFF80
  2715. XFF80
  2716. X9C80
  2717. X9C80
  2718. XCC80
  2719. XC980
  2720. XE980
  2721. XE380
  2722. XF380
  2723. XF380
  2724. XB780
  2725. X8780
  2726. XCF80
  2727. XFF80
  2728. X0000
  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. X0000
  2739. XFF80
  2740. XFF80
  2741. XFF80
  2742. XFF80
  2743. XFF80
  2744. XFF80
  2745. X8080
  2746. XF980
  2747. XF380
  2748. XE780
  2749. XCF80
  2750. X9F80
  2751. X8080
  2752. XFF80
  2753. XFF80
  2754. XFF80
  2755. XFF80
  2756. XFF80
  2757. X0000
  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. X0000
  2768. XFF80
  2769. XFF80
  2770. XF080
  2771. XE780
  2772. XE780
  2773. XE780
  2774. XE780
  2775. XE780
  2776. X8F80
  2777. XE780
  2778. XE780
  2779. XE780
  2780. XE780
  2781. XE780
  2782. XF080
  2783. XFF80
  2784. XFF80
  2785. XFF80
  2786. X0000
  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. X0000
  2797. XFF80
  2798. XFF80
  2799. XE780
  2800. XE780
  2801. XE780
  2802. XE780
  2803. XE780
  2804. XE780
  2805. XFF80
  2806. XE780
  2807. XE780
  2808. XE780
  2809. XE780
  2810. XE780
  2811. XE780
  2812. XFF80
  2813. XFF80
  2814. XFF80
  2815. X0000
  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. X0000
  2826. XFF80
  2827. XFF80
  2828. X8780
  2829. XF380
  2830. XF380
  2831. XF380
  2832. XF380
  2833. XF380
  2834. XF880
  2835. XF380
  2836. XF380
  2837. XF380
  2838. XF380
  2839. XF380
  2840. X8780
  2841. XFF80
  2842. XFF80
  2843. XFF80
  2844. X0000
  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. X0000
  2855. XFF80
  2856. XFF80
  2857. XFF80
  2858. XFF80
  2859. XC480
  2860. X8080
  2861. X9180
  2862. XFF80
  2863. XFF80
  2864. XFF80
  2865. XFF80
  2866. XFF80
  2867. XFF80
  2868. XFF80
  2869. XFF80
  2870. XFF80
  2871. XFF80
  2872. XFF80
  2873. X0000
  2874. XFF80
  2875. XENDCHAR
  2876. XENDFONT
  2877. END_OF_FILE
  2878. if test 18705 -ne `wc -c <'fonts/push-rev.bdf'`; then
  2879.     echo shar: \"'fonts/push-rev.bdf'\" unpacked with wrong size!
  2880. fi
  2881. # end of 'fonts/push-rev.bdf'
  2882. fi
  2883. if test -f 'master/colormapDb.c' -a "${1}" != "-c" ; then 
  2884.   echo shar: Will not clobber existing file \"'master/colormapDb.c'\"
  2885. else
  2886. echo shar: Extracting \"'master/colormapDb.c'\" \(16870 characters\)
  2887. sed "s/^X//" >'master/colormapDb.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 <signal.h>
  2894. X#include <ctype.h>
  2895. X#include <X11/Intrinsic.h>
  2896. X#include <X11/StringDefs.h>
  2897. X#include <X11/Xaw/Form.h>
  2898. X#include <Chaos.h>
  2899. X#include <LocalDefs.h>
  2900. X#include <Colormap.h>
  2901. X#include <DlgShell.h>
  2902. X#include <Push.h>
  2903. X#include <Compound.h>
  2904. X#include <Text.h>
  2905. X#include <List.h>
  2906. X#include <Slider.h>
  2907. X#include <Palette.h>
  2908. X#include <Label.h>
  2909. X
  2910. X#define PALETTE        widgets[1]
  2911. X#define SLIDER_1_LABEL    widgets[11]
  2912. X#define SLIDER_1    widgets[2]
  2913. X#define SLIDER_2_LABEL    widgets[12]
  2914. X#define SLIDER_2    widgets[3]
  2915. X#define SLIDER_3_LABEL    widgets[13]
  2916. X#define SLIDER_3    widgets[4]
  2917. X
  2918. X#define RGB_HSB        widgets[7]
  2919. X#define COLORMAP_LOAD    widgets[8]
  2920. X#define COLORMAP_SAVE    widgets[9]
  2921. X#define COLORMAP_REMOVE    widgets[10]
  2922. X#define DISMISS        widgets[0]
  2923. X
  2924. X#define COLORMAP_LABEL    widgets[14]
  2925. X#define COLORMAP_TEXT    widgets[5]
  2926. X#define COLORMAP_LIST    widgets[6]
  2927. X
  2928. X#define NUM_CONTROLS    (unsigned) 11
  2929. X#define NUM_LABELS    (unsigned) 4
  2930. X
  2931. Xstatic void ColormapPaletteActivate();
  2932. Xstatic void ColormapPushActivate();
  2933. Xstatic void ColormapSliderActivate();
  2934. Xstatic void ColormapListActivate();
  2935. Xstatic void ColormapChangeMode();
  2936. Xstatic void ColormapLoadColormap();
  2937. Xstatic void ColormapSaveColormap();
  2938. Xstatic void ColormapRemoveColormap();
  2939. X
  2940. Xvoid ColormapUpdateSliders();
  2941. Xvoid ColormapUpdateFileList();
  2942. Xvoid SaveColormapProceed();
  2943. Xvoid RemoveColormapProceed();
  2944. Xvoid ColormapResetControls();
  2945. X
  2946. Xextern void ConfirmSetup();
  2947. Xextern void MessageSetup();
  2948. X
  2949. Xextern Widget confirm_dialogbox;
  2950. Xextern Widget message_dialogbox;
  2951. X
  2952. Xstatic int curr_color = NUM_RESERVED;
  2953. Xstatic unsigned char curr_red, curr_green, curr_blue;
  2954. Xstatic unsigned char curr_hue, curr_sat, curr_bright;
  2955. Xstatic Boolean hsb_mode = False;
  2956. X
  2957. Xstatic Widget form, widgets[NUM_CONTROLS + NUM_LABELS];
  2958. X
  2959. Xstatic char colormap_buffer[64];
  2960. Xstatic ListItem *colormap_list_items;
  2961. X
  2962. Xstatic char *save_colormap_msg =
  2963. X"The file '%s/%s' already exists!\n\
  2964. XDo you really wish to overwrite this colormap file?";
  2965. X
  2966. Xstatic char *save_failed_msg =
  2967. X"Cannot write to file '%s/%s'!";
  2968. X
  2969. Xstatic char *load_colormap_msg =
  2970. X"Cannot load file '%s/%s'!\n\
  2971. XPlease specify a valid colormap filename.";
  2972. X
  2973. Xstatic char *remove_colormap_msg =
  2974. X"The file '%s/%s' will be lost!\n\
  2975. XDo you really wish to remove this colormap file?";
  2976. X
  2977. Xstatic char *remove_failed_msg =
  2978. X"Cannot remove file '%s/%s'!";
  2979. X
  2980. Xstatic XtCallbackRec palette_callbacks[] = {
  2981. X    {ColormapPaletteActivate, NULL},
  2982. X    {NULL, NULL},
  2983. X};
  2984. X
  2985. Xstatic XtCallbackRec push_callbacks[] = {
  2986. X    {ColormapPushActivate, NULL},
  2987. X    {NULL, NULL},
  2988. X};
  2989. X
  2990. Xstatic XtCallbackRec slider_callbacks[] = {
  2991. X    {ColormapSliderActivate, NULL},
  2992. X    {NULL, NULL},
  2993. X};
  2994. X
  2995. Xstatic XtCallbackRec list_callbacks[] = {
  2996. X    {ColormapListActivate, NULL},
  2997. X    {NULL, NULL},
  2998. X};
  2999. X
  3000. Xstatic Arg PopupArgs[] = {
  3001. X    {XtNborderWidth, (XtArgVal) 3},
  3002. X};
  3003. X
  3004. Xstatic Arg LabelArgs[] = {
  3005. X    {XtNfromHoriz, (XtArgVal) NULL},
  3006. X    {XtNfromVert, (XtArgVal) NULL},
  3007. X    {XtNhorizDistance, (XtArgVal) 10},
  3008. X    {XtNvertDistance, (XtArgVal) 10},
  3009. X    {XtNlabel, (XtArgVal) NULL},
  3010. X    {XtNresizable, (XtArgVal) False},
  3011. X    {XtNborderWidth, (XtArgVal) 0},
  3012. X};
  3013. X
  3014. Xstatic Arg PushArgs[] = {
  3015. X    {XtNfromHoriz, (XtArgVal) NULL},
  3016. X    {XtNfromVert, (XtArgVal) NULL},
  3017. X    {XtNhorizDistance, (XtArgVal) 10},
  3018. X    {XtNvertDistance, (XtArgVal) 10},
  3019. X    {XtNlabel, (XtArgVal) NULL},
  3020. X    {XtNdialogbox, (XtArgVal) NULL},
  3021. X    {XtNcallback, (XtArgVal) push_callbacks},
  3022. X    {XtNresizable, (XtArgVal) False},
  3023. X};
  3024. X
  3025. Xstatic Arg PaletteArgs[] = {
  3026. X    {XtNfromHoriz, (XtArgVal) NULL},
  3027. X    {XtNfromVert, (XtArgVal) NULL},
  3028. X    {XtNhorizDistance, (XtArgVal) 10},
  3029. X    {XtNvertDistance, (XtArgVal) 10},
  3030. X    {XtNcellSize, (XtArgVal) 16},
  3031. X    {XtNdialogbox, (XtArgVal) NULL},
  3032. X    {XtNcallback, (XtArgVal) palette_callbacks},
  3033. X    {XtNresizable, (XtArgVal) False},
  3034. X};
  3035. X
  3036. Xstatic Arg ListArgs[] = {
  3037. X    {XtNfromHoriz, (XtArgVal) NULL},
  3038. X    {XtNfromVert, (XtArgVal) NULL},
  3039. X    {XtNhorizDistance, (XtArgVal) 10},
  3040. X    {XtNvertDistance, (XtArgVal) 10},
  3041. X    {XtNlistItems, (XtArgVal) NULL},
  3042. X    {XtNdialogbox, (XtArgVal) NULL},
  3043. X    {XtNresizable, (XtArgVal) False},
  3044. X    {XtNborderWidth, (XtArgVal) 1},
  3045. X    {XtNcallback, (XtArgVal) list_callbacks},
  3046. X    {XtNlistDefault, (XtArgVal) NULL},
  3047. X    {XtNcharsWide, (XtArgVal) 31},
  3048. X    {XtNnumberVisible, (XtArgVal) 8},
  3049. X    {XtNlistDefault, (XtArgVal) - 1},
  3050. X};
  3051. X
  3052. Xstatic Arg SliderArgs[] = {
  3053. X    {XtNfromHoriz, (XtArgVal) NULL},
  3054. X    {XtNfromVert, (XtArgVal) NULL},
  3055. X    {XtNhorizDistance, (XtArgVal) 10},
  3056. X    {XtNvertDistance, (XtArgVal) 10},
  3057. X    {XtNdialogbox, (XtArgVal) NULL},
  3058. X    {XtNcallback, (XtArgVal) slider_callbacks},
  3059. X    {XtNresizable, (XtArgVal) False},
  3060. X    {XtNminValue, (XtArgVal) 0},
  3061. X    {XtNmaxValue, (XtArgVal) 255},
  3062. X};
  3063. X
  3064. Xstatic Arg TextArgs[] = {
  3065. X    {XtNfromHoriz, (XtArgVal) NULL},
  3066. X    {XtNfromVert, (XtArgVal) NULL},
  3067. X    {XtNhorizDistance, (XtArgVal) 10},
  3068. X    {XtNvertDistance, (XtArgVal) 10},
  3069. X    {XtNbuffer, (XtArgVal) NULL},
  3070. X    {XtNdialogbox, (XtArgVal) NULL},
  3071. X    {XtNresizable, (XtArgVal) False},
  3072. X    {XtNbufferLen, (XtArgVal) NULL},
  3073. X    {XtNinitialText, (XtArgVal) NULL},
  3074. X    {XtNcharsWide, (XtArgVal) NULL},
  3075. X};
  3076. X
  3077. X
  3078. X/*ARGSUSED*/
  3079. Xstatic void ColormapPushActivate(widget, client_data, call_data)
  3080. XWidget widget;
  3081. Xcaddr_t client_data;
  3082. Xcaddr_t call_data;
  3083. X{
  3084. X    Display *dpy = XtDisplay(widget);
  3085. X    extern Widget colormap_dialogbox;
  3086. X    extern Boolean rotating, rotating_save;
  3087. X    extern int colormap_alignment;
  3088. X    extern Colormap colormap;
  3089. X    extern char *FileCheckFilename();
  3090. X    char *new_filename;
  3091. X
  3092. X    if (widget == DISMISS)
  3093. X    {
  3094. X    DialogPopdown(colormap_dialogbox);
  3095. X    rotating = rotating_save;
  3096. X    AlignColormap(dpy, colormap, colormap_alignment);
  3097. X    }
  3098. X    else if (widget == RGB_HSB)
  3099. X    ColormapChangeMode();
  3100. X    else
  3101. X    {
  3102. X    new_filename = FileCheckFilename(colormap_buffer, ".map");
  3103. X    TextChangeText(COLORMAP_TEXT, new_filename);
  3104. X    if (new_filename == NULL)
  3105. X        return;
  3106. X
  3107. X    if (widget == COLORMAP_LOAD)
  3108. X        ColormapLoadColormap();
  3109. X    else if (widget == COLORMAP_SAVE)
  3110. X        ColormapSaveColormap();
  3111. X    else if (widget == COLORMAP_REMOVE)
  3112. X        ColormapRemoveColormap();
  3113. X    }
  3114. X}
  3115. X
  3116. X
  3117. X/*ARGSUSED*/
  3118. Xstatic void ColormapPaletteActivate(widget, client_data, call_data)
  3119. XWidget widget;            /* unused */
  3120. Xcaddr_t client_data;        /* unused */
  3121. Xcaddr_t call_data;
  3122. X{
  3123. X
  3124. X    curr_color = (int) call_data;
  3125. X    ColormapUpdateSliders();
  3126. X}
  3127. X
  3128. X
  3129. X/*ARGSUSED*/
  3130. Xstatic void ColormapSliderActivate(widget, client_data, call_data)
  3131. XWidget widget;
  3132. Xcaddr_t client_data;
  3133. Xcaddr_t call_data;
  3134. X{
  3135. X    Display *dpy = XtDisplay(widget);
  3136. X    extern Colormap colormap;
  3137. X
  3138. X    if (hsb_mode)
  3139. X    {
  3140. X    double r, g, b;
  3141. X
  3142. X    if (widget == SLIDER_1)
  3143. X        curr_hue = (unsigned char) call_data;
  3144. X    else if (widget == SLIDER_2)
  3145. X        curr_sat = (unsigned char) call_data;
  3146. X    else if (widget == SLIDER_3)
  3147. X        curr_bright = (unsigned char) call_data;
  3148. X
  3149. X    HSB2RGB((double) curr_hue / 255.0, (double) curr_sat / 255.0,
  3150. X      (double) curr_bright / 255.0, &r, &g, &b);
  3151. X
  3152. X    curr_red = (unsigned char) (r * 255.0);
  3153. X    curr_green = (unsigned char) (g * 255.0);
  3154. X    curr_blue = (unsigned char) (b * 255.0);
  3155. X    }
  3156. X    else
  3157. X    {
  3158. X    double h, s, b;
  3159. X
  3160. X    if (widget == SLIDER_1)
  3161. X        curr_red = (unsigned char) call_data;
  3162. X    else if (widget == SLIDER_2)
  3163. X        curr_green = (unsigned char) call_data;
  3164. X    else if (widget == SLIDER_3)
  3165. X        curr_blue = (unsigned char) call_data;
  3166. X
  3167. X    RGB2HSB((double) curr_red / 255.0, (double) curr_green / 255.0,
  3168. X      (double) curr_blue / 255.0, &h, &s, &b);
  3169. X
  3170. X    curr_hue = (unsigned char) (h * 255.0);
  3171. X    curr_sat = (unsigned char) (s * 255.0);
  3172. X    curr_bright = (unsigned char) (b * 255.0);
  3173. X    }
  3174. X
  3175. X    SetColorRGB(dpy, colormap, curr_color, curr_red, curr_green, curr_blue);
  3176. X}
  3177. X
  3178. X
  3179. X/*ARGSUSED*/
  3180. Xstatic void ColormapListActivate(widget, client_data, call_data)
  3181. XWidget widget;
  3182. Xcaddr_t client_data;
  3183. Xcaddr_t call_data;
  3184. X{
  3185. X    int item = (int) call_data;
  3186. X
  3187. X    TextChangeText(COLORMAP_TEXT, colormap_list_items[item].label);
  3188. X}
  3189. X
  3190. X
  3191. Xstatic void ColormapChangeMode()
  3192. X{
  3193. X    hsb_mode = !hsb_mode;
  3194. X
  3195. X    if (hsb_mode)
  3196. X    {
  3197. X    LabelChangeLabel(SLIDER_1_LABEL, "       Hue:");
  3198. X    LabelChangeLabel(SLIDER_2_LABEL, "Saturation:");
  3199. X    LabelChangeLabel(SLIDER_3_LABEL, "Brightness:");
  3200. X    PushChangeLabel(RGB_HSB, "RGB");
  3201. X
  3202. X    SliderChangePosition(SLIDER_1, (int) curr_hue);
  3203. X    SliderChangePosition(SLIDER_2, (int) curr_sat);
  3204. X    SliderChangePosition(SLIDER_3, (int) curr_bright);
  3205. X    }
  3206. X    else
  3207. X    {
  3208. X    LabelChangeLabel(SLIDER_1_LABEL, "       Red:");
  3209. X    LabelChangeLabel(SLIDER_2_LABEL, "     Green:");
  3210. X    LabelChangeLabel(SLIDER_3_LABEL, "      Blue:");
  3211. X    PushChangeLabel(RGB_HSB, "HSB");
  3212. X
  3213. X    SliderChangePosition(SLIDER_1, (int) curr_red);
  3214. X    SliderChangePosition(SLIDER_2, (int) curr_green);
  3215. X    SliderChangePosition(SLIDER_3, (int) curr_blue);
  3216. X    }
  3217. X}
  3218. X
  3219. X
  3220. Xstatic void ColormapLoadColormap()
  3221. X{
  3222. X    extern char *map_dir;
  3223. X    extern void CallStoreColormap();
  3224. X    char message[256];
  3225. X
  3226. X    if (ReadColors(map_dir, colormap_buffer) == False)
  3227. X    {
  3228. X    /* Popup an error message box here */
  3229. X    (void) sprintf(message, load_colormap_msg, map_dir, colormap_buffer);
  3230. X    MessageSetup(message, (XtCallbackProc) NULL);
  3231. X    DialogPopup(message_dialogbox);
  3232. X    return;
  3233. X    }
  3234. X    CallStoreColormap();
  3235. X
  3236. X    /* update the sliders since the colormap changed */
  3237. X    ColormapUpdateSliders();
  3238. X}
  3239. X
  3240. X
  3241. Xstatic void ColormapSaveColormap()
  3242. X{
  3243. X    extern char *map_dir;
  3244. X    extern Boolean FileExists();
  3245. X    char message[256];
  3246. X
  3247. X    if (FileExists(map_dir, colormap_buffer))
  3248. X    {
  3249. X    /* throw a dialogbox up for confirmation first */
  3250. X    (void) sprintf(message, save_colormap_msg, map_dir, colormap_buffer);
  3251. X    ConfirmSetup(message, SaveColormapProceed);
  3252. X    DialogPopup(confirm_dialogbox);
  3253. X    }
  3254. X    else
  3255. X    SaveColormapProceed((Widget) NULL, (caddr_t) NULL, (caddr_t) NULL);
  3256. X}
  3257. X
  3258. X
  3259. X/*ARGSUSED*/
  3260. Xvoid SaveColormapProceed(widget, client_data, call_data)
  3261. XWidget widget;            /* unused */
  3262. Xcaddr_t client_data;        /* unused */
  3263. Xcaddr_t call_data;        /* unused */
  3264. X{
  3265. X    extern char *map_dir;
  3266. X    char message[256];
  3267. X
  3268. X    if (WriteColors(map_dir, colormap_buffer) == False)
  3269. X    {
  3270. X    /* Popup an error message box here */
  3271. X    (void) sprintf(message, save_failed_msg, map_dir, colormap_buffer);
  3272. X    MessageSetup(message, (XtCallbackProc) NULL);
  3273. X    DialogPopup(message_dialogbox);
  3274. X    return;
  3275. X    }
  3276. X    ColormapUpdateFileList();
  3277. X}
  3278. X
  3279. X
  3280. Xstatic void ColormapRemoveColormap()
  3281. X{
  3282. X    extern char *map_dir;
  3283. X    char message[256];
  3284. X
  3285. X    /* throw a dialogbox up for confirmation first */
  3286. X    (void) sprintf(message, remove_colormap_msg, map_dir, colormap_buffer);
  3287. X    ConfirmSetup(message, RemoveColormapProceed);
  3288. X    DialogPopup(confirm_dialogbox);
  3289. X}
  3290. X
  3291. X
  3292. X/*ARGSUSED*/
  3293. Xvoid RemoveColormapProceed(widget, client_data, call_data)
  3294. XWidget widget;            /* unused */
  3295. Xcaddr_t client_data;        /* unused */
  3296. Xcaddr_t call_data;        /* unused */
  3297. X{
  3298. X    extern char *map_dir;
  3299. X    Boolean RemoveFile();
  3300. X    char message[256];
  3301. X
  3302. X    if (RemoveFile(map_dir, colormap_buffer) == False)
  3303. X    {
  3304. X    /* Popup an error message box here */
  3305. X    (void) sprintf(message, remove_failed_msg, map_dir, colormap_buffer);
  3306. X    MessageSetup(message, (XtCallbackProc) NULL);
  3307. X    DialogPopup(message_dialogbox);
  3308. X    return;
  3309. X    }
  3310. X    TextChangeText(COLORMAP_TEXT, (String) NULL);
  3311. X    ColormapUpdateFileList();
  3312. X}
  3313. X
  3314. X
  3315. Xvoid ColormapUpdateFileList()
  3316. X{
  3317. X    extern char **GetFileList();
  3318. X    extern void FreeFileList();
  3319. X    extern char *map_dir;
  3320. X
  3321. X    if (colormap_list_items)
  3322. X    FreeFileList((char **) colormap_list_items);
  3323. X
  3324. X    colormap_list_items = (ListItem *) GetFileList(map_dir, "*.map");
  3325. X    if (colormap_list_items != NULL)
  3326. X    (void) ListChangeItems(COLORMAP_LIST, colormap_list_items);
  3327. X}
  3328. X
  3329. X
  3330. Xvoid ColormapUpdateSliders()
  3331. X{
  3332. X    double h, s, b;
  3333. X
  3334. X    GetColorRGB(curr_color, &curr_red, &curr_green, &curr_blue);
  3335. X
  3336. X    RGB2HSB((double) curr_red / 255.0, (double) curr_green / 255.0,
  3337. X      (double) curr_blue / 255.0, &h, &s, &b);
  3338. X
  3339. X    curr_hue = (unsigned char) (h * 255.0);
  3340. X    curr_sat = (unsigned char) (s * 255.0);
  3341. X    curr_bright = (unsigned char) (b * 255.0);
  3342. X
  3343. X    if (hsb_mode)
  3344. X    {
  3345. X    SliderChangePosition(SLIDER_1, (int) curr_hue);
  3346. X    SliderChangePosition(SLIDER_2, (int) curr_sat);
  3347. X    SliderChangePosition(SLIDER_3, (int) curr_bright);
  3348. X    }
  3349. X    else
  3350. X    {
  3351. X    SliderChangePosition(SLIDER_1, (int) curr_red);
  3352. X    SliderChangePosition(SLIDER_2, (int) curr_green);
  3353. X    SliderChangePosition(SLIDER_3, (int) curr_blue);
  3354. X    }
  3355. X}
  3356. X
  3357. X
  3358. Xvoid ColormapResetControls()
  3359. X{
  3360. X    TextChangeText(COLORMAP_TEXT, (String) NULL);
  3361. X    ListChangeSelected(COLORMAP_LIST, NO_ITEM);
  3362. X}
  3363. X
  3364. X
  3365. XWidget ColormapCreateDialogbox(parent)
  3366. XWidget parent;
  3367. X{
  3368. X    Widget popup;
  3369. X
  3370. X    popup = XtCreatePopupShell("colormap_dialogbox_popup",
  3371. X      dialogShellWidgetClass, parent, PopupArgs, XtNumber(PopupArgs));
  3372. X
  3373. X    form = XtCreateManagedWidget("colormap_dialogbox_form", formWidgetClass,
  3374. X      popup, (ArgList) NULL, (Cardinal) 0);
  3375. X
  3376. X    PaletteArgs[0].value = (XtArgVal) NULL;
  3377. X    PaletteArgs[1].value = (XtArgVal) NULL;
  3378. X    PaletteArgs[5].value = (XtArgVal) popup;
  3379. X    PALETTE = XtCreateManagedWidget("palette", paletteWidgetClass,
  3380. X      form, PaletteArgs, XtNumber(PaletteArgs));
  3381. X
  3382. X    LabelArgs[0].value = (XtArgVal) PALETTE;
  3383. X    LabelArgs[1].value = (XtArgVal) NULL;
  3384. X    LabelArgs[4].value = (XtArgVal) "       Red:";
  3385. X    SLIDER_1_LABEL = XtCreateManagedWidget("slider_1_label", labelWidgetClass,
  3386. X      form, LabelArgs, XtNumber(LabelArgs));
  3387. X
  3388. X    SliderArgs[0].value = (XtArgVal) SLIDER_1_LABEL;
  3389. X    SliderArgs[1].value = (XtArgVal) NULL;
  3390. X    SliderArgs[4].value = (XtArgVal) popup;
  3391. X    SLIDER_1 = XtCreateManagedWidget("slider_1", sliderWidgetClass,
  3392. X      form, SliderArgs, XtNumber(SliderArgs));
  3393. X
  3394. X    LabelArgs[0].value = (XtArgVal) PALETTE;
  3395. X    LabelArgs[1].value = (XtArgVal) SLIDER_1;
  3396. X    LabelArgs[4].value = (XtArgVal) "     Green:";
  3397. X    SLIDER_2_LABEL = XtCreateManagedWidget("slider_2_label", labelWidgetClass,
  3398. X      form, LabelArgs, XtNumber(LabelArgs));
  3399. X
  3400. X    SliderArgs[0].value = (XtArgVal) SLIDER_2_LABEL;
  3401. X    SliderArgs[1].value = (XtArgVal) SLIDER_1;
  3402. X    SliderArgs[4].value = (XtArgVal) popup;
  3403. X    SLIDER_2 = XtCreateManagedWidget("slider_2", sliderWidgetClass,
  3404. X      form, SliderArgs, XtNumber(SliderArgs));
  3405. X
  3406. X    LabelArgs[0].value = (XtArgVal) PALETTE;
  3407. X    LabelArgs[1].value = (XtArgVal) SLIDER_2;
  3408. X    LabelArgs[4].value = (XtArgVal) "      Blue:";
  3409. X    SLIDER_3_LABEL = XtCreateManagedWidget("slider_3_label", labelWidgetClass,
  3410. X      form, LabelArgs, XtNumber(LabelArgs));
  3411. X
  3412. X    SliderArgs[0].value = (XtArgVal) SLIDER_3_LABEL;
  3413. X    SliderArgs[1].value = (XtArgVal) SLIDER_2;
  3414. X    SliderArgs[4].value = (XtArgVal) popup;
  3415. X    SLIDER_3 = XtCreateManagedWidget("slider_3", sliderWidgetClass,
  3416. X      form, SliderArgs, XtNumber(SliderArgs));
  3417. X
  3418. X    LabelArgs[0].value = (XtArgVal) PALETTE;
  3419. X    LabelArgs[1].value = (XtArgVal) SLIDER_3;
  3420. X    LabelArgs[4].value = (XtArgVal) "Colormap:";
  3421. X    COLORMAP_LABEL = XtCreateManagedWidget("colormap_label", labelWidgetClass,
  3422. X      form, LabelArgs, XtNumber(LabelArgs));
  3423. X
  3424. X    TextArgs[0].value = (XtArgVal) COLORMAP_LABEL;
  3425. X    TextArgs[1].value = (XtArgVal) SLIDER_3;
  3426. X    TextArgs[4].value = (XtArgVal) colormap_buffer;
  3427. X    TextArgs[5].value = (XtArgVal) popup;
  3428. X    TextArgs[7].value = (XtArgVal) 64;
  3429. X    TextArgs[9].value = (XtArgVal) 16;
  3430. X    COLORMAP_TEXT = XtCreateManagedWidget("colormap_text", textWidgetClass,
  3431. X      form, TextArgs, XtNumber(TextArgs));
  3432. X
  3433. X    ListArgs[0].value = (XtArgVal) PALETTE;
  3434. X    ListArgs[1].value = (XtArgVal) COLORMAP_LABEL;
  3435. X    ListArgs[5].value = (XtArgVal) popup;
  3436. X    COLORMAP_LIST = XtCreateManagedWidget("colormap_list", listWidgetClass,
  3437. X      form, ListArgs, XtNumber(ListArgs));
  3438. X
  3439. X    PushArgs[0].value = (XtArgVal) COLORMAP_LIST;
  3440. X    PushArgs[1].value = (XtArgVal) COLORMAP_LABEL;
  3441. X    PushArgs[4].value = (XtArgVal) "HSB";
  3442. X    PushArgs[5].value = (XtArgVal) popup;
  3443. X    RGB_HSB = XtCreateManagedWidget("rgb_hsb_push", pushWidgetClass,
  3444. X      form, PushArgs, XtNumber(PushArgs));
  3445. X
  3446. X    PushArgs[0].value = (XtArgVal) COLORMAP_LIST;
  3447. X    PushArgs[1].value = (XtArgVal) RGB_HSB;
  3448. X    PushArgs[4].value = (XtArgVal) "Load Colormap";
  3449. X    PushArgs[5].value = (XtArgVal) popup;
  3450. X    COLORMAP_LOAD = XtCreateManagedWidget("load_colormap_push", pushWidgetClass,
  3451. X      form, PushArgs, XtNumber(PushArgs));
  3452. X
  3453. X    PushArgs[0].value = (XtArgVal) COLORMAP_LIST;
  3454. X    PushArgs[1].value = (XtArgVal) COLORMAP_LOAD;
  3455. X    PushArgs[4].value = (XtArgVal) "Save Colormap";
  3456. X    PushArgs[5].value = (XtArgVal) popup;
  3457. X    COLORMAP_SAVE = XtCreateManagedWidget("save_colormap_push", pushWidgetClass,
  3458. X      form, PushArgs, XtNumber(PushArgs));
  3459. X
  3460. X    PushArgs[0].value = (XtArgVal) COLORMAP_LIST;
  3461. X    PushArgs[1].value = (XtArgVal) COLORMAP_SAVE;
  3462. X    PushArgs[4].value = (XtArgVal) "Remove Colormap";
  3463. X    PushArgs[5].value = (XtArgVal) popup;
  3464. X    COLORMAP_REMOVE = XtCreateManagedWidget("remove_colormap_push",
  3465. X      pushWidgetClass, form, PushArgs, XtNumber(PushArgs));
  3466. X
  3467. X    PushArgs[0].value = (XtArgVal) COLORMAP_LIST;
  3468. X    PushArgs[1].value = (XtArgVal) COLORMAP_REMOVE;
  3469. X    PushArgs[4].value = (XtArgVal) "Dismiss";
  3470. X    PushArgs[5].value = (XtArgVal) popup;
  3471. X    DISMISS = XtCreateManagedWidget("dismiss_push", pushWidgetClass,
  3472. X      form, PushArgs, XtNumber(PushArgs));
  3473. X
  3474. X    DialogSetFocusOrder(popup, widgets, NUM_CONTROLS);
  3475. X
  3476. X    return (popup);
  3477. X}
  3478. END_OF_FILE
  3479. if test 16870 -ne `wc -c <'master/colormapDb.c'`; then
  3480.     echo shar: \"'master/colormapDb.c'\" unpacked with wrong size!
  3481. fi
  3482. # end of 'master/colormapDb.c'
  3483. fi
  3484. if test -f 'widgets/Compound.c' -a "${1}" != "-c" ; then 
  3485.   echo shar: Will not clobber existing file \"'widgets/Compound.c'\"
  3486. else
  3487. echo shar: Extracting \"'widgets/Compound.c'\" \(15878 characters\)
  3488. sed "s/^X//" >'widgets/Compound.c' <<'END_OF_FILE'
  3489. X/*
  3490. X * Copyright (c) Ken W. Marks 1989, 1990.
  3491. X */
  3492. X
  3493. X#include <stdio.h>
  3494. X#include <X11/IntrinsicP.h>
  3495. X#include <X11/StringDefs.h>
  3496. X#include <Chaos.h>
  3497. X#include <LocalDefs.h>
  3498. X#include <CompoundP.h>
  3499. X#include <Colormap.h>
  3500. X#include <DlgShell.h>
  3501. X
  3502. X#define GET_ITEM(w, x, y)    (((x) < (w)->compound.hot_min || \
  3503. X                (x) > (w)->compound.hot_max || \
  3504. X                (y) < 0 || (y) >= (w)->core.height) ? \
  3505. X                NO_ITEM : (y) / (w)->compound.item_height)
  3506. X
  3507. X/* internal padding for items in compound buttons */
  3508. X#define VERTICAL_PAD        2
  3509. X#define HORIZONTAL_PAD        2
  3510. X
  3511. X#define TOGGLE_UNSET_STRING    "\026\027"
  3512. X#define TOGGLE_SET_STRING    "\030\031"
  3513. X#define RADIO_UNSET_STRING    "\032\033"
  3514. X#define RADIO_SET_STRING    "\034\035"
  3515. X
  3516. X#define ARROW            '\037'
  3517. X#define BLANK            '\036'
  3518. X
  3519. Xstatic void CompoundInitialize();
  3520. Xstatic void CompoundRedisplay();
  3521. Xstatic void CompoundDestroy();
  3522. Xstatic void CompoundDrawItem();
  3523. Xstatic void CompoundNotify();
  3524. Xstatic void CompoundMark();
  3525. Xstatic void CompoundGoto();
  3526. Xstatic void CompoundFocusIn();
  3527. Xstatic void CompoundFocusOut();
  3528. X
  3529. X#define offset(field) XtOffset(CompoundWidget, compound.field)
  3530. X#define goffset(field) XtOffset(Widget,core.field)
  3531. X
  3532. Xstatic XtResource compound_resources[] = {
  3533. X    {XtNbuttonType, XtCButtonType, XtRInt, sizeof(int),
  3534. X    offset(button_type), XtRImmediate, (caddr_t) UndefinedButton},
  3535. X    {XtNradioDefault, XtCDefault, XtRInt, sizeof(int),
  3536. X    offset(selected_item), XtRImmediate, (caddr_t) 0},
  3537. X    {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel),
  3538. X    offset(foreground), XtRString, "Black"},
  3539. X    {XtNbackground, XtCBackground, XtRPixel, sizeof(Pixel),
  3540. X    goffset(background_pixel), XtRString, "White"},
  3541. X    {XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *),
  3542. X    offset(font), XtRString, "chaos-bold"},
  3543. X    {XtNtoggleItems, XtCList, XtRPointer, sizeof(char **),
  3544. X    offset(toggle_items), XtRString, NULL},
  3545. X    {XtNradioItems, XtCList, XtRPointer, sizeof(char **),
  3546. X    offset(radio_items), XtRString, NULL},
  3547. X    {XtNhorizPad, XtCMargin, XtRDimension, sizeof(Dimension),
  3548. X    offset(h_pad), XtRImmediate, (caddr_t) HORIZONTAL_PAD},
  3549. X    {XtNvertPad, XtCMargin, XtRDimension, sizeof(Dimension),
  3550. X    offset(v_pad), XtRImmediate, (caddr_t) VERTICAL_PAD},
  3551. X    {XtNcallback, XtCCallback, XtRCallback, sizeof(caddr_t),
  3552. X    offset(callbacks), XtRCallback, (caddr_t) NULL},
  3553. X    {XtNdialogbox, XtCWidget, XtRWidget, sizeof(Widget),
  3554. X    offset(dialogbox), XtRWidget, (caddr_t) NULL},
  3555. X};
  3556. X
  3557. Xstatic XtActionsRec compound_actions[] =
  3558. X{
  3559. X    {"notify", CompoundNotify},
  3560. X    {"mark", CompoundMark},
  3561. X    {"goto", CompoundGoto},
  3562. X    {"focus_in", CompoundFocusIn},
  3563. X    {"focus_out", CompoundFocusOut},
  3564. X};
  3565. X
  3566. Xstatic char compound_translations[] =
  3567. X"<BtnDown>:        mark(BUTTON) notify(BUTTON)\n\
  3568. X <Key>Return:        notify(KEY)\n\
  3569. X <Key>Up:        mark(PREV)\n\
  3570. X <Key>Down:        mark(NEXT)\n\
  3571. X Shift<Key>Tab:        goto(PREV)\n\
  3572. X <Key>Tab:        goto(NEXT)\n\
  3573. X <FocusIn>:        focus_in()\n\
  3574. X <FocusOut>:        focus_out()\n\
  3575. X";
  3576. X
  3577. X#define superclass        (&simpleClassRec)
  3578. X
  3579. XCompoundClassRec compoundClassRec = {
  3580. X    {
  3581. X    /* core fields          */
  3582. X     /* superclass         */ (WidgetClass) superclass,
  3583. X     /* class_name         */ "Compound",
  3584. X     /* widget_size         */ sizeof(CompoundRec),
  3585. X     /* class_initialize     */ NULL,
  3586. X     /* class_part_initialize */ NULL,
  3587. X     /* class_inited     */ FALSE,
  3588. X     /* initialize         */ CompoundInitialize,
  3589. X     /* initialize_hook     */ NULL,
  3590. X     /* realize         */ XtInheritRealize,
  3591. X     /* actions         */ compound_actions,
  3592. X     /* num_actions         */ XtNumber(compound_actions),
  3593. X     /* resources         */ compound_resources,
  3594. X     /* resource_count     */ XtNumber(compound_resources),
  3595. X     /* xrm_class         */ NULLQUARK,
  3596. X     /* compress_motion     */ TRUE,
  3597. X     /* compress_exposure     */ TRUE,
  3598. X     /* compress_enterleave     */ TRUE,
  3599. X     /* visible_interest     */ FALSE,
  3600. X     /* destroy         */ CompoundDestroy,
  3601. X     /* resize         */ NULL,
  3602. X     /* expose         */ CompoundRedisplay,
  3603. X     /* set_values         */ NULL,
  3604. X     /* set_values_hook     */ NULL,
  3605. X     /* set_values_almost     */ XtInheritSetValuesAlmost,
  3606. X     /* get_values_hook     */ NULL,
  3607. X     /* accept_focus     */ NULL,
  3608. X     /* version         */ XtVersion,
  3609. X     /* callback_private     */ NULL,
  3610. X     /* tm_table         */ compound_translations,
  3611. X     /* query_geometry       */ NULL,
  3612. X     /* display_accelerator     */ XtInheritDisplayAccelerator,
  3613. X     /* extension         */ NULL
  3614. X    },
  3615. X    {
  3616. X    /* Simple class fields initialization */
  3617. X     /* change_sensitive     */ XtInheritChangeSensitive
  3618. X    }
  3619. X};
  3620. X
  3621. X
  3622. XWidgetClass compoundWidgetClass = (WidgetClass) & compoundClassRec;
  3623. X
  3624. X
  3625. X/************************************************************/
  3626. X/******************** Private Procedures ********************/
  3627. X/************************************************************/
  3628. X
  3629. X
  3630. Xstatic void CompoundGetGC(w)
  3631. XCompoundWidget w;
  3632. X{
  3633. X    XGCValues values;
  3634. X
  3635. X    values.foreground = w->compound.foreground;
  3636. X    values.background = w->core.background_pixel;
  3637. X    values.font = w->compound.font->fid;
  3638. X
  3639. X    w->compound.normal_gc = XtGetGC((Widget) w, (unsigned) GCForeground |
  3640. X      GCBackground | GCFont, &values);
  3641. X}
  3642. X
  3643. X
  3644. Xstatic void CompoundSetSize(w)
  3645. XCompoundWidget w;
  3646. X{
  3647. X    XtWidgetGeometry my_request;
  3648. X    XFontStruct *fs = w->compound.font;
  3649. X    ToggleItem *toggle_item;
  3650. X    RadioItem *radio_item;
  3651. X    Cardinal height = fs->max_bounds.ascent + fs->max_bounds.descent;
  3652. X    Cardinal width = fs->max_bounds.width;
  3653. X    Cardinal label_width;
  3654. X    Cardinal max_width = 0;
  3655. X    char *label;
  3656. X    int ii = 0;
  3657. X
  3658. X    if (w->compound.button_type == ToggleButton)
  3659. X    {
  3660. X    toggle_item = w->compound.toggle_items;
  3661. X    while (1)
  3662. X    {
  3663. X        label = toggle_item->label;
  3664. X        if (label == NULL)
  3665. X        break;
  3666. X        label_width = width * STRLEN(label);
  3667. X        max_width = MAX(max_width, label_width);
  3668. X        ++ii;
  3669. X        ++toggle_item;
  3670. X    }
  3671. X    }
  3672. X    else
  3673. X    {
  3674. X    radio_item = w->compound.radio_items;
  3675. X    while (1)
  3676. X    {
  3677. X        label = radio_item->label;
  3678. X        if (label == NULL)
  3679. X        break;
  3680. X        label_width = width * STRLEN(label);
  3681. X        max_width = MAX(max_width, label_width);
  3682. X        ++ii;
  3683. X        ++radio_item;
  3684. X    }
  3685. X    }
  3686. X
  3687. X    w->compound.num_items = ii;
  3688. X    w->compound.item_width = max_width;
  3689. X
  3690. X    /* Hot region is the 2nd and 3rd characters */
  3691. X    w->compound.hot_min = w->compound.h_pad + width;
  3692. X    w->compound.hot_max = w->compound.h_pad + width * 3;
  3693. X
  3694. X    w->compound.item_height = height + 2 * w->compound.v_pad;
  3695. X
  3696. X    my_request.request_mode = CWWidth | CWHeight;
  3697. X    my_request.width = w->compound.item_width + 2 * w->compound.h_pad;
  3698. X    my_request.height = w->compound.item_height * w->compound.num_items;
  3699. X
  3700. X    XtMakeGeometryRequest((Widget) w, &my_request, NULL);
  3701. X}
  3702. X
  3703. X
  3704. X/*ARGSUSED*/
  3705. Xstatic void CompoundInitialize(request, new)
  3706. XWidget request;            /* unused */
  3707. XWidget new;
  3708. X{
  3709. X    CompoundWidget w = (CompoundWidget) new;
  3710. X    char *label;
  3711. X    int ii;
  3712. X
  3713. X    if (w->compound.dialogbox == NULL)
  3714. X    {
  3715. X    eprintf("XtNdialogbox not set\n");
  3716. X    abort();
  3717. X    }
  3718. X
  3719. X    CompoundGetGC(w);
  3720. X
  3721. X    if (w->compound.button_type == ToggleButton)
  3722. X    {
  3723. X    /* SUPPRESS 530 */
  3724. X    for (ii = 0; w->compound.toggle_items[ii].label != NULL; ++ii);
  3725. X
  3726. X    /* Allocate a private copy of the compound structure so that it
  3727. X     * doesn't change from under us. */
  3728. X
  3729. X    w->compound.toggle_items = (ToggleItem *)
  3730. X      COPY(w->compound.toggle_items, (ii + 1) * sizeof(ToggleItem));
  3731. X
  3732. X    /* And don't forget to make private copies of all the labels in the
  3733. X     * structures (with space for 3 special leading chars). */
  3734. X
  3735. X    while (--ii >= 0)
  3736. X    {
  3737. X        label = w->compound.toggle_items[ii].label;
  3738. X        w->compound.toggle_items[ii].label =
  3739. X          malloc((unsigned) strlen(label) + 4);
  3740. X        (void) memset(w->compound.toggle_items[ii].label, BLANK, 3);
  3741. X        (void) strcpy(&(w->compound.toggle_items[ii].label[3]), label);
  3742. X    }
  3743. X    }
  3744. X    else if (w->compound.button_type == RadioButton)
  3745. X    {
  3746. X    /* SUPPRESS 530 */
  3747. X    for (ii = 0; w->compound.radio_items[ii].label != NULL; ++ii);
  3748. X
  3749. X    /* Allocate a private copy of the compound structure so that it
  3750. X     * doesn't change from under us. */
  3751. X
  3752. X    w->compound.radio_items = (RadioItem *) COPY(w->compound.radio_items,
  3753. X      (ii + 1) * sizeof(RadioItem));
  3754. X
  3755. X    /* And don't forget to make private copies of all the labels in the
  3756. X     * structures (with space for 3 special leading chars). */
  3757. X
  3758. X    while (--ii >= 0)
  3759. X    {
  3760. X        label = w->compound.radio_items[ii].label;
  3761. X        w->compound.radio_items[ii].label =
  3762. X          malloc((unsigned) strlen(label) + 4);
  3763. X        (void) memset(w->compound.radio_items[ii].label, BLANK, 3);
  3764. X        (void) strcpy(&(w->compound.radio_items[ii].label[3]), label);
  3765. X    }
  3766. X    }
  3767. X    else
  3768. X    {
  3769. X    eprintf("Invalid button type\n");
  3770. X    abort();
  3771. X    }
  3772. X
  3773. X    w->compound.active_item = NO_ITEM;
  3774. X
  3775. X    CompoundSetSize(w);
  3776. X}
  3777. X
  3778. X
  3779. X/*ARGSUSED*/
  3780. Xstatic void CompoundRedisplay(widget, event, region)
  3781. XWidget widget;
  3782. XXEvent *event;
  3783. XRegion region;            /* unused */
  3784. X{
  3785. X    CompoundWidget w = (CompoundWidget) widget;
  3786. X    int ii;
  3787. X
  3788. X    if (XtIsRealized(widget) == False)
  3789. X    return;
  3790. X
  3791. X    for (ii = 0; ii < w->compound.num_items; ++ii)
  3792. X    CompoundDrawItem(widget, ii);
  3793. X}
  3794. X
  3795. X
  3796. Xstatic void CompoundDestroy(widget)
  3797. XWidget widget;
  3798. X{
  3799. X    CompoundWidget w = (CompoundWidget) widget;
  3800. X
  3801. X    XtReleaseGC(widget, w->compound.normal_gc);
  3802. X}
  3803. X
  3804. X
  3805. Xstatic void CompoundDrawItem(widget, item)
  3806. XWidget widget;
  3807. Xint item;
  3808. X{
  3809. X    CompoundWidget w = (CompoundWidget) widget;
  3810. X    Display *dpy = XtDisplay(w);
  3811. X    Window window = XtWindow(w);
  3812. X    ToggleItem *toggle_item;
  3813. X    RadioItem *radio_item;
  3814. X    char *label;
  3815. X    int x, y;
  3816. X
  3817. X    if (item == NO_ITEM)
  3818. X    return;
  3819. X
  3820. X    if (w->compound.button_type == ToggleButton)
  3821. X    {
  3822. X    toggle_item = &(w->compound.toggle_items[item]);
  3823. X    label = toggle_item->label;
  3824. X
  3825. X    if (toggle_item->state == True)
  3826. X        (void) memcpy(&label[1], TOGGLE_SET_STRING, 2);
  3827. X    else
  3828. X        (void) memcpy(&label[1], TOGGLE_UNSET_STRING, 2);
  3829. X    }
  3830. X    else
  3831. X    {
  3832. X    radio_item = &(w->compound.radio_items[item]);
  3833. X    label = radio_item->label;
  3834. X    if (item == w->compound.selected_item)
  3835. X        (void) memcpy(&label[1], RADIO_SET_STRING, 2);
  3836. X    else
  3837. X        (void) memcpy(&label[1], RADIO_UNSET_STRING, 2);
  3838. X    }
  3839. X
  3840. X    if (item == w->compound.active_item)
  3841. X    label[0] = ARROW;
  3842. X    else
  3843. X    label[0] = BLANK;
  3844. X
  3845. X    x = w->compound.h_pad;
  3846. X    y = w->compound.item_height * item + w->compound.v_pad +
  3847. X      w->compound.font->max_bounds.ascent;
  3848. X
  3849. X    if (XtIsRealized(widget))
  3850. X    XDrawImageString(dpy, window, w->compound.normal_gc, x, y, label,
  3851. X      STRLEN(label));
  3852. X}
  3853. X
  3854. X
  3855. X/***********************************************************/
  3856. X/******************** Action Procedures ********************/
  3857. X/***********************************************************/
  3858. X
  3859. X
  3860. X/*ARGSUSED*/
  3861. Xstatic void CompoundFocusIn(widget, event, params, num_params)
  3862. XWidget widget;
  3863. XXEvent *event;
  3864. XString *params;
  3865. XCardinal *num_params;        /* unused */
  3866. X{
  3867. X    CompoundWidget w = (CompoundWidget) widget;
  3868. X
  3869. X    if (w->compound.active_item == NO_ITEM)
  3870. X    w->compound.active_item = 0;
  3871. X
  3872. X    CompoundDrawItem(widget, w->compound.active_item);
  3873. X}
  3874. X
  3875. X
  3876. X/*ARGSUSED*/
  3877. Xstatic void CompoundFocusOut(widget, event, params, num_params)
  3878. XWidget widget;
  3879. XXEvent *event;
  3880. XString *params;
  3881. XCardinal *num_params;        /* unused */
  3882. X{
  3883. X    CompoundWidget w = (CompoundWidget) widget;
  3884. X    int last_active_item = w->compound.active_item;
  3885. X
  3886. X    if (w->compound.active_item != NO_ITEM)
  3887. X    {
  3888. X    w->compound.active_item = NO_ITEM;
  3889. X    CompoundDrawItem(widget, last_active_item);
  3890. X    }
  3891. X}
  3892. X
  3893. X
  3894. X/*ARGSUSED*/
  3895. Xstatic void CompoundNotify(widget, event, params, num_params)
  3896. XWidget widget;
  3897. XXEvent *event;
  3898. XString *params;
  3899. XCardinal *num_params;        /* unused */
  3900. X{
  3901. X    CompoundWidget w = (CompoundWidget) widget;
  3902. X    XButtonEvent *ev = (XButtonEvent *) & event->xbutton;
  3903. X    ToggleItem *toggle_item;
  3904. X    int item;
  3905. X    int last_selected_item;
  3906. X
  3907. X    if (params[0][0] == 'B')
  3908. X    item = GET_ITEM(w, ev->x, ev->y);
  3909. X    else
  3910. X    item = w->compound.active_item;
  3911. X
  3912. X    if (item == NO_ITEM)
  3913. X    return;
  3914. X
  3915. X    if (w->compound.button_type == ToggleButton)
  3916. X    {
  3917. X    toggle_item = &(w->compound.toggle_items[item]);
  3918. X    toggle_item->state = !toggle_item->state;
  3919. X    }
  3920. X    else
  3921. X    {
  3922. X    last_selected_item = w->compound.selected_item;
  3923. X    w->compound.selected_item = item;
  3924. X    CompoundDrawItem(widget, last_selected_item);
  3925. X    }
  3926. X
  3927. X    CompoundDrawItem(widget, item);
  3928. X
  3929. X    XtCallCallbacks(widget, XtNcallback, (XtPointer) item);
  3930. X}
  3931. X
  3932. X
  3933. X/*ARGSUSED*/
  3934. Xstatic void CompoundMark(widget, event, params, num_params)
  3935. XWidget widget;
  3936. XXEvent *event;
  3937. XString *params;            /* unused */
  3938. XCardinal *num_params;        /* unused */
  3939. X{
  3940. X    CompoundWidget w = (CompoundWidget) widget;
  3941. X    XButtonEvent *ev = (XButtonEvent *) & event->xbutton;
  3942. X    int item;
  3943. X    int last_item = w->compound.active_item;
  3944. X
  3945. X    switch (params[0][0])
  3946. X    {
  3947. X    case 'B':
  3948. X    item = GET_ITEM(w, ev->x, ev->y);
  3949. X    if (item == NO_ITEM)
  3950. X        return;
  3951. X    DialogSetNewFocus(w->compound.dialogbox, widget);
  3952. X    break;
  3953. X
  3954. X    case 'P':
  3955. X    item = w->compound.active_item - 1;
  3956. X    if (item < 0)
  3957. X        item = 0;
  3958. X    break;
  3959. X
  3960. X    case 'N':
  3961. X    item = w->compound.active_item + 1;
  3962. X    if (item >= w->compound.num_items)
  3963. X        item = w->compound.num_items - 1;
  3964. X    break;
  3965. X    }
  3966. X
  3967. X    w->compound.active_item = item;
  3968. X
  3969. X    CompoundDrawItem(widget, last_item);
  3970. X    CompoundDrawItem(widget, item);
  3971. X}
  3972. X
  3973. X
  3974. X/*ARGSUSED*/
  3975. Xstatic void CompoundGoto(widget, event, params, num_params)
  3976. XWidget widget;
  3977. XXEvent *event;            /* unused */
  3978. XString *params;            /* unused */
  3979. XCardinal *num_params;        /* unused */
  3980. X{
  3981. X    CompoundWidget w = (CompoundWidget) widget;
  3982. X    int item = w->compound.active_item;
  3983. X
  3984. X    w->compound.active_item = NO_ITEM;
  3985. X    CompoundDrawItem(widget, item);
  3986. X
  3987. X    switch (params[0][0])
  3988. X    {
  3989. X    case 'P':
  3990. X    DialogSetPrevFocus(w->compound.dialogbox);
  3991. X    break;
  3992. X
  3993. X    case 'N':
  3994. X    DialogSetNextFocus(w->compound.dialogbox);
  3995. X    break;
  3996. X    }
  3997. X}
  3998. X
  3999. X
  4000. X/***********************************************************/
  4001. X/******************** Public Procedures ********************/
  4002. X/***********************************************************/
  4003. X
  4004. X
  4005. XBoolean CompoundChangeLabel(widget, item, label)
  4006. XWidget widget;
  4007. XCardinal item;
  4008. XString label;
  4009. X{
  4010. X    CompoundWidget w = (CompoundWidget) widget;
  4011. X    ToggleItem *toggle_item;
  4012. X    RadioItem *radio_item;
  4013. X
  4014. X    if (item >= w->compound.num_items || label == NULL)
  4015. X    return (False);
  4016. X
  4017. X    if (w->compound.button_type == ToggleButton)
  4018. X    {
  4019. X    toggle_item = &(w->compound.toggle_items[item]);
  4020. X    if (strcmp(&(toggle_item->label[3]), label) == SAME)
  4021. X        return (True);
  4022. X    free(toggle_item->label);
  4023. X    toggle_item->label =
  4024. X      malloc((unsigned) strlen(label) + 4);
  4025. X    (void) strcpy(&(toggle_item->label[3]), label);
  4026. X    }
  4027. X    else
  4028. X    {
  4029. X    radio_item = &(w->compound.radio_items[item]);
  4030. X    if (strcmp(&(radio_item->label[3]), label) == SAME)
  4031. X        return (True);
  4032. X    free(radio_item->label);
  4033. X    radio_item->label =
  4034. X      malloc((unsigned) strlen(label) + 4);
  4035. X    (void) strcpy(&(radio_item->label[3]), label);
  4036. X    }
  4037. X
  4038. X    CompoundDrawItem(widget, (int) item);
  4039. X    return (True);
  4040. X}
  4041. X
  4042. X
  4043. XBoolean ToggleChangeState(widget, item, state)
  4044. XWidget widget;
  4045. XCardinal item;
  4046. XBoolean state;
  4047. X{
  4048. X    CompoundWidget w = (CompoundWidget) widget;
  4049. X    ToggleItem *toggle_item;
  4050. X
  4051. X    if (item >= w->compound.num_items)
  4052. X    return (False);
  4053. X
  4054. X    toggle_item = &(w->compound.toggle_items[item]);
  4055. X
  4056. X    if (toggle_item->state == state)
  4057. X    return (True);
  4058. X
  4059. X    toggle_item->state = state;
  4060. X    CompoundDrawItem(widget, (int) item);
  4061. X    return (True);
  4062. X}
  4063. X
  4064. X
  4065. XBoolean ToggleGetState(widget, item)
  4066. XWidget widget;
  4067. XCardinal item;
  4068. X{
  4069. X    CompoundWidget w = (CompoundWidget) widget;
  4070. X    ToggleItem *toggle_item;
  4071. X
  4072. X    if (w->compound.button_type != ToggleButton)
  4073. X    {
  4074. X    eprintf("Invalid widget type\n");
  4075. X    abort();
  4076. X    }
  4077. X
  4078. X    if (item >= w->compound.num_items)
  4079. X    {
  4080. X    eprintf("Invalid item: %d\n", item);
  4081. X    abort();
  4082. X    }
  4083. X
  4084. X    toggle_item = &(w->compound.toggle_items[item]);
  4085. X
  4086. X    return (toggle_item->state);
  4087. X}
  4088. X
  4089. X
  4090. XBoolean RadioChangeSelected(widget, item)
  4091. XWidget widget;
  4092. XCardinal item;
  4093. X{
  4094. X    CompoundWidget w = (CompoundWidget) widget;
  4095. X    int last_item = w->compound.selected_item;
  4096. X
  4097. X    if (item >= w->compound.num_items)
  4098. X    return (False);
  4099. X
  4100. X    w->compound.selected_item = item;
  4101. X
  4102. X    if (item != last_item)
  4103. X    CompoundDrawItem(widget, last_item);
  4104. X
  4105. X    CompoundDrawItem(widget, (int) item);
  4106. X
  4107. X    return (True);
  4108. X}
  4109. X
  4110. X
  4111. XCardinal RadioGetSelected(widget)
  4112. XWidget widget;
  4113. X{
  4114. X    CompoundWidget w = (CompoundWidget) widget;
  4115. X
  4116. X    if (w->compound.button_type != RadioButton)
  4117. X    {
  4118. X    eprintf("Invalid widget type\n");
  4119. X    abort();
  4120. X    }
  4121. X    return (w->compound.selected_item);
  4122. X}
  4123. END_OF_FILE
  4124. if test 15878 -ne `wc -c <'widgets/Compound.c'`; then
  4125.     echo shar: \"'widgets/Compound.c'\" unpacked with wrong size!
  4126. fi
  4127. # end of 'widgets/Compound.c'
  4128. fi
  4129. echo shar: End of archive 4 \(of 10\).
  4130. cp /dev/null ark4isdone
  4131. MISSING=""
  4132. for I in 1 2 3 4 5 6 7 8 9 10 ; do
  4133.     if test ! -f ark${I}isdone ; then
  4134.     MISSING="${MISSING} ${I}"
  4135.     fi
  4136. done
  4137. if test "${MISSING}" = "" ; then
  4138.     echo You have unpacked all 10 archives.
  4139.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  4140. else
  4141.     echo You still need to unpack the following archives:
  4142.     echo "        " ${MISSING}
  4143. fi
  4144. ##  End of shell archive.
  4145. exit 0
  4146.  
  4147. dan
  4148. ----------------------------------------------------
  4149. O'Reilly && Associates   argv@sun.com / argv@ora.com
  4150. Opinions expressed reflect those of the author only.
  4151.