home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-04-20 | 39.5 KB | 1,054 lines |
- Newsgroups: comp.sources.x
- Path: uunet!zaphod.mps.ohio-state.edu!mips!msi!dcmartin
- From: Fritz Haubensak <hsk@informatik.uni-wuerzburg.de>
- Subject: v17i074: TeXcad (X) version 1.2, Part10/10
- Message-ID: <1992Apr21.131456.2652@msi.com>
- Originator: dcmartin@fascet
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Nntp-Posting-Host: fascet
- Organization: Molecular Simulations, Inc.
- References: <csx-17i065-xtexcad-1.2@uunet.UU.NET>
- Date: Tue, 21 Apr 1992 13:14:56 GMT
- Approved: dcmartin@msi.com
- Lines: 1039
-
- Submitted-by: Fritz Haubensak <hsk@informatik.uni-wuerzburg.de>
- Posting-number: Volume 17, Issue 74
- Archive-name: xtexcad-1.2/part10
-
- # this is part.10 (part 10 of a multipart archive)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file pics.h continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 10; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping pics.h'
- else
- echo 'x - continuing file pics.h'
- sed 's/^X//' << 'SHAR_EOF' >> 'pics.h' &&
- X 0x04, 0xc1, 0x04, 0x00, 0x00, 0x61, 0x04, 0x11, 0x04, 0xc1, 0x04, 0x00,
- X 0x00, 0x61, 0x04, 0x29, 0x04, 0xc1, 0x04, 0x00, 0x00, 0xa1, 0x04, 0xc9,
- X 0x04, 0x21, 0x05, 0x00, 0x00, 0x12, 0x03, 0x06, 0x03, 0x12, 0x02, 0x00,
- X 0x00, 0x0c, 0x03, 0x06, 0x03, 0x0c, 0x03, 0x00, 0x00, 0xfc, 0x04, 0xf9,
- X 0x04, 0xfc, 0x04, 0x00, 0x00, 0x02, 0x08, 0x01, 0x08, 0x02, 0x08, 0x00,
- X 0x00, 0x01, 0x80, 0x00, 0x10, 0x01, 0x08, 0x00, 0x00, 0x01, 0x40, 0x00,
- X 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0xf8, 0x00, 0xf8,
- X 0x00, 0xf9, 0x80, 0x00, 0x00, 0x04, 0x01, 0x04, 0x01, 0x06, 0x61, 0x00,
- X 0x00, 0x02, 0x02, 0x02, 0x02, 0x06, 0x12, 0x00, 0x00, 0x01, 0x04, 0x01,
- X 0x04, 0x09, 0x0c, 0x00, 0x00, 0x01, 0x04, 0x01, 0x04, 0x11, 0x06, 0x00,
- X 0x00, 0x01, 0x04, 0x01, 0x04, 0x21, 0x05, 0x00, 0x00, 0x01, 0x04, 0x01,
- X 0x04, 0xc1, 0x04, 0x00, 0x00, 0x01, 0x04, 0x01, 0x04, 0xc1, 0x04, 0x00,
- X 0x00, 0x02, 0x02, 0x02, 0x02, 0x32, 0x03, 0x00, 0x00, 0x04, 0x01, 0x04,
- X 0x01, 0x0c, 0x03, 0x00, 0x00, 0xf8, 0x00, 0xf8, 0x00, 0xfc, 0x04, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- #define text_width 60
- #define text_height 60
- static char text_bits[] = {
- X 0xfc, 0xfb, 0x19, 0xec, 0x1f, 0x00, 0x00, 0x00, 0xfc, 0xfb, 0x19, 0xec,
- X 0x1f, 0x00, 0x00, 0x00, 0x60, 0x18, 0x30, 0x06, 0x03, 0x00, 0x00, 0x00,
- X 0x60, 0x18, 0x30, 0x06, 0x03, 0x00, 0x00, 0x00, 0x60, 0x18, 0x60, 0x03,
- X 0x03, 0x00, 0x00, 0x00, 0x60, 0x78, 0xe0, 0x03, 0x03, 0x00, 0x00, 0x00,
- X 0x60, 0x78, 0xc0, 0x01, 0x03, 0x00, 0x00, 0x00, 0x60, 0x18, 0xe0, 0x03,
- X 0x03, 0x00, 0x00, 0x00, 0x60, 0x18, 0x60, 0x03, 0x03, 0x00, 0x00, 0x00,
- X 0x60, 0x18, 0x30, 0x06, 0x03, 0x00, 0x00, 0x00, 0x60, 0xf8, 0x19, 0x0c,
- X 0x03, 0x00, 0x00, 0x00, 0x60, 0xf8, 0x19, 0x0c, 0x03, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x80, 0x1f, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x4f, 0x3f, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0x7f, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x18, 0x7e, 0x00, 0x40, 0x3e, 0xbe, 0x1f, 0x00, 0x08, 0xfe, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfc, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x02, 0xf8, 0x00, 0x40, 0xfe, 0xf7, 0xdf, 0x03, 0x01, 0x40, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x40, 0x00, 0x10, 0x00, 0x40, 0xfe, 0xef, 0xed, 0x23, 0x00, 0x08, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x08, 0x00, 0x02, 0x00, 0x40, 0xae, 0x6d, 0x03, 0x04, 0x00, 0x01, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x01, 0x40, 0x00, 0x00, 0x40, 0xa6, 0xea, 0x80, 0x00, 0x20, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20,
- X 0x00, 0x08, 0x00, 0x00, 0x40, 0x56, 0x3a, 0x10, 0x00, 0x0c, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x08, 0x00, 0x0a, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04,
- X 0x00, 0x09, 0x00, 0x00, 0x40, 0xee, 0x7b, 0x02, 0x80, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x06, 0x40, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x0f,
- X 0x20, 0x08, 0x00, 0x00, 0x40, 0xbe, 0x1f, 0x1f, 0x10, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x3f, 0x08, 0x08, 0x00, 0x00, 0x40, 0x00, 0x80, 0x7f,
- X 0x04, 0x08, 0x00, 0x00, 0x40, 0xbe, 0x8f, 0xff, 0x02, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x80, 0xff, 0x01, 0x08, 0x00, 0x00, 0x40, 0x00, 0xc0, 0xff,
- X 0x00, 0x08, 0x00, 0x00, 0x40, 0x1e, 0xc0, 0x1f, 0x00, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0xc0, 0x01, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff,
- X 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- #define vector_width 60
- #define vector_height 60
- static char vector_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x10, 0x00, 0x00, 0x00,
- X 0x00, 0xc0, 0x1f, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x00,
- X 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
- X 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
- X 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
- X 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
- X 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00,
- X 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
- X 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00,
- X 0x00, 0x30, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xf0, 0x02, 0x00,
- X 0x00, 0x04, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00,
- X 0x00, 0xf0, 0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
- X 0x00, 0x34, 0x00, 0x00, 0xe0, 0x70, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00,
- X 0x1e, 0x30, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00,
- X 0x00, 0x3f, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xc0, 0x01,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0xd8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xb0, 0x3f, 0xdf,
- X 0x3f, 0x1f, 0x3f, 0x00, 0x0c, 0xb0, 0xbf, 0xdf, 0xbf, 0x3f, 0x7f, 0x00,
- X 0x18, 0x98, 0x81, 0x01, 0x86, 0x31, 0xe3, 0x00, 0x18, 0x98, 0x81, 0x01,
- X 0x86, 0x31, 0xc3, 0x00, 0x30, 0x8c, 0x81, 0x01, 0x86, 0x31, 0xc3, 0x00,
- X 0x30, 0x8c, 0x87, 0x01, 0x86, 0x31, 0xe3, 0x00, 0x60, 0x86, 0x87, 0x01,
- X 0x86, 0x31, 0x7f, 0x00, 0x60, 0x86, 0x81, 0x01, 0x86, 0x31, 0x3f, 0x00,
- X 0xc0, 0x83, 0x81, 0x01, 0x86, 0x31, 0x3b, 0x00, 0xc0, 0x83, 0x81, 0x01,
- X 0x86, 0x31, 0x73, 0x00, 0x80, 0x81, 0xbf, 0x1f, 0x86, 0x3f, 0xe3, 0x00,
- X 0x80, 0x81, 0x3f, 0x1f, 0x06, 0x1f, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- #define zoom_width 60
- #define zoom_height 60
- static char zoom_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xe3, 0xc3, 0xc7,
- X 0xc0, 0x00, 0x00, 0x00, 0xf8, 0xf3, 0xe7, 0xcf, 0xe1, 0x00, 0x00, 0x00,
- X 0x00, 0x31, 0x66, 0xcc, 0xe1, 0x00, 0x00, 0x00, 0x80, 0x31, 0x66, 0xcc,
- X 0xf3, 0x00, 0x00, 0x00, 0x80, 0x30, 0x66, 0xcc, 0xde, 0x00, 0x00, 0x00,
- X 0xc0, 0x30, 0x66, 0xcc, 0xcc, 0x00, 0x00, 0x00, 0x60, 0x30, 0x66, 0xcc,
- X 0xcc, 0x00, 0x00, 0x00, 0x20, 0x30, 0x66, 0xcc, 0xc0, 0x00, 0x00, 0x00,
- X 0x30, 0x30, 0x66, 0xcc, 0xc0, 0x00, 0x00, 0x00, 0x10, 0x30, 0x66, 0xcc,
- X 0xc0, 0x00, 0x00, 0x00, 0xf8, 0xf3, 0xe7, 0xcf, 0xc0, 0x00, 0x00, 0x00,
- X 0xf8, 0xe3, 0xc3, 0xc7, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0xe0, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
- X 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x18, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
- X 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00,
- X 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
- X 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
- X 0x00, 0x00, 0xc0, 0xff, 0x3f, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xff,
- X 0x3f, 0x00, 0x01, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x01, 0x00,
- X 0x20, 0x00, 0xc0, 0xff, 0x3f, 0x00, 0x01, 0x00, 0x20, 0x00, 0xc0, 0xff,
- X 0x3f, 0x00, 0x01, 0x00, 0x20, 0x00, 0x40, 0x00, 0x3e, 0x00, 0x01, 0x00,
- X 0x20, 0x00, 0x40, 0x00, 0x3e, 0x00, 0x01, 0x00, 0x20, 0x00, 0x80, 0x00,
- X 0x3e, 0x80, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00, 0x3e, 0x80, 0x00, 0x00,
- X 0x20, 0x00, 0x80, 0x00, 0x3e, 0x80, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01,
- X 0x3e, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x3e, 0x20, 0x00, 0x00,
- X 0x20, 0x00, 0x00, 0x02, 0x3e, 0x60, 0x00, 0x00, 0x20, 0x00, 0x00, 0x0c,
- X 0x3e, 0xf8, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x3e, 0xfc, 0x01, 0x00,
- X 0x20, 0x00, 0x00, 0xe0, 0xbe, 0xfb, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00,
- X 0x7f, 0xf0, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0xe0, 0x0f, 0x00,
- X 0x20, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x1f, 0x00, 0x20, 0x00, 0x00, 0x00,
- X 0x08, 0x80, 0x3f, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f, 0x00,
- X 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x00, 0x20, 0x00, 0x00, 0x00,
- X 0x08, 0x00, 0xfc, 0x01, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0xf8, 0x03,
- X 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0xf0, 0x07, 0x20, 0x00, 0x00, 0x00,
- X 0x08, 0x00, 0xe0, 0x0f, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x07,
- X 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x80, 0x03, 0x20, 0x00, 0x00, 0x00,
- X 0x08, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
- X 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
- X 0x08, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- X
- #define bezier_width 60
- #define bezier_height 60
- static char bezier_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x76, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x60, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x60, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
- X 0x00, 0x00, 0x3c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00,
- X 0x80, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x66, 0x00, 0x40, 0x00, 0x06, 0x3c,
- X 0x00, 0x00, 0x66, 0x00, 0x20, 0x04, 0x01, 0xc0, 0x00, 0x00, 0x30, 0x00,
- X 0x20, 0x84, 0x00, 0x00, 0x07, 0x00, 0x38, 0x00, 0xe0, 0x87, 0x00, 0x00,
- X 0x18, 0x00, 0x60, 0x00, 0xa0, 0x47, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00,
- X 0x00, 0x40, 0x00, 0x00, 0x80, 0x01, 0x66, 0x00, 0x00, 0x20, 0x00, 0x00,
- X 0x00, 0x06, 0x66, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x66, 0x00,
- X 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x3c, 0x00, 0x00, 0x10, 0x00, 0x00,
- X 0x00, 0xc0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00,
- X 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00,
- X 0x00, 0x80, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
- X 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x08, 0x00, 0x08,
- X 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x01,
- X 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x03,
- X 0x00, 0x00, 0xc0, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x84, 0x9f, 0xdf, 0xdf, 0x7e, 0x3f, 0x00, 0x00, 0x84, 0xbf, 0xdf,
- X 0xdf, 0x7e, 0x7f, 0x00, 0x00, 0x84, 0xb1, 0x01, 0xc8, 0x06, 0x63, 0x00,
- X 0x00, 0x84, 0xb1, 0x01, 0xcc, 0x06, 0x63, 0x00, 0x00, 0x84, 0xb1, 0x01,
- X 0xc4, 0x06, 0x63, 0x00, 0x00, 0x82, 0x9f, 0x07, 0xc6, 0x1e, 0x3f, 0x00,
- X 0x00, 0x82, 0x9f, 0x07, 0xc3, 0x1e, 0x3f, 0x00, 0x00, 0x82, 0xb1, 0x01,
- X 0xc1, 0x06, 0x1b, 0x00, 0x00, 0x82, 0xb1, 0x81, 0xc1, 0x06, 0x33, 0x00,
- X 0x00, 0x82, 0xb1, 0x81, 0xc0, 0x06, 0x63, 0x00, 0x00, 0x82, 0xbf, 0xdf,
- X 0xdf, 0x7e, 0x63, 0x00, 0x00, 0x82, 0x9f, 0xdf, 0xdf, 0x7e, 0x63, 0x00,
- X 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- X 0x00, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- X 0x00, 0x01, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x81, 0x01, 0x97,
- X 0x9c, 0x60, 0xcf, 0x01, 0x00, 0xc1, 0x81, 0x90, 0xa4, 0x20, 0x21, 0x00,
- X 0x00, 0x81, 0x81, 0x90, 0x24, 0x91, 0x23, 0x00, 0x00, 0x81, 0x81, 0x90,
- X 0x1a, 0x8a, 0xc0, 0x00, 0x00, 0x81, 0x81, 0x50, 0x32, 0x4c, 0x00, 0x01,
- X 0x80, 0x83, 0x81, 0x60, 0x62, 0xc4, 0x03, 0x01, 0x80, 0x82, 0x01, 0x01,
- X 0x01, 0x00, 0x80, 0x01, 0x80, 0x83, 0x01, 0x0e, 0x01, 0x00, 0xe0, 0x00,
- X 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x80, 0x01, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00};
- X
- X
- #define up_width 35
- #define up_height 20
- static char up_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00,
- X 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0x00,
- X 0xf0, 0x7f, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xfc, 0xff,
- X 0x01, 0x00, 0x00, 0xfe, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x07, 0x00,
- X 0x80, 0xff, 0xf8, 0x0f, 0x00, 0xc0, 0x3f, 0xe0, 0x1f, 0x00, 0xe0, 0x07,
- X 0x00, 0x3f, 0x00, 0xf0, 0x01, 0x00, 0x7c, 0x00, 0x38, 0x00, 0x00, 0xe0,
- X 0x00, 0x0c, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00};
- X
- #define down_width 35
- #define down_height 20
- static char down_bits[] = {
- X 0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0xf8,0x0c,0x00,0x00,0x80,0xf9,
- X 0x38,0x00,0x00,0xe0,0xf8,0xf0,0x01,0x00,0x7c,0xf8,0xe0,0x07,0x00,0x3f,0xf8,
- X 0xc0,0x3f,0xe0,0x1f,0xf8,0x80,0xff,0xf8,0x0f,0xf8,0x00,0xff,0xff,0x07,0xf8,
- X 0x00,0xfe,0xff,0x03,0xf8,0x00,0xfc,0xff,0x01,0xf8,0x00,0xf8,0xff,0x00,0xf8,
- X 0x00,0xf0,0x7f,0x00,0xf8,0x00,0xe0,0x3f,0x00,0xf8,0x00,0xc0,0x1f,0x00,0xf8,
- X 0x00,0x80,0x0f,0x00,0xf8,0x00,0x00,0x07,0x00,0xf8,0x00,0x00,0x02,0x00,0xf8,
- X 0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0xf8};
- X
- #define left_width 20
- #define left_height 35
- static char left_bits[] = {
- X 0x00,0x00,0xf0,0x00,0x00,0xf0,0x00,0x00,0xf2,0x00,0x00,0xf3,0x00,0x80,0xf1,
- X 0x00,0xc0,0xf1,0x00,0xe0,0xf0,0x00,0xf0,0xf0,0x00,0xf8,0xf0,0x00,0x7c,0xf0,
- X 0x00,0x7e,0xf0,0x00,0x3f,0xf0,0x80,0x3f,0xf0,0xc0,0x3f,0xf0,0xe0,0x1f,0xf0,
- X 0xf0,0x1f,0xf0,0xf8,0x0f,0xf0,0xfc,0x0f,0xf0,0xf8,0x0f,0xf0,0xf0,0x1f,0xf0,
- X 0xe0,0x1f,0xf0,0xc0,0x3f,0xf0,0x80,0x3f,0xf0,0x00,0x3f,0xf0,0x00,0x7e,0xf0,
- X 0x00,0x7c,0xf0,0x00,0xf8,0xf0,0x00,0xf0,0xf0,0x00,0xe0,0xf0,0x00,0xc0,0xf1,
- X 0x00,0x80,0xf1,0x00,0x00,0xf3,0x00,0x00,0xf2,0x00,0x00,0xf0,0x00,0x00,0xf0
- X };
- X
- #define right_width 20
- #define right_height 35
- static char right_bits[] = {
- X 0x00,0x00,0xf0,0x00,0x00,0xf0,0x04,0x00,0xf0,0x0c,0x00,0xf0,0x18,0x00,0xf0,
- X 0x38,0x00,0xf0,0x70,0x00,0xf0,0xf0,0x00,0xf0,0xf0,0x01,0xf0,0xe0,0x03,0xf0,
- X 0xe0,0x07,0xf0,0xc0,0x0f,0xf0,0xc0,0x1f,0xf0,0xc0,0x3f,0xf0,0x80,0x7f,0xf0,
- X 0x80,0xff,0xf0,0x00,0xff,0xf1,0x00,0xff,0xf3,0x00,0xff,0xf1,0x80,0xff,0xf0,
- X 0x80,0x7f,0xf0,0xc0,0x3f,0xf0,0xc0,0x1f,0xf0,0xc0,0x0f,0xf0,0xe0,0x07,0xf0,
- X 0xe0,0x03,0xf0,0xf0,0x01,0xf0,0xf0,0x00,0xf0,0x70,0x00,0xf0,0x38,0x00,0xf0,
- X 0x18,0x00,0xf0,0x0c,0x00,0xf0,0x04,0x00,0xf0,0x00,0x00,0xf0,0x00,0x00,0xf0
- X };
- X
- #define zen_width 8
- #define zen_height 8
- static char zen_bits[] = {
- X 0xe7, 0x81, 0x81, 0x00, 0x00, 0x81, 0x81, 0xe7};
- X
- #endif
- SHAR_EOF
- echo 'File pics.h is complete' &&
- chmod 0644 pics.h ||
- echo 'restore of pics.h failed'
- Wc_c="`wc -c < 'pics.h'`"
- test 65217 -eq "$Wc_c" ||
- echo 'pics.h: original size 65217, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= texcad ==============
- if test -f 'texcad' -a X"$1" != X"-c"; then
- echo 'x - skipping texcad (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting texcad (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'texcad' &&
- xtexcad $* -fn 6x13
- SHAR_EOF
- chmod 0755 texcad ||
- echo 'restore of texcad failed'
- Wc_c="`wc -c < 'texcad'`"
- test 20 -eq "$Wc_c" ||
- echo 'texcad: original size 20, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= texcad12.man ==============
- if test -f 'texcad12.man' -a X"$1" != X"-c"; then
- echo 'x - skipping texcad12.man (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting texcad12.man (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'texcad12.man' &&
- \documentstyle[11pt, titlepage]{article}
- X
- \parindent0pt
- X
- \begin{document}
- X
- \title{{\Huge TeXcad}\\
- X {\large Version 1.2 \\
- X {\sc Shareware}}}
- \author{Klaus Zitzmann}
- \date{\today}
- X
- \maketitle
- X
- \section{Preface}
- X
- X This is TeXcad Version 1.2 .
- X
- X TeXcad is distributed as a SHAREWARE product.
- X If you like it and find it convenient to use,
- X please don't hesitate to send an appreciation of \$20
- X to\footnote{Any update or newer version is free !}:
- X
- \begin{tabbing}
- X \hspace{2cm} \= \kill
- X \> Klaus Zitzmann \\
- X \> Langenau Stra\ss{}e 20 \\
- X \> D-5400 Koblenz, Germany \\
- \\
- X \> Kreissparkasse Koeln/Germany \\
- X \> Bank Code : 37050299 (BLZ)\\
- X \> Account No. : 1359024299\\
- \\
- X \> e-mail : zitzmann@infko.uni-koblenz.de \\
- X \> ...!uunet!mcsun!unido!infko!zitzmann \\
- \end{tabbing}
- X
- X You must not use this program as a part of a commercial
- X distribution.
- X
- X The author makes no guarantees with this program and
- X is not responsible for any damage caused by it.
- X
- \section{Introduction}
- X
- \LaTeX~is a professional `{\it document preparation system}' for all
- kinds of documents like books, articles etc.
- It is obvious that those documents can contain graphics.
- Although \LaTeX~offers some graphics primitives, it is
- difficult and awkward to produce a picture with them.
- The TeXcad package is a comfortable editor for \LaTeX~ pictures
- which translates the drawn images into pure \LaTeX~ code and also
- allows a subsequent editing.
- X
- \mbox{}
- X
- \mbox{}\hfill Klaus Zitzmann,\hfill Koblenz/Germany in Oktober 91
- X
- \newpage
- X
- \section{User Guide}
- X
- \subsection{Installation}
- X
- The program is written in ANSI-C and compiled with the
- GNU-C-Compiler.
- It uses the MIT's X-Window-System and includes the major
- part of the ATHENA Widget Set. It runs under UNIX.
- I've developed and tested this program on a SUN 3 and 4 (Sparc Sun).
- X
- TeXcad is distributed with the following files:
- X
- \begin{center}
- \begin{tabbing}
- X \hspace{4cm} \= \hspace{4cm} \= \hspace{4cm} \kill
- X oberfl.c \> oberfl.h \> graphics.c \\
- X graphics.h \> file\_sel.c \> file\_sel.h \\
- X extdef.h \> x\_stuff.h \> Imakefile \\
- X texcad \> Makefile.std \> ereignis.c \\
- X ereignis.h \> pickedit.c \> pickedit.h \\
- X io\_trans.c \> io\_trans.h \> pics.h \\
- X yyscan.l \> yyscan.h \> Xtexcad.ad \\
- X patchlevel.h \> texcad12.man \> README
- \end{tabbing}
- X
- \end{center}
- X
- If you use the {\it Makefile.std}, type `make -f Makefile.std cad' to produce
- the code named `xtexcad'.
- X
- Type `xrdb -merge Xtexcad.ad' to load the resources.
- You can start the program by typing `xtexcad [filename] \{toolkit options\}'
- or `texcad [filename] \{toolkit options\}'.
- X
- \subsection{Particularities}
- X
- The biggest picture the present program normally creates is of A4 size.\\
- If this is not large enough, you have to use the {\bf move image} option
- {\it (see below)} or just modify the `{\it unitlength-parameter}' within
- your TeX file\footnote{Manipulating the {\it unitlength} parameter always
- leads to a complete recomputation of circle diameters. Since these diameters
- are limited, it is possible that the results of this recomputation are
- invalid diameters, which are not displayed in the output.\\
- Nevertheless it is possible to abuse this modification as
- a {\it n-level zoom}.}.
- The internal unit of measurement is points (pt). All relevant
- values of an external picture will be transformed while reading
- it into the database.
- X
- During the development of TeXcad, I tried to keep the code as
- portable as possible\footnote{TeXcad was successfully installed on NeXT
- and Data General computers at the University of Koblenz.}.
- Nevertheless, there occurred multiple (unsolved) problems, especially
- when using the {\it NeWS} Server with the {\it twm} Window Manager.
- X
- X
- X
- \subsection{Commands}
- X
- TeXcad supports the following commands:
- X
- \begin{itemize}
- X \item line
- X \item vector
- X \item box (normal, framed, filled)
- X \item circle (normal,oval,filled)
- X \item b\'{e}zier
- X \item text
- \end{itemize}
- X
- X
- X {\bf {\it CONVENTION:}}
- \\
- X Pressing button 1 on an icon selects the function.
- X Watch the status line of the window manager. The current
- X context and possible user actions are shown there.
- X When moving the pointer into the {\bf canvas}\footnote{The area in
- X which the picture is drawn.}
- X area, the selected command becomes active. Move the pointer out of
- X the canvas to cancel the current command.
- X
- X
- Sometimes the computer displays certain messages in a
- popup window.
- If there is no other possibility, you can close this window
- by moving the pointer (in and) out of this window.
- X
- X
- \begin{description}
- X \item{\bf The line and vector functions:} \\
- X The start and end points of a line are specified by pressing
- X button 1 on the canvas.
- X Press one of the other buttons to start drawing a new line.
- X \item{\bf The box function:} \\
- X Hold button 1 on the box icon to pop up a menu.
- X Move the pointer on one of the options ({\bf framed, filled,
- X dashed}). Release the button to select the desired function.
- X After the rectangle has been drawn, you are prompted for the
- X box text and its position.
- X
- X \item{\bf The circle function:} \\
- X (see {\it function box} !)
- X
- X \item{\bf The b\'{e}zier function:} \\
- X Draws a quadratic B-Spline curve.
- X After determining start and end points of the curve ({\it see
- X line/vector}) you have to control its curvature.
- X Be sure to add the b\'{e}zier style option to the header of your document
- X (e.g.~{\it documentstyle[11pt, bezier]\{book\}}).
- X
- X \item{\bf The text function:} \\
- X After pressing button 1 on the canvas, you are prompted for
- X textual input.
- X You can specify the text position relative to the
- X selected point.\\
- X Examples:\\
- X Press BOTTOM to center the text relative to this point.\\
- X Press TOP RIGHT and this point will be the upper right edge
- X of the text.
- \end{description}
- X
- X
- X
- The following commands allow a convenient editing of the
- picture:
- X
- X
- \begin{description}
- X \item{\bf zoom:} \\
- X A constant zoom area is supported.
- X There is only one zoom level possible (and necessary !).
- X \item{\bf refresh:} \\
- X Redraws the screen.
- X Leaves the zoom function.
- X \item{\bf erase:} \\
- X Holding button 1 on the `erase' icon pops up a menu
- X with the options {\bf erase entire database} and {\bf pick erase}.\\
- X The first option deletes all objects.\\
- X With the second option, you can erase individual
- X objects from a complex picture by picking them with
- X the pointer: move the pointer close to the desired object
- X and press button 1. The object will be marked on the
- X screen and you can delete it by pressing the second button.
- X Sometimes, when editing complex pictures where objects
- X are very close to each other or overlapping, it can occur
- X that the computer picks the wrong object. In this case,
- X use button 3 to select the next possible object in the
- X vicinity.
- X \item{\bf copy:} \\
- X Copies the object.\\
- X First you have to pick the desired object ( see {\it erase} !).
- X Hold button 2 and move the pointer to position the object
- X on the screen.
- X
- X
- X \item{\bf pickedit:} \\
- X Holding button 1 on the erase icon pops up a menu
- X with the option {\bf pick object} and some {\bf TEXT-edit} options.
- X
- X What concerns the first option:\\
- X Pick the desired object!
- X To move the object, just hold button 2 and move the
- X pointer.
- X The object gets markers (little circles). Move the
- X pointer into one of these markers and hold button 1 to
- X edit the object. Only circle objects don't get
- X markers. It is sufficient to move the pointer close to
- X the arc.
- X
- X The other options:\\
- X These options ({\bf TEXT, framedBox Text, dashedBox Text})
- X allow a comfortable editing of text.
- X
- X \item{\bf Settings:} \\
- X It is possible to switch between different default settings within
- X the `settings` menu:
- X \begin{itemize}
- X \item Unlimited Slopes \\
- X \LaTeX~offers only limited vector and line slopes.
- X This option turns this restriction off but be sure
- X that your TeX Version can handle these slopes.
- X \item Watch Line Length \\
- X The minimum length of a line or a vector is 10 points.
- X By turning this option on, the computer will not allow to
- X draw a shorter line/vector.
- X
- X \item Enable Raster \\
- X Shows a raster.
- X \item Snap Pointer \\
- X If the raster is active, the pointer will be snapped
- X on the\\
- X knot-points of the raster.
- X \item Cross Wire \\
- X Creates an additional pointer - a cross wire.
- X
- X \item Center DIN A4 \\
- X The computer suggests that the picture shall be
- X centered horizontally and vertically on the screen.
- X The final adjustment can be done `by hand' only!
- X Some hints are generated within the *.tex file.
- X
- X \item Automatic Refresh \\
- X Some floating point operations cause an internal
- X rounding error so that sometimes individual objects
- X cannot be deleted correctly.
- X The refresh removes this garbage automatically.
- X \item Enable Ruler\\
- X Shows a ruler.
- X The unit of measurement is pt (points).
- X \end{itemize}
- X
- X
- X \item{\bf The function file:} \\
- X This function manages the i/o of pictures.
- X The file format is pure \LaTeX~code.
- X The structure of a file, created by TeXcad, is the
- X following:
- X \begin{verbatim}
- X %
- X % /* comments */
- X %
- X begin{picture}(xdim,ydim)(xref,yref)
- X .
- X .
- X /* LaTeX graphic commands */
- X .
- X .
- X end{picture}
- X \end{verbatim}
- X
- X While reading an external document into the database,
- X TeXcad skips all unknown commands until it recognizes the
- X picture environment. This environment will be extracted
- X from the document.
- X
- X \item{\bf Coordinates: } \\
- X The absolute and relative (relative to the zoom area) coordinates
- X are displayed at the top right corner of the screen.
- X Sometimes this is useful for a correct positioning of the
- X pointer.
- X
- X \item{\bf Move picture: } \\
- X Select one of the four arrows diplayed below the coordinates box to move
- X the entire picture to the corresponding direction. Selecting the square
- X will center your picture.
- X
- \end{description}
- X
- \end{document}
- SHAR_EOF
- chmod 0644 texcad12.man ||
- echo 'restore of texcad12.man failed'
- Wc_c="`wc -c < 'texcad12.man'`"
- test 10421 -eq "$Wc_c" ||
- echo 'texcad12.man: original size 10421, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= x_stuff.h ==============
- if test -f 'x_stuff.h' -a X"$1" != X"-c"; then
- echo 'x - skipping x_stuff.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting x_stuff.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'x_stuff.h' &&
- /* xtexcad V1.2 - graphic editor for LaTeX */
- /* 1991 by K.Zitzmann */
- /* x_stuff.h Header-File */
- X
- #ifndef X_STUFFH
- #define X_STUFFH
- X
- X
- X
- X
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
- #include <X11/Xlib.h>
- #include <X11/StringDefs.h>
- #include <X11/Intrinsic.h>
- #include <X11/X.h>
- #include <X11/Xaw/Command.h>
- #include <X11/Xaw/SimpleMenu.h>
- #include <X11/Xaw/SmeBSB.h>
- #include <X11/Xaw/SmeLine.h>
- #include <X11/Xaw/MenuButton.h>
- #include <X11/Xaw/AsciiText.h>
- #include <X11/Xaw/TextSink.h>
- #include <X11/Xaw/Dialog.h>
- #include <X11/keysymdef.h>
- #include <X11/Xaw/Toggle.h>
- #include <X11/Xaw/Box.h>
- #include <X11/Xaw/List.h>
- #include <X11/Xaw/Form.h>
- #include <X11/Xaw/Label.h>
- X
- #endif
- X
- SHAR_EOF
- chmod 0644 x_stuff.h ||
- echo 'restore of x_stuff.h failed'
- Wc_c="`wc -c < 'x_stuff.h'`"
- test 700 -eq "$Wc_c" ||
- echo 'x_stuff.h: original size 700, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= yyscan.h ==============
- if test -f 'yyscan.h' -a X"$1" != X"-c"; then
- echo 'x - skipping yyscan.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting yyscan.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'yyscan.h' &&
- /* xtexcad V1.2 - graphic editor for LaTeX */
- /* 1991 by K.Zitzmann */
- /* scanner definition header-file yyscan.h */
- X
- X
- /* 06.11.91 */
- X
- X
- /* fuer FILE */
- #include <stdio.h>
- X
- X
- /* Tokens, die von yylex in yyscan.l
- X zurueckgeliefert werden
- */
- X
- #define TOK_BEGIN 1
- #define TOK_END 2
- X
- #define TOK_TEXT 3
- #define TOK_LETTERS_OPT 4
- X
- #define TOK_FLOAT 5
- X
- #define TOK_PUT 6
- #define TOK_FRAMEBOX 7
- #define TOK_DASHBOX 8
- #define TOK_LINE 9
- #define TOK_VECTOR 10
- #define TOK_CIRCLE 11
- #define TOK_CIRCLE_AST 12
- #define TOK_OVAL 13
- #define TOK_RULE 14
- #define TOK_MAKEBOX 15
- #define TOK_BEZIER 16
- X
- #define TOK_UNITLENGTH 20
- X
- #define TOK_DIM_PT 21
- #define TOK_DIM_CM 22
- #define TOK_DIM_MM 23
- #define TOK_DIM_PC 24
- #define TOK_DIM_IN 25
- #define TOK_DIM_UNITLENGTH 26
- X
- X
- /* Prototypen der Funktionen, die von yyscan.l 'exportiert' werden */
- X
- int yylex(void);
- X /* Scanner; liefert das jeweils naechste erkannte Token */
- X
- void yyinitscan(FILE *fp);
- X /* MUSS vor dem Beginn des Scannens aufgerufen werden (also vor dem
- X ersten Aufruf von yylex).
- X Setzt die Eingabedatei auf fp. Dabei MUSS die Datei fp schon offen sein!
- X */
- X
- X
- /* Daten, die von yyscan.l 'exportiert' werden */
- X
- extern float yyfloatval;
- X /* Falls eine float erkannt wurde (Token TOK_FLOAT oder TOK_UNITLENGTH),
- X enthaelt yyfloatval deren Wert.
- X */
- X
- #define YY_MAX_LEN 200
- X
- extern char yystrval[YY_MAX_LEN];
- X /* Falls ein Text oder Buchstaben erkannt wurden (Token TOK_TEXT oder
- X TOK_LETTERS_OPT), enthaelt yystrval deren Wert.
- X */
- SHAR_EOF
- chmod 0644 yyscan.h ||
- echo 'restore of yyscan.h failed'
- Wc_c="`wc -c < 'yyscan.h'`"
- test 1731 -eq "$Wc_c" ||
- echo 'yyscan.h: original size 1731, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= yyscan.l ==============
- if test -f 'yyscan.l' -a X"$1" != X"-c"; then
- echo 'x - skipping yyscan.l (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting yyscan.l (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'yyscan.l' &&
- /* xtexcad V1.2 - graphic editor for LaTeX */
- /* 1991 by K.Zitzmann */
- /* scanner definition yyscan.l */
- X
- X /* 07.11.91 */
- X
- X
- %{
- #include <string.h>
- #include <ctype.h>
- X
- /* fuer atof */
- #if defined(__TURBOC__)
- # include <stdlib.h>
- # else
- # include "extdef.h"
- #endif
- X
- #if defined(__TURBOC__)
- # define yywrap() 1
- #endif
- X
- /* Prototypen von Funktionen, die von lex NACH ihrem Aufruf
- X definiert werden
- X */
- int yylook(void);
- int yyback(int *p, int m);
- X
- X
- #include "yyscan.h"
- X
- char *readText(unsigned numBr);
- X
- float yyfloatval;
- X /* Falls eine float erkannt wurde (Token TOK_FLOAT oder TOK_UNITLENGTH),
- X enthaelt yyfloatval deren Wert.
- X */
- char yystrval[YY_MAX_LEN];
- X /* Falls ein Text oder Buchstaben erkannt wurden (Token TOK_TEXT oder
- X TOK_LETTERS_OPT), enthaelt yystrval deren Wert.
- X */
- X
- enum {gtNo,gtNext,gtForceNext,gtForceNext2} getText;
- X /* Gibt an, wann ein 'Text'-Argument vorkommen kann bzw. muss.
- X Moegliche Werte:
- X gtNo : kann nicht
- X gtNext : kann nach der naechsten {
- X gtForceNext : muss nach der naechsten {
- X gtForceNext2: muss nach der uebernaechsten {
- X */
- X
- typedef unsigned char BOOL;
- #define TRUE 1
- #define FALSE 0
- X
- BOOL getUnitLen,
- X /* Gibt an, ob die Laengenangabe fuer \unitlength gelesen werden soll. */
- X getDim;
- X /* Gibt an, ob die Dimension fuer \unitlength gelesen werden soll. */
- %}
- X
- X
- %s inPictEnv inPut lookOut
- X
- X
- ws [ \t\n]
- digit [0-9]
- letter [A-Za-z]
- sign [+-]
- X
- X
- %%
- X
- X
- {ws}+ {/* ignorieren */}
- "%".*\n {/* LaTeX-Kommentar ignorieren */}
- X
- <INITIAL>\\unitlength= getUnitLen = TRUE;
- <INITIAL>{sign}?{digit}+ |
- <INITIAL>{sign}?{digit}*"."{digit}* {if(getUnitLen)
- X {
- X yyfloatval = (float) atof(yytext);
- X getUnitLen = FALSE;
- X getDim = TRUE;
- X return TOK_UNITLENGTH;
- X }
- X }
- <INITIAL>pt {if(getDim)
- X {
- X getDim = FALSE;
- X return TOK_DIM_PT;
- X }
- X }
- <INITIAL>cm {if(getDim)
- X {
- X getDim = FALSE;
- X return TOK_DIM_CM;
- X }
- X }
- <INITIAL>mm {if(getDim)
- X {
- X getDim = FALSE;
- X return TOK_DIM_MM;
- X }
- X }
- <INITIAL>pc {if(getDim)
- X {
- X getDim = FALSE;
- X return TOK_DIM_PC;
- X }
- X }
- <INITIAL>in {if(getDim)
- X {
- X getDim = FALSE;
- X return TOK_DIM_IN;
- X }
- X }
- X
- <INITIAL>\\begin\{picture\} {BEGIN inPictEnv; return TOK_BEGIN;}
- X
- <INITIAL>.|\n {/* ignorieren */}
- X
- X
- <inPictEnv>\\bezier return TOK_BEZIER;
- <inPictEnv>\\put {BEGIN inPut; return TOK_PUT;}
- X
- <lookOut>\\framebox {getText = gtForceNext; BEGIN inPictEnv;
- X return TOK_FRAMEBOX;}
- <lookOut>\\makebox {getText = gtForceNext; BEGIN inPictEnv;
- X return TOK_MAKEBOX;}
- <lookOut>\\dashbox {getText = gtForceNext2; BEGIN inPictEnv;
- X return TOK_DASHBOX;}
- <lookOut>\\line {BEGIN inPictEnv; return TOK_LINE;}
- <lookOut>\\vector {BEGIN inPictEnv; return TOK_VECTOR;}
- <lookOut>\\circle {BEGIN inPictEnv; return TOK_CIRCLE;}
- <lookOut>\\circle\* {BEGIN inPictEnv; return TOK_CIRCLE_AST;}
- <lookOut>\\oval {BEGIN inPictEnv; return TOK_OVAL;}
- <lookOut>\\rule {BEGIN inPictEnv; return TOK_RULE;}
- X
- <lookOut>\} {/* 'leerer' Text */
- X yystrval[0] = '\0';
- X BEGIN inPictEnv;
- X return TOK_TEXT;}
- <lookOut>. {/* 'nichtleerer' Text */
- X yystrval[0] = yytext[0];
- X (void) strcpy(&yystrval[1],
- X readText(yytext[0] == '{'));
- X BEGIN inPictEnv;
- X return TOK_TEXT;}
- X
- <inPictEnv>\\unitlength return TOK_DIM_UNITLENGTH;
- <inPictEnv>pt return TOK_DIM_PT;
- <inPictEnv>cm return TOK_DIM_CM;
- <inPictEnv>mm return TOK_DIM_MM;
- <inPictEnv>pc return TOK_DIM_PC;
- <inPictEnv>in return TOK_DIM_IN;
- X
- <inPictEnv,inPut>{sign}?{digit}+ |
- <inPictEnv,inPut>{sign}?{digit}*"."{digit}* {yyfloatval = (float) atof(yytext);
- X return TOK_FLOAT;}
- X
- <inPictEnv>\{ {if(getText == gtForceNext)
- X {
- X (void) strcpy(yystrval,readText(0));
- X getText = gtNo;
- X return TOK_TEXT;
- X }
- X else if(getText == gtForceNext2)
- X getText = gtForceNext;}
- X
- <inPut>\{ BEGIN lookOut;
- <inPictEnv>\} {/* ignorieren */}
- <inPictEnv,inPut>[(),] {/* ignorieren */}
- X
- <inPictEnv>\\end\{picture\} return TOK_END;
- X
- <inPictEnv>\[({letter}{1,2})?\] {(void) strcpy(yystrval,&yytext[1]);
- X yystrval[yyleng - 2] = '\0';
- X return TOK_LETTERS_OPT;}
- X
- <inPictEnv>. {(void) fprintf(stderr,
- X "yylex: unrecognized char '%c' (%#X) in line %d\n",
- X yytext[0],yytext[0],yylineno);}
- X
- X
- %%
- X
- X
- /* Muss vor dem Beginn des Scannens aufgerufen werden.
- X Setzt die Datei auf fp und geht in den richtigen Zustand
- X ('eat up') ueber. Die Datei fp muss offen sein!
- X */
- void yyinitscan(FILE *fp)
- X {
- X yyin = fp;
- X
- X BEGIN INITIAL;
- X
- X getUnitLen = FALSE;
- X getDim = FALSE;
- X } /* yyinitscan */
- X
- X
- /* Liest (LaTeX-) Text, der als Argument eines Befehls auftritt,
- X bis (einschliesslich) zur schliessenden Argumentklammer.
- X Kommt mit verschachtelten { } zurecht. Liefert den Text (ohne
- X die Argumentklammern) zurueck. DIESES ERGEBNIS MUSS SOFORT
- X KOPIERT WERDEN, DA ES DIE ADRESSE EINES LOKALEN ARRAYS IST!!
- X Im Fehlerfall (unerwartetes Dateiende) liefert die Funktion
- X einen Zeiger auf den leeren String zurueck.
- X */
- char *readText(unsigned numBr)
- X {
- X static char text[YY_MAX_LEN];
- X unsigned i = 0;
- X char ch;
- X unsigned numBraces = numBr + 1;
- X
- X
- X /* pre: (numBr + 1) '{' wurden schon ueberlesen */
- X while(numBraces > 0)
- X {
- X if((ch = input()) == '\0' /*end of file*/)
- X {
- X (void) fprintf(stderr,
- X "readText: premature end of file in line %d\n",
- X yylineno);
- X return "";
- X }
- X
- X if(ch == '{')
- X numBraces++;
- X else if(ch == '}')
- X numBraces--;
- X
- X if(i >= YY_MAX_LEN)
- X {
- X (void) fprintf(stderr,
- X "readText: text argument too long in line %d\n",
- X yylineno);
- X return "";
- X }
- X text[i++] = ch;
- X }
- X /* jetzt ist die schliessende Argumentklammer das letzte Zeichen
- X in text */
- X text[--i] = '\0';
- X
- X return text;
- X } /* readText */
- SHAR_EOF
- chmod 0644 yyscan.l ||
- echo 'restore of yyscan.l failed'
- Wc_c="`wc -c < 'yyscan.l'`"
- test 6312 -eq "$Wc_c" ||
- echo 'yyscan.l: original size 6312, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- rm -f _shar_seq_.tmp
- echo You have unpacked the last part
- exit 0
- --
- --
- Molecular Simulations, Inc. mail: dcmartin@msi.com
- 796 N. Pastoria Avenue uucp: uunet!dcmartin
- Sunnyvale, California 94086 at&t: 408/522-9236
-