v01i035: xmille: Mille Bourne for X, Part18/18

Mike Wexler mikew at wyse.wyse.com
Wed Sep 14 00:22:30 AEST 1988


Submitted-by: dana at thumper.bellcore.com (Dana A. Chee)
Posting-number: Volume 1, Issue 35
Archive-name: xmille/part18

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 15 (of 15)."
# Contents:  cards/accident_both control/scrollbar.c
# Wrapped by mikew at wyse on Wed Sep  7 18:59:34 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f cards/accident_both -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"cards/accident_both\"
else
echo shar: Extracting \"cards/accident_both\" \(12292 characters\)
sed "s/^X//" >cards/accident_both <<'END_OF_cards/accident_both'
X#define accident_both_width 100
X#define accident_both_height 150
Xstatic char accident_both_bits[] = {
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0x3f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xcf, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xd7, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xbb, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xee, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xf5, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf9, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xfe,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xc7, 0xfb,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xbb,
X   0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff,
X   0x7d, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff,
X   0xff, 0x55, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff,
X   0xff, 0xff, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
X   0xff, 0xff, 0xff, 0x6d, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xef, 0xff, 0xff, 0xff, 0x7d, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xf7, 0xff, 0xff, 0xff, 0xc7, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xbb, 0xbf, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xef, 0xff, 0xff, 0xdf, 0x3f, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xef, 0xff, 0xff, 0xdf, 0x7f,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff,
X   0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00,
X   0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xfc,
X   0xff, 0xff, 0xff, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d,
X   0xf3, 0xff, 0xff, 0x3f, 0xe7, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xed, 0xef, 0x01, 0x00, 0xde, 0xdf, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xad, 0xeb, 0xff, 0xff, 0x5f, 0xd7, 0xfe, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0x75, 0xdd, 0x01, 0x00, 0xee, 0xba, 0xfe, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xf5, 0xde, 0xff, 0xff, 0xef, 0xbd, 0xfe, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0x75, 0xdd, 0xff, 0xff, 0xef, 0xba, 0xfe, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xeb, 0x07, 0x80, 0x5f, 0xd7, 0xfe,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xef, 0xfb, 0x7f, 0xdf, 0xdf,
X   0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xf3, 0xfd, 0xff, 0x3e,
X   0xe7, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xfc, 0xff, 0xff,
X   0xff, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00,
X   0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xfe, 0xff, 0x03, 0x00, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0x00, 0x00, 0xf8, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xab, 0xaa, 0x7e, 0xdf, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xdb, 0xdd, 0x7e, 0xdf, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xab, 0xaa, 0x7e, 0xdf,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xfb, 0xfb, 0xff, 0x7e,
X   0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xfc, 0x03, 0x00,
X   0xfe, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x73, 0xfe,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
X   0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0x75, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xae, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xde, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xae, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0x75, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x73, 0xfe, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
END_OF_cards/accident_both
if test 12292 -ne `wc -c <cards/accident_both`; then
    echo shar: \"cards/accident_both\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f control/scrollbar.c -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"control/scrollbar.c\"
else
echo shar: Extracting \"control/scrollbar.c\" \(17369 characters\)
sed "s/^X//" >control/scrollbar.c <<'END_OF_control/scrollbar.c'
X/*
X *	scrollbar.c
X */
X#if 0
X# include	<X11/Xlib.h>
X# include	<X11/Xutil.h>
X# include	"control.h"
X
Xstruct scrollbar {
X	Scrollbar	scrollbar;
X	int		forecolor, backcolor;
X	int		orientation;
X	int		borderwidth;
X	Pixmap		border;
X	Pixmap		background;
X};
X
Xstruct perwindow {
X	int			length;
X	Window			parent;
X	int			locatorpos;
X	int			locatormille;
X	int			locatormax;
X	int			locatormaxmille;
X	int			state;
X	struct scrollbar	*class;
X	int			(*notify)();
X	int			(*onetrip)();
X};
X
X/*
X *	possible values of ->state
X */	
X
X# define GENERAL		0
X# define DRAGGING_LOCATOR	1
X# define DOWN			2
X# define DOWN_IN_DOWN_BOX	3
X# define DOWN_IN_UP_BOX		4
X
Xstatic XContext	perwindowContext;
X
Xstatic XContext	assocContext;
Xstatic int		nextScrollbar;
Xextern	Display	*dpy;
X
X# define minpos(p)		(0)
X# define maxpos(p)		((p)->length - 2 * ARROWWIDTH)
X# define milletopos(m,p)	((m) * maxpos(p) / 1000)
X# define postomille(l,p)	((l) * 1000 / maxpos (p))
X# define postoloc(l)		((l) + ARROWWIDTH)
X# define loctopos(l)		((l) - ARROWWIDTH)
X
X# define ARROWHEIGHT	SCROLLWIDTH
X# define ARROWWIDTH	SCROLLWIDTH
X# define LOCATORWIDTH	SCROLLWIDTH / 3
X
Xstatic short arrowDownOff[50] = {
X	0xffff, 0x01ff,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X	0xff80, 0x0003,
X	0x0080, 0x0002,
X	0x0080, 0x0002,
X	0x0080, 0x0002,
X	0x0080, 0x0002,
X	0x0080, 0x0002,
X	0x0080, 0x0002,
X	0x0080, 0x0002,
X	0x00f8, 0x003e,
X	0x0010, 0x0010,
X	0x0020, 0x0008,
X	0x0040, 0x0004,
X	0x0080, 0x0002,
X	0x0100, 0x0001,
X	0x8200, 0x0000,
X	0x4400, 0x0000,
X	0x2800, 0x0000,
X	0x1000, 0x0000,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X};
X
Xstatic short arrowDownOn[50] = {
X	0xffff, 0x01ff,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xff80, 0x0003,
X	0xfff8, 0x003f,
X	0xfff0, 0x001f,
X	0xffe0, 0x000f,
X	0xffc0, 0x0007,
X	0xff80, 0x0003,
X	0xff00, 0x0001,
X	0xfe00, 0x0000,
X	0x7c00, 0x0000,
X	0x3800, 0x0000,
X	0x1000, 0x0000,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X	0x0000, 0x0000,
X};
X
Xstatic short arrowUpOff [50], arrowRightOff [50], arrowLeftOff [50];
Xstatic short arrowUpOn  [50], arrowRightOn  [50], arrowLeftOn  [50];
X
Xstatic Cursor	dragCursor;
Xstatic short	dragBits[16];
X
Xstatic int arrowsSet;
X
XScrollbar
XCcreateScrollbar (orientation, forecolor, backcolor,
X	 borderwidth, border, background)
Xint	orientation;
Xint	forecolor, backcolor;
Xint	borderwidth;
XPixmap	border;
XPixmap	background;
X{
X	char			*malloc ();
X	struct scrollbar	*s;
X	
X	if (!assocContext)
X		assocContext = XUniqueContext();
X	if (!arrowsSet) {
X		setArrows();
X		arrowsSet = 1;
X	}
X	s = (struct scrollbar *) malloc (sizeof (struct scrollbar));
X	nextScrollbar++;
X	s->scrollbar = nextScrollbar;
X	XSaveContext (dpy, assocContext, nextScrollbar, (char *) s);
X	s->forecolor = forecolor;
X	s->backcolor = backcolor;
X	s->orientation = orientation;
X	s->borderwidth = borderwidth;
X	s->border = border;
X	s->background = background;
X	return s->scrollbar;
X}
X
XWindow
XCmapScrollbar (parent, scrollbar, notify, onetrip)
XWindow		parent;
XScrollbar	scrollbar;
Xint		(*notify)(), (*onetrip)();
X{
X	struct scrollbar	*s;
X	struct perwindow	*p;
X	Window			w;
X	int			x, y, width, height;
X	Window			grandParent;
X	Window			*siblings;
X	int			nsiblings;
X	
X	if( XFindContext (dpy, assocContext, scrollbar, &s) )
X	{
X		printf ("scroll bar %d doesn't exist\n", scrollbar);
X		return 0;
X	}
X	if( !XQueryTree (parent, &grandParent, &nsiblings, &siblings)) {
X		printf ("can't get tree\n");
X		return 0;
X	}
X	if (siblings)
X		free (siblings);
X	if (!computePosition (parent, s, &x, &y, &width, &height))
X		return 0;
X	w = XCreateWindow (grandParent, x, y, width, height, s->borderwidth,
X		s->border, s->background);
X	XMapWindow (w);
X	if (!perwindowContext)
X		perwindowContext = XUniqueContext();
X	p = (struct perwindow *) malloc (sizeof (struct perwindow));
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		p->length = width;
X		break;
X	case SCROLL_RIGHT:
X	case SCROLL_LEFT:
X		p->length = height;
X		break;
X	}
X	p->state = GENERAL;
X	p->parent = parent;
X	p->class = s;
X	p->locatorpos = -1;
X	p->notify = notify;
X	p->onetrip = onetrip;
X	XSaveContext (dpy, perwindowContext, w, p);
X	drawArrows (w, s, p);
X	return w;
X}
X
XCunmapScrollbar (w)
XWindow		w;
X{
X	struct perwindow	*p;
X
X	if( XFindContext (dpy, perwindowContext, w, &p) )
X		return 0;
X	XDeleteContext (dpy, perwindowContext, w);
X	free (p);
X	XDestroyWindow (w);
X	return 1;
X}
X
XCresizeScrollbar (w)
XWindow		w;
X{
X	struct perwindow	*p;
X	struct scrollbar	*s;
X	int			x, y, width, height;
X
X	if( XFindContext (dpy, perwindowContext, w, &p) )
X		return 0;
X	s = p->class;
X	if (!computePosition (p->parent, s, &x, &y, &width, &height))
X		return 0;
X	XConfigureWindow (w, x, y, width, height);
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		p->length = width;
X		break;
X	case SCROLL_RIGHT:
X	case SCROLL_LEFT:
X		p->length = height;
X		break;
X	}
X	if (p->locatorpos >= 0)
X		p->locatorpos = milletopos (p->locatormille, p);
X	if (p->locatormax >= 0)
X		p->locatormax = milletopos (p->locatormaxmille, p);
X	return 1;
X}
X
XWindow
XCgetScrollbarParent (w)
XScrollbar	w;
X{
X	struct perwindow	*p;
X	if( XFindContext (dpy, perwindowContext, w, &p) )
X		return 0;
X	return p->parent;
X}
X
XCredrawScrollbar (w)
XWindow		w;
X{
X	struct scrollbar	*s;
X	struct perwindow	*p;
X
X	if( XFindContext (dpy, perwindowContext, w, &p) )
X		return 0;
X	s = p->class;
X	drawArrows (w, s, p);
X	moveLocator (w, s, p, p->locatorpos, p->locatormax);
X	return 1;
X}
X
XCsetScrollbarLocator (w, permillemin, permillemax)
XWindow		w;
Xint		permillemin, permillemax;
X{
X	struct perwindow	*p;
X	struct scrollbar	*s;
X
X	if( XFindContext (dpy, perwindowContext, w, &p) )
X		return 0;
X	s = p->class;
X	if (permillemin < 0)
X		permillemin = 0;
X	if (permillemax > 1000)
X		permillemax = 1000;
X	moveLocator (w, s, p,
X		milletopos (permillemin, p),
X 		milletopos (permillemax, p));
X	return 1;
X}
X
X# define NOWHERE		0
X# define IN_UP_BOX		1
X# define IN_DOWN_BOX		2
X# define IN_UP_AREA		3
X# define IN_DOWN_AREA		4
X# define IN_LOCATOR		5
X
X/*
X * used for dragging the locator around
X */
X
Xstatic int	downmouse;	/* mouse position at down click */
Xstatic int	downloc;	/* locator position at down click */
X
XCmanageScrollbar (rep)
XXEvent		*rep;
X{
X	struct perwindow	*p;
X	struct scrollbar	*s;
X	int			inwindow;
X	int			region;
X	XButtonEvent		*bevent;
X	XMouseMovedEvent	*mevent;
X	int			permille;
X	Window			w;
X
X	w = rep->window;
X	if( XFindContext (dpy, perwindowContext, w, &p) )
X		return 0;
X	s = p->class;
X	switch (rep->type) {
X	case ExposeWindow:
X		CredrawScrollbar (w);
X		break;
X	case ButtonPressed:
X		switch (p->state) {
X		case GENERAL:
X			bevent = (XButtonEvent *) rep;
X			region = findRegion (s, p, bevent->x, bevent->y);
X			switch (region) {
X			case IN_LOCATOR:
X				p->state = DRAGGING_LOCATOR;
X				downloc = p->locatorpos;
X				switch (s->orientation) {
X				case SCROLL_TOP:
X				case SCROLL_BOTTOM:
X					downmouse = bevent->x;
X					break;
X				case SCROLL_LEFT:
X				case SCROLL_RIGHT:
X					downmouse = bevent->y;
X					break;
X				}
X				break;
X			case IN_UP_BOX:
X				p->state = DOWN_IN_UP_BOX;
X				highlightBox (w, s, p, p->state);
X				spinbutton (w, s, p, IN_UP_BOX);
X				break;
X			case IN_DOWN_BOX:
X				p->state = DOWN_IN_DOWN_BOX;
X				highlightBox (w, s, p, p->state);
X				spinbutton (w, s, p, IN_DOWN_BOX);
X				break;
X			case IN_DOWN_AREA:
X			case IN_UP_AREA:
X				p->state = DOWN;
X				switch (region) {
X				case IN_DOWN_AREA:
X					p->notify (p->parent, SCROLL_DOWN_AREA);
X					break;
X				case IN_UP_AREA:
X					p->notify (p->parent, SCROLL_UP_AREA);
X					break;
X				}
X			}
X		}
X		break;
X	case ButtonReleased:
X		switch (p->state) {		
X		case DRAGGING_LOCATOR:
X			p->state = GENERAL;
X			break;
X		case DOWN_IN_DOWN_BOX:
X		case DOWN_IN_UP_BOX:
X			unhighlightBox (w, s, p, p->state);
X		case DOWN:
X			p->state = GENERAL;
X			break;
X		}
X	case MouseMoved:
X		switch (p->state) {
X		case DRAGGING_LOCATOR:
X			p->notify (p->parent, updateLocator (w, s, p));
X			p->onetrip (p->parent);
X			break;
X		}
X		break;
X	}
X}
X
Xstatic
Xspinbutton (w, s, p, region)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
Xint			region;
X{
X	int	r;
X
X	r = region;
X	for (;;) {
X		switch (p->state) {
X		case DOWN_IN_UP_BOX:
X		case DOWN_IN_DOWN_BOX:
X			if (r != region) {
X				unhighlightBox (w, s, p, p->state);
X				p->state = GENERAL;
X				return;
X			}
X			switch (region) {
X			case IN_UP_BOX:
X				p->notify (p->parent, SCROLL_UP_BUTTON);
X				p->onetrip (p->parent);
X				break;
X			case IN_DOWN_BOX:
X				p->notify (p->parent, SCROLL_DOWN_BUTTON);
X				p->onetrip (p->parent);
X				break;
X			}
X			break;
X		default:
X			return;
X		}
X		r = checkMouseRegion (w, s, p);
X	}
X}
X
Xstatic
XfindRegion (s, p, x, y)
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
Xint			x,y;
X{
X	int	loc;
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		if (y < 0 || SCROLLWIDTH <= y)
X			return NOWHERE;
X		loc = x;
X		break;
X	case SCROLL_LEFT:
X	case SCROLL_RIGHT:
X		if (x < 0 || SCROLLWIDTH <= x)
X			return NOWHERE;
X		loc = y;
X		break;
X	}
X	if (loc < 0 || loc >= p->length)
X		return NOWHERE;
X	if (loc <= ARROWWIDTH)
X		return IN_UP_BOX;
X	if (loc >= p->length - ARROWWIDTH)
X		return IN_DOWN_BOX;
X	if (loc < postoloc (p->locatorpos))
X		return IN_UP_AREA;
X	if (loc > postoloc (p->locatormax))
X		return IN_DOWN_AREA;
X	return IN_LOCATOR;
X}
X
Xstatic
XupdateLocator (w, s, p)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
X{
X	int	pos, loc;
X	int	subw, x, y;
X	int	len;
X
X	XUpdateMouse (w, &x, &y, &subw);
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		loc = x;
X		break;
X	case SCROLL_LEFT:
X	case SCROLL_RIGHT:
X		loc = y;
X		break;
X	}
X	pos = loctopos (postoloc (downloc) + loc - downmouse);
X	if (pos < minpos(p))
X		pos = minpos(p);
X	if (pos > maxpos(p))
X		pos = maxpos (p);
X	return postomille (pos, p);
X}
X
Xstatic
XcheckMouseRegion (w, s, p)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
X{
X	int	x, y, subw, state;
X	int	region;
X	
X	XQueryMouseButtons (w, &x, &y, &subw, &state);
X
X	/*
X	 * Note that if we are playing back a recording then the button
X	 * state will not be as it was during the recording (pressed),
X	 * so we short circuit it.
X	 */
X
X	region = findRegion (s, p, x, y);
X	if (region == IN_UP_BOX && p->state == DOWN_IN_UP_BOX)
X		return IN_UP_BOX;
X	if (region == IN_DOWN_BOX && p->state == DOWN_IN_DOWN_BOX)
X		return IN_DOWN_BOX;
X	return NOWHERE;
X}
X
Xstatic
XcomputePosition (parent, s, xp, yp, wp, hp)
XWindow			parent;
Xstruct scrollbar	*s;
Xint			*xp, *yp, *wp, *hp;
X{
X	WindowInfo	parentInfo;
X
X	/* make sure the server has the most recent parent info */
X	XSync (0);
X	if (!XQueryWindow (parent, &parentInfo)) {
X		printf ("can't get window info for %d\n", parent);
X		return 0;
X	}
X	switch (s->orientation) {
X	case SCROLL_TOP:
X		*xp = 0;
X		*yp = -SCROLLWIDTH - parentInfo.bdrwidth;
X		*wp = parentInfo.width;
X		*hp = SCROLLWIDTH;
X		break;
X	case SCROLL_BOTTOM:
X		*xp = 0;
X		*yp = parentInfo.height + parentInfo.bdrwidth; 
X		*wp = parentInfo.width;
X		*hp = SCROLLWIDTH;
X		break;
X	case SCROLL_LEFT:
X		*xp = -SCROLLWIDTH - parentInfo.bdrwidth;
X		*yp = 0;
X		*wp = SCROLLWIDTH;
X		*hp = parentInfo.height;
X		break;
X	case SCROLL_RIGHT:
X		*xp = parentInfo.width + parentInfo.bdrwidth;
X		*yp = 0;
X		*wp = SCROLLWIDTH;
X		*hp = parentInfo.height;
X		break;
X	}
X	*xp += parentInfo.x;
X	*yp += parentInfo.y;
X	return 1;
X}
X
Xstatic
XdrawArrows (w, s, p)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
X{
X	int	x, y;
X	short	*up, *down;
X	
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		up = arrowLeftOff;
X		down = arrowRightOff;
X		x = p->length - ARROWWIDTH;
X		y = 0;
X		switch (p->state) {
X		case DOWN_IN_DOWN_BOX:
X			down = arrowRightOn;
X			break;
X		case DOWN_IN_UP_BOX:
X			up = arrowLeftOn;
X			break;
X		}
X		break;
X	case SCROLL_LEFT:
X	case SCROLL_RIGHT:
X		up = arrowUpOff;
X		down = arrowDownOff;
X		x = 0;
X		y = p->length - ARROWWIDTH;
X		switch (p->state) {
X		case DOWN_IN_DOWN_BOX:
X			down = arrowDownOn;
X			break;
X		case DOWN_IN_UP_BOX:
X			up = arrowUpOn;
X			break;
X		}
X		break;
X	}
X	XBitmapBitsPut (w, 0, 0,
X		ARROWWIDTH, ARROWHEIGHT,
X		up, s->forecolor, s->backcolor,
X		0, GXcopy, AllPlanes);
X	XBitmapBitsPut (w, x, y,
X		ARROWWIDTH, ARROWHEIGHT,
X		down, s->forecolor, s->backcolor,
X		0, GXcopy, AllPlanes);
X}
X
Xstatic
XhighlightBox (w, s, p, state)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
Xint			state;
X{
X	drawoneArrow (w, s, p, state, 1);
X}
X
Xstatic
XunhighlightBox (w, s, p, state)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
Xint			state;
X{
X	drawoneArrow (w, s, p, state, 0);
X}
X
Xstatic
XdrawoneArrow (w, s, p, state, on)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
Xint			state;
Xint			on;
X{
X	int	x, y;
X	short	*bitsup, *bitsdown, *bits;
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		x = p->length - ARROWWIDTH;
X		y = 0;
X		if (on) {
X			bitsup = arrowLeftOn;
X			bitsdown = arrowRightOn;
X		} else {
X			bitsup = arrowLeftOff;
X			bitsdown = arrowRightOff;
X		}
X		break;
X	case SCROLL_LEFT:
X	case SCROLL_RIGHT:
X		x = 0;
X		y = p->length - ARROWWIDTH;
X		if (on) {
X			bitsup = arrowUpOn;
X			bitsdown = arrowDownOn;
X		} else {
X			bitsup = arrowUpOff;
X			bitsdown = arrowDownOff;
X		}
X		break;
X	}
X	switch (state) {
X	case DOWN_IN_UP_BOX:
X		x = 0;
X		y = 0;
X		bits = bitsup;
X		break;
X	case DOWN_IN_DOWN_BOX:
X		bits = bitsdown;
X		break;
X	default:
X		return;
X	}
X	XBitmapBitsPut (w, x, y, ARROWWIDTH, ARROWHEIGHT,
X		bits, s->forecolor, s->backcolor,
X		0, GXcopy, AllPlanes);
X}
X
Xstatic
XmoveLocator (w, s, p, pos, max)
XWindow			w;
Xstruct scrollbar	*s;
Xstruct perwindow	*p;
Xint			pos, max;
X{
X	int	x, y, lw, lh;
X	int	x0, y0, w0, h0;
X	int	x1, y1, w1, h1;
X	int	oldpos, oldmax, oldlen;
X
X	if (max > maxpos (p))
X		max = maxpos (p);
X	if (max < 0)
X		max = 0;
X	if (pos > maxpos (p))
X		pos = maxpos (p);
X	if (pos < 0)
X		pos = 0;
X	oldpos = p->locatorpos;
X	oldmax = p->locatormax;
X	oldlen = oldmax - oldpos;
X	w0 = h0 = w1 = h1 = 0;
X	switch (s->orientation) {
X	case SCROLL_TOP:
X	case SCROLL_BOTTOM:
X		x = postoloc (pos);
X		y = SCROLLWIDTH / 2 - LOCATORWIDTH / 2;
X		y0 = y;
X		y1 = y;
X		lh = LOCATORWIDTH;
X		lw = max - pos;
X		h0 = lh;
X		h1 = lh;
X		if (pos < 0) {
X			/*
X			 * erase the whole thing
X			 */
X			x0 = postoloc (oldpos);
X			w0 = oldlen;
X		} else if (p->locatorpos < 0) {
X			;
X		} else {
X			if (pos > oldpos) {
X				/*
X				 * erase before portion
X				 */
X				x0 = postoloc (oldpos);
X				w0 = pos - oldpos;
X			}
X			if (max < oldmax) {
X				/* 
X				 * erase after portion
X				 */
X				x1 = postoloc (max);
X				w1 = oldmax - max;
X			}
X		}
X		break;
X	case SCROLL_LEFT:
X	case SCROLL_RIGHT:
X		x = SCROLLWIDTH / 2 - LOCATORWIDTH / 2;
X		y = postoloc (pos);
X		x0 = x;
X		x1 = x;
X		lw = LOCATORWIDTH;
X		lh = max - pos;
X		w0 = lw;
X		w1 = lw;
X		if (pos < 0) {
X			/*
X			 * erase the whole thing
X			 */
X			y0 = postoloc (oldpos);
X			h0 = oldlen;
X		} else if (p->locatorpos < 0) {
X			;
X		} else {
X			if (pos > oldpos) {
X				/*
X				 * erase before portion
X				 */
X				y0 = postoloc (oldpos);
X				h0 = pos - oldpos;
X			}
X			if (max < oldmax) {
X				/*
X				 * erase after portion
X				 */
X				y1 = postoloc (max);
X				h1 = oldmax - max;
X			}
X		}
X		break;
X	}
X	if (pos >= 0) {
X		Vertex v[5];
X
X		v[0].x = x;	v[0].y = y;	v[0].flags = 0;
X		v[1].x = lw-1;	v[1].y = 0;	v[1].flags = VertexRelative;
X		v[2].x = 0;	v[2].y = lh-1;	v[2].flags = VertexRelative;
X		v[3].x = 1-lw;	v[3].y = 0;	v[3].flags = VertexRelative;
X		v[4].x = 0;	v[4].y = 1-lh;	v[4].flags = VertexRelative;
X		XDraw (w, v, 5, 1, 1, s->forecolor, GXcopy, AllPlanes);
X		XPixSet (w, x+1, y+1, lw-2, lh-2, s->backcolor);
X	}
X	if (oldpos >= 0) {
X		if (w0 != 0 && h0 != 0)
X			XTileSet (w, x0, y0, w0, h0, s->background);
X		if (w1 != 0 && h1 != 0)
X			XTileSet (w, x1, y1, w1, h1, s->background);
X	}
X	p->locatorpos = pos;
X	p->locatormax = max;
X	p->locatormille = postomille (p->locatorpos, p);
X	p->locatormaxmille = postomille (p->locatormax, p);
X}
X
X# define getbit(array, bit, word) ((word < 0 || word >= 50) ? 0 : ((array[word] >> bit) & 01))
X
Xstatic
XsetArrows ()
X{
X	int	i;
X	int	word, bit;
X	unsigned short	tempLeftOn[2], tempRightOn[2];
X	unsigned short	tempLeftOff[2], tempRightOff[2];
X	int	on, off;
X	Bitmap	dragmap;
X	int	k;
X	
X	for (i = 0; i < ARROWHEIGHT; i++)
X		for (k = 0; k < 2; k++) {
X			arrowUpOff[i*2+k] = arrowDownOff[(ARROWHEIGHT-1-i)*2 + k];
X			arrowUpOn[i*2+k] = arrowDownOn[(ARROWHEIGHT-1-i)*2 + k];
X		}
X	for (i = 0; i < ARROWHEIGHT; i++) {
X		for (k = 0; k < 2; k++) {
X			tempLeftOn[k] = tempLeftOff[k] = 0;
X			tempRightOn[k] = tempRightOff[k] = 0;
X		}
X		for (k = 0; k < 2; k++) {
X			for (bit = 0; bit < 16; bit++) {
X				off = getbit (arrowDownOff,
X					i % 16, ((15-bit) + (1-k) * 16) * 2 + i/16);
X				on = getbit (arrowDownOn,
X					i % 16, ((15-bit) + (1-k) * 16) * 2 + i/16);
X				if (off)
X					tempRightOff[1-k] |= (1 << (15 - bit));
X				if (on)
X					tempRightOn[1-k] |= (1 << (15 - bit));
X				off = getbit (arrowUpOff,
X					i % 16, ((15-bit) + (1-k) * 16) * 2 + i/16);
X				on = getbit (arrowUpOn,
X					i % 16, ((15-bit) + (1-k) * 16) * 2 + i/16);
X				if (off)
X					tempLeftOff[1-k] |= (1 << (15 - bit));
X				if (on)
X					tempLeftOn[1-k] |= (1 << (15 - bit));
X			}
X		}
X		arrowLeftOn[i*2] = tempLeftOn[0];
X		arrowLeftOn[i*2+1] = tempLeftOn[1];
X		arrowLeftOff[i*2] = tempLeftOff[0];
X		arrowLeftOff[i*2+1] = tempLeftOff[1];
X		arrowRightOn[i*2] = tempRightOn[0];
X		arrowRightOn[i*2+1] = tempRightOn[1];
X		arrowRightOff[i*2] = tempRightOff[0];
X		arrowRightOff[i*2+1] = tempRightOff[1];
X	}
X	dragmap = XStoreBitmap (16, 16, dragBits);
X	dragCursor = XStoreCursor (dragmap, dragmap, 8, 8, 1, 0, GXnoop);
X}
X#endif
END_OF_control/scrollbar.c
if test 17369 -ne `wc -c <control/scrollbar.c`; then
    echo shar: \"control/scrollbar.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of archive 15 \(of 15\).
cp /dev/null ark15isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 15 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mike Wexler(wyse!mikew)    Phone: (408)433-1000 x1330



More information about the Comp.sources.x mailing list