v01i035: Eyecon - Someone to watch over you
Charles Mcgrew
mcgrew at dartagnan.rutgers.edu
Thu Jun 22 03:52:23 AEST 1989
Submitted-by: chuck at trantor.harris-atd.com
Posting-number: Volume 1, Issue 35
Archive-name: eyecon
#! /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 shell archive."
# Contents: Makefile README eyecon.c eyecon.man eyes.icon matte.icon
# pupil.icon
# Wrapped by chuck at melmac on Mon Oct 10 08:01:00 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Makefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(341 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
XWINDOW_LIB = -lsuntool -lsunwindow -lpixrect
X
XBINDIR = /usr/local/bin
X
XMANDIR = /usr/man/manl
XMANEXT = l
X
Xeyecon: eyecon.c
X cc -O -o eyecon eyecon.c $(WINDOW_LIB)
X
Xinstall: eyecon
X mv eyecon $(BINDIR)
X cp eyecon.man $(MANDIR)/eyecon.$(MANEXT)
X
Xmakefile:
X makedeps Makefile *.[ch]
X
X#dependencies
X
Xeyecon.o: matte.icon eyes.icon pupil.icon
END_OF_FILE
if test 341 -ne `wc -c <'Makefile'`; then
echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'README' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(670 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X Eyecon is nifty hack that guarantees that someone is always watching
Xyour mouse. Before making eyecon, just check the Makefile to verify that
XBINDIR, MANDIR, and MANEXT are set to the right things.
X
X I originally saw eyecon running on a Silicon Graphics workstation
Xbeing used by Mark Callow (of SG) at SIGGRAPH '88 in Atlanta. I wrote a
Xversion from scratch for the Sun, and my office-mate, Ellery Chan, came
Xup with the cute name.
X
X Comments are always appreciated. Send them to:
X
X Chuck Musciano
X Advanced Technology Department
X Harris Corporation
X PO Box 37, MS 3A/1912
X Melbourne, FL 32902
X (407) 727-6131
X chuck at trantor.harris-atd.com
X
XHave fun!
END_OF_FILE
if test 670 -ne `wc -c <'README'`; then
echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'eyecon.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'eyecon.c'\"
else
echo shar: Extracting \"'eyecon.c'\" \(9677 characters\)
sed "s/^X//" >'eyecon.c' <<'END_OF_FILE'
X/************************************************************************/
X/* Copyright 1988 by Chuck Musciano and Harris Corporation */
X/* */
X/* Permission to use, copy, modify, and distribute this software */
X/* and its documentation for any purpose and without fee is */
X/* hereby granted, provided that the above copyright notice */
X/* appear in all copies and that both that copyright notice and */
X/* this permission notice appear in supporting documentation, and */
X/* that the name of Chuck Musciano and Harris Corporation not be */
X/* used in advertising or publicity pertaining to distribution */
X/* of the software without specific, written prior permission. */
X/* Chuck Musciano and Harris Corporation make no representations */
X/* about the suitability of this software for any purpose. It is */
X/* provided "as is" without express or implied warranty. */
X/************************************************************************/
X
X#include <stdio.h>
X#include <suntool/sunview.h>
X#include <suntool/canvas.h>
X#include <suntool/icon_load.h>
X#include <sys/file.h>
X#include <sys/time.h>
X
X#define slope_of(x, y) (((x) == 0)? MAX_SLOPE : (((y) * 1024) / (x)))
X
X#define control_point(x, y) {x, y, slope_of(x, y)}
X
X#define distance(x, y) ((x)*(x) + (y)*(y))
X
X#define EYE_WIDTH 45
X#define EYE_HEIGHT 63
X#define EYE_GAP 6
X#define FULL_WIDTH (2 * EYE_WIDTH + EYE_GAP)
X#define FULL_HEIGHT EYE_HEIGHT
X
X#define PUPIL_RADIUS 8
X#define PUPIL_DIAMETER 15
X
X#define CENTER_X 23
X#define CENTER_Y 32
X
X#define CONTROL_POINTS 22
X
X#define MAX_SLOPE 2000000
X
X#define POLL_INTERVAL 50000 /* usec */
X
Xextern char *getenv();
Xextern void sprintf();
X
Xstatic short matte_bits[] = {
X#include "matte.icon"
X };
Xmpr_static(matte, FULL_WIDTH, FULL_HEIGHT, 1, matte_bits);
X
Xstatic short eye_edge_bits[] = {
X#include "eyes.icon"
X };
Xmpr_static(eye_edge, FULL_WIDTH, FULL_HEIGHT, 1, eye_edge_bits);
X
Xstatic short root_gray_bits[] = {0x8000,0x8000,0x2000,0x2000};
Xmpr_static(root_gray, 4, 4, 1, root_gray_bits);
X
Xstatic short pupil_bits[] = {
X#include "pupil.icon"
X };
Xmpr_static(pupil, PUPIL_DIAMETER, PUPIL_DIAMETER, 1, pupil_bits);
X
Xstatic struct itimerval pupil_timer = {{0, POLL_INTERVAL}, {0, POLL_INTERVAL}};
X
Xstruct c_point {int x;
X int y;
X int slope;
X };
X
Xstatic struct c_point control[CONTROL_POINTS] = {control_point(10, 0),
X control_point(10, 1),
X control_point(10, 2),
X control_point(10, 3),
X control_point(10, 4),
X control_point(10, 5),
X control_point( 9, 6),
X control_point( 9, 7),
X control_point( 9, 8),
X control_point( 9, 9),
X control_point( 8, 10),
X control_point( 8, 11),
X control_point( 8, 12),
X control_point( 7, 13),
X control_point( 7, 14),
X control_point( 6, 15),
X control_point( 5, 16),
X control_point( 4, 17),
X control_point( 3, 18),
X control_point( 2, 18),
X control_point( 1, 19),
X {0, 19, MAX_SLOPE}};
X
Xstatic Frame bf;
Xstatic Pixwin *fpw, *cpw;
Xstatic Pixfont *font;
Xstatic struct pixrect *eyes;
Xstatic char *program;
Xstatic int desktop_fd;
Xstatic int curr_lx, curr_ly, curr_rx, curr_ry;
Xstatic int old_x, old_y;
X
X/************************************************************************/
Xstatic locate_pupil(mouse_x, mouse_y, pupil_x, pupil_y)
X
Xint mouse_x;
Xint mouse_y;
Xint *pupil_x;
Xint *pupil_y;
X
X{ int i, s, x = 1, y = 1;
X
X if (mouse_x < 0) {
X x = -1;
X mouse_x = - mouse_x;
X }
X if (mouse_y < 0) {
X y = -1;
X mouse_y = - mouse_y;
X }
X s = slope_of(mouse_x, mouse_y);
X for (i = 0; i < CONTROL_POINTS; i++)
X if (s <= control[i].slope) {
X *pupil_x = x * control[i].x;
X *pupil_y = y * control[i].y;
X if (distance(mouse_x, mouse_y) < distance(*pupil_x, *pupil_y)) {
X *pupil_x = x * mouse_x;
X *pupil_y = y * mouse_y;
X }
X return;
X }
X fprintf(stderr, "%s: slope (%d) not in range %d to %d\n", program, s, control[0].slope, control[CONTROL_POINTS - 1].slope);
X *pupil_x = *pupil_y = 0;
X}
X
X/************************************************************************/
Xstatic pupil_movement(x, y)
X
Xint x;
Xint y;
X
X{ int win_x, win_y, lx, ly, rx, ry;
X Rect *rect;
X
X rect = (Rect *) window_get(bf, FRAME_CLOSED_RECT);
X win_x = rect->r_left;
X win_y = rect->r_top;
X locate_pupil(x - (win_x + CENTER_X), y - (win_y + CENTER_Y), &lx, &ly);
X locate_pupil(x - (win_x + EYE_WIDTH + EYE_GAP + CENTER_X), y - (win_y + CENTER_Y), &rx, &ry);
X if (lx != curr_lx || ly != curr_ly) {
X pw_rop(fpw, curr_lx + CENTER_X - PUPIL_RADIUS, curr_ly + CENTER_Y - PUPIL_RADIUS, PUPIL_DIAMETER, PUPIL_DIAMETER, PIX_SRC ^ PIX_DST, &pupil, 0, 0);
X pw_rop(fpw, lx + CENTER_X - PUPIL_RADIUS, ly + CENTER_Y - PUPIL_RADIUS, PUPIL_DIAMETER, PUPIL_DIAMETER, PIX_SRC ^ PIX_DST, &pupil, 0, 0);
X curr_lx = lx;
X curr_ly = ly;
X }
X if (rx != curr_rx || ry != curr_ry) {
X pw_rop(fpw, curr_rx + EYE_WIDTH + EYE_GAP + CENTER_X - PUPIL_RADIUS, curr_ry + CENTER_Y - PUPIL_RADIUS, PUPIL_DIAMETER, PUPIL_DIAMETER, PIX_SRC ^ PIX_DST, &pupil, 0, 0);
X pw_rop(fpw, rx + EYE_WIDTH + EYE_GAP + CENTER_X - PUPIL_RADIUS, ry + CENTER_Y - PUPIL_RADIUS, PUPIL_DIAMETER, PUPIL_DIAMETER, PIX_SRC ^ PIX_DST, &pupil, 0, 0);
X curr_rx = rx;
X curr_ry = ry;
X }
X}
X
X/************************************************************************/
Xstatic mouse_position(x, y)
X
Xint x;
Xint y;
X
X{ char buf[30];
X
X sprintf(buf, "Mouse is at [%4d, %4d]", x, y);
X pw_text(cpw, 1, -font->pf_char[' '].pc_home.y, PIX_SRC, font, buf);
X}
X
X/************************************************************************/
Xstatic Notify_value pupil_proc(frame, which)
X
XNotify_client frame;
Xint which;
X
X{ int x, y;
X
X x = win_get_vuid_value(desktop_fd, LOC_X_ABSOLUTE);
X y = win_get_vuid_value(desktop_fd, LOC_Y_ABSOLUTE);
X if (x != old_x || y != old_y) {
X if (!window_get(bf, FRAME_CLOSED))
X mouse_position(x, y);
X else
X pupil_movement(x, y);
X old_x = x;
X old_y = y;
X }
X return(NOTIFY_DONE);
X}
X
X/************************************************************************/
Xstatic frame_event_proc(frame, event, arg, type)
X
XFrame frame;
XEvent *event;
XNotify_arg arg;
XNotify_event_type type;
X
X{
X if (event_id(event) == WIN_REPAINT && window_get(bf, FRAME_CLOSED)) {
X pw_rop(fpw, 0, 0, FULL_WIDTH, FULL_HEIGHT, PIX_SRC, eyes, 0, 0);
X pw_rop(fpw, curr_lx + CENTER_X - PUPIL_RADIUS, curr_ly + CENTER_Y - PUPIL_RADIUS, PUPIL_DIAMETER, PUPIL_DIAMETER, PIX_SRC ^ PIX_DST, &pupil, 0, 0);
X pw_rop(fpw, curr_rx + EYE_WIDTH + EYE_GAP + CENTER_X - PUPIL_RADIUS, curr_ry + CENTER_Y - PUPIL_RADIUS, PUPIL_DIAMETER, PUPIL_DIAMETER, PIX_SRC ^ PIX_DST, &pupil, 0, 0);
X }
X else
X window_default_event_func(frame, event, arg, type);
X}
X
X/************************************************************************/
Xstatic struct pixrect *load_icon(path)
X
Xchar *path;
X
X{ char msg[IL_ERRORMSG_SIZE];
X struct pixrect *p;
X FILE *f;
X
X if ((p = icon_load_mpr(path, msg)) == NULL) { /* not in icon format */
X if ((f = fopen(path, "r")) == NULL) {
X fprintf(stderr, "%s: could not open %s\n", program, path);
X exit(1);
X }
X if ((p = pr_load(f, NULL)) == NULL) {
X fprintf(stderr, "%s: %s must be in either icon or raster file format\n", program, path);
X exit(1);
X }
X fclose(f);
X }
X return(p);
X}
X
X/************************************************************************/
Xstatic create_basic_image(argc, argv)
X
Xint argc;
Xchar **argv;
X
X{ struct pixrect *background;
X
X if (argc == 1) /* use root gray, the default */
X background = &root_gray;
X else if (argc == 3 && strcmp(argv[1], "-b") == 0) /* pick up a different background */
X background = load_icon(argv[2]);
X else {
X fprintf(stderr, "usage: %s [-b <file>]\n", program);
X exit(1);
X }
X eyes = mem_create(FULL_WIDTH, FULL_HEIGHT, 1);
X pr_replrop(eyes, 0, 0, FULL_WIDTH, FULL_HEIGHT, PIX_SRC, background, 0, 0);
X pr_rop(eyes, 0, 0, FULL_WIDTH, FULL_HEIGHT, PIX_SRC & PIX_DST, &matte, 0, 0);
X pr_rop(eyes, 0, 0, FULL_WIDTH, FULL_HEIGHT, PIX_SRC | PIX_DST, &eye_edge, 0, 0);
X pr_destroy(background);
X}
X
X/************************************************************************/
Xmain(argc, argv)
X
Xint argc;
Xchar **argv;
X
X{ char *parent;
X Icon icon;
X Canvas canvas;
X
X strcpy(program = (char *) malloc(strlen(argv[0]) + 1), argv[0]);
X if ((parent = (char *) getenv("WINDOW_PARENT")) == NULL) {
X fprintf(stderr, "%s must be run from within Suntools\n", argv[0]);
X exit(1);
X }
X if ((desktop_fd = open(parent, O_RDWR)) == -1) {
X fprintf(stderr, "%s: could not access desktop window device: %s\n", program, parent);
X exit(1);
X }
X if ((font = pf_default()) == NULL) {
X fprintf(stderr, "%s: could not default system font\n", program);
X exit(1);
X }
X icon = icon_create(ICON_WIDTH, FULL_WIDTH, ICON_HEIGHT, FULL_HEIGHT, ICON_LABEL, "", 0);
X bf = window_create(NULL, FRAME,
X FRAME_LABEL, "<< Eyecon >>",
X FRAME_NO_CONFIRM, TRUE,
X FRAME_ARGC_PTR_ARGV, &argc, argv,
X FRAME_ICON, icon,
X FRAME_CLOSED, TRUE,
X WIN_EVENT_PROC, frame_event_proc,
X 0);
X canvas = window_create(bf, CANVAS,
X WIN_FONT, font,
X WIN_ROWS, 1,
X WIN_COLUMNS, 24,
X 0);
X window_fit(bf);
X fpw = (Pixwin *) window_get(bf, WIN_PIXWIN);
X cpw = canvas_pixwin(canvas);
X
X curr_lx = 4 * FULL_WIDTH;
X curr_ly = 4 * FULL_HEIGHT;
X curr_rx = 4 * FULL_WIDTH;
X curr_ry = 4 * FULL_HEIGHT;
X old_x = -1;
X old_y = -1;
X
X create_basic_image(argc, argv);
X notify_set_itimer_func(bf, pupil_proc, ITIMER_REAL, &pupil_timer, 0);
X window_main_loop(bf);
X close(desktop_fd);
X exit(0);
X}
END_OF_FILE
if test 9677 -ne `wc -c <'eyecon.c'`; then
echo shar: \"'eyecon.c'\" unpacked with wrong size!
fi
# end of 'eyecon.c'
fi
if test -f 'eyecon.man' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'eyecon.man'\"
else
echo shar: Extracting \"'eyecon.man'\" \(455 characters\)
sed "s/^X//" >'eyecon.man' <<'END_OF_FILE'
X.TH EYECON 1 "12 August 1988"
X.SH NAME
Xeyecon \- watch the mouse
X.SH SYNOPSIS
X\fBeyecon\fP [ \fB\-b\fP \fIbackground\fP ]
X.SH DESCRIPTION
X\fIEyecon\fP makes sure that someone is keeping an eye on your mouse.
X\fIEyecon\fP normally uses root gray as its background, but alternate
Xbackground patterns (in the form of Sun raster or \fIiconedit\fP(1) images)
Xcan be specified with \fB-b\fP to match your personal desktop background.
X.SH AUTHOR
XChuck Musciano
X
END_OF_FILE
if test 455 -ne `wc -c <'eyecon.man'`; then
echo shar: \"'eyecon.man'\" unpacked with wrong size!
fi
# end of 'eyecon.man'
fi
if test -f 'eyes.icon' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'eyes.icon'\"
else
echo shar: Extracting \"'eyes.icon'\" \(2819 characters\)
sed "s/^X//" >'eyes.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=96, Height=63, Depth=1, Valid_bits_per_item=16
X */
X 0x0000,0x1FC0,0x0000,0x0000,0x03F8,0x0000,0x0000,0xFFF8,
X 0x0000,0x0000,0x1FFF,0x0000,0x0003,0xE03E,0x0000,0x0000,
X 0x7C07,0xC000,0x000F,0x0007,0x8000,0x0001,0xE000,0xF000,
X 0x001C,0x0001,0xC000,0x0003,0x8000,0x3800,0x0038,0x0000,
X 0xE000,0x0007,0x0000,0x1C00,0x0060,0x0000,0x3000,0x000C,
X 0x0000,0x0600,0x00C0,0x0000,0x1800,0x0018,0x0000,0x0300,
X 0x0180,0x0000,0x0C00,0x0030,0x0000,0x0180,0x0380,0x0000,
X 0x0E00,0x0070,0x0000,0x01C0,0x0300,0x0000,0x0600,0x0060,
X 0x0000,0x00C0,0x0600,0x0000,0x0300,0x00C0,0x0000,0x0060,
X 0x0600,0x0000,0x0300,0x00C0,0x0000,0x0060,0x0C00,0x0000,
X 0x0180,0x0180,0x0000,0x0030,0x0C00,0x0000,0x0180,0x0180,
X 0x0000,0x0030,0x1800,0x0000,0x00C0,0x0300,0x0000,0x0018,
X 0x1800,0x0000,0x00C0,0x0300,0x0000,0x0018,0x3000,0x0000,
X 0x0060,0x0600,0x0000,0x000C,0x3000,0x0000,0x0060,0x0600,
X 0x0000,0x000C,0x3000,0x0000,0x0060,0x0600,0x0000,0x000C,
X 0x6000,0x0000,0x0030,0x0C00,0x0000,0x0006,0x6000,0x0000,
X 0x0030,0x0C00,0x0000,0x0006,0x6000,0x0000,0x0030,0x0C00,
X 0x0000,0x0006,0x6000,0x0000,0x0030,0x0C00,0x0000,0x0006,
X 0x6000,0x0000,0x0030,0x0C00,0x0000,0x0006,0xC000,0x0000,
X 0x0018,0x1800,0x0000,0x0003,0xC000,0x0000,0x0018,0x1800,
X 0x0000,0x0003,0xC000,0x0000,0x0018,0x1800,0x0000,0x0003,
X 0xC000,0x0000,0x0018,0x1800,0x0000,0x0003,0xC000,0x0000,
X 0x0018,0x1800,0x0000,0x0003,0xC000,0x0000,0x0018,0x1800,
X 0x0000,0x0003,0xC000,0x0000,0x0018,0x1800,0x0000,0x0003,
X 0xC000,0x0000,0x0018,0x1800,0x0000,0x0003,0xC000,0x0000,
X 0x0018,0x1800,0x0000,0x0003,0xC000,0x0000,0x0018,0x1800,
X 0x0000,0x0003,0xC000,0x0000,0x0018,0x1800,0x0000,0x0003,
X 0xC000,0x0000,0x0018,0x1800,0x0000,0x0003,0xC000,0x0000,
X 0x0018,0x1800,0x0000,0x0003,0x6000,0x0000,0x0030,0x0C00,
X 0x0000,0x0006,0x6000,0x0000,0x0030,0x0C00,0x0000,0x0006,
X 0x6000,0x0000,0x0030,0x0C00,0x0000,0x0006,0x6000,0x0000,
X 0x0030,0x0C00,0x0000,0x0006,0x6000,0x0000,0x0030,0x0C00,
X 0x0000,0x0006,0x3000,0x0000,0x0060,0x0600,0x0000,0x000C,
X 0x3000,0x0000,0x0060,0x0600,0x0000,0x000C,0x3000,0x0000,
X 0x0060,0x0600,0x0000,0x000C,0x1800,0x0000,0x00C0,0x0300,
X 0x0000,0x0018,0x1800,0x0000,0x00C0,0x0300,0x0000,0x0018,
X 0x0C00,0x0000,0x0180,0x0180,0x0000,0x0030,0x0C00,0x0000,
X 0x0180,0x0180,0x0000,0x0030,0x0600,0x0000,0x0300,0x00C0,
X 0x0000,0x0060,0x0600,0x0000,0x0300,0x00C0,0x0000,0x0060,
X 0x0300,0x0000,0x0600,0x0060,0x0000,0x00C0,0x0380,0x0000,
X 0x0E00,0x0070,0x0000,0x01C0,0x0180,0x0000,0x0C00,0x0030,
X 0x0000,0x0180,0x00C0,0x0000,0x1800,0x0018,0x0000,0x0300,
X 0x0060,0x0000,0x3000,0x000C,0x0000,0x0600,0x0038,0x0000,
X 0xE000,0x0007,0x0000,0x1C00,0x001C,0x0001,0xC000,0x0003,
X 0x8000,0x3800,0x000F,0x0007,0x8000,0x0001,0xE000,0xF000,
X 0x0003,0xE03E,0x0000,0x0000,0x7C07,0xC000,0x0000,0xFFF8,
X 0x0000,0x0000,0x1FFF,0x0000,0x0000,0x1FC0,0x0000,0x0000,
X 0x03F8,0x0000
END_OF_FILE
if test 2819 -ne `wc -c <'eyes.icon'`; then
echo shar: \"'eyes.icon'\" unpacked with wrong size!
fi
# end of 'eyes.icon'
fi
if test -f 'matte.icon' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'matte.icon'\"
else
echo shar: Extracting \"'matte.icon'\" \(2819 characters\)
sed "s/^X//" >'matte.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=96, Height=63, Depth=1, Valid_bits_per_item=16
X */
X 0xFFFF,0xE03F,0xFFFF,0xFFFF,0xFC07,0xFFFF,0xFFFF,0x0007,
X 0xFFFF,0xFFFF,0xE000,0xFFFF,0xFFFC,0x0001,0xFFFF,0xFFFF,
X 0x8000,0x3FFF,0xFFF0,0x0000,0x7FFF,0xFFFE,0x0000,0x0FFF,
X 0xFFE0,0x0000,0x3FFF,0xFFFC,0x0000,0x07FF,0xFFC0,0x0000,
X 0x1FFF,0xFFF8,0x0000,0x03FF,0xFF80,0x0000,0x0FFF,0xFFF0,
X 0x0000,0x01FF,0xFF00,0x0000,0x07FF,0xFFE0,0x0000,0x00FF,
X 0xFE00,0x0000,0x03FF,0xFFC0,0x0000,0x007F,0xFC00,0x0000,
X 0x01FF,0xFF80,0x0000,0x003F,0xFC00,0x0000,0x01FF,0xFF80,
X 0x0000,0x003F,0xF800,0x0000,0x00FF,0xFF00,0x0000,0x001F,
X 0xF800,0x0000,0x00FF,0xFF00,0x0000,0x001F,0xF000,0x0000,
X 0x007F,0xFE00,0x0000,0x000F,0xF000,0x0000,0x007F,0xFE00,
X 0x0000,0x000F,0xE000,0x0000,0x003F,0xFC00,0x0000,0x0007,
X 0xE000,0x0000,0x003F,0xFC00,0x0000,0x0007,0xC000,0x0000,
X 0x001F,0xF800,0x0000,0x0003,0xC000,0x0000,0x001F,0xF800,
X 0x0000,0x0003,0xC000,0x0000,0x001F,0xF800,0x0000,0x0003,
X 0x8000,0x0000,0x000F,0xF000,0x0000,0x0001,0x8000,0x0000,
X 0x000F,0xF000,0x0000,0x0001,0x8000,0x0000,0x000F,0xF000,
X 0x0000,0x0001,0x8000,0x0000,0x000F,0xF000,0x0000,0x0001,
X 0x8000,0x0000,0x000F,0xF000,0x0000,0x0001,0x0000,0x0000,
X 0x0007,0xE000,0x0000,0x0000,0x0000,0x0000,0x0007,0xE000,
X 0x0000,0x0000,0x0000,0x0000,0x0007,0xE000,0x0000,0x0000,
X 0x0000,0x0000,0x0007,0xE000,0x0000,0x0000,0x0000,0x0000,
X 0x0007,0xE000,0x0000,0x0000,0x0000,0x0000,0x0007,0xE000,
X 0x0000,0x0000,0x0000,0x0000,0x0007,0xE000,0x0000,0x0000,
X 0x0000,0x0000,0x0007,0xE000,0x0000,0x0000,0x0000,0x0000,
X 0x0007,0xE000,0x0000,0x0000,0x0000,0x0000,0x0007,0xE000,
X 0x0000,0x0000,0x0000,0x0000,0x0007,0xE000,0x0000,0x0000,
X 0x0000,0x0000,0x0007,0xE000,0x0000,0x0000,0x0000,0x0000,
X 0x0007,0xE000,0x0000,0x0000,0x8000,0x0000,0x000F,0xF000,
X 0x0000,0x0001,0x8000,0x0000,0x000F,0xF000,0x0000,0x0001,
X 0x8000,0x0000,0x000F,0xF000,0x0000,0x0001,0x8000,0x0000,
X 0x000F,0xF000,0x0000,0x0001,0x8000,0x0000,0x000F,0xF000,
X 0x0000,0x0001,0xC000,0x0000,0x001F,0xF800,0x0000,0x0003,
X 0xC000,0x0000,0x001F,0xF800,0x0000,0x0003,0xC000,0x0000,
X 0x001F,0xF800,0x0000,0x0003,0xE000,0x0000,0x003F,0xFC00,
X 0x0000,0x0007,0xE000,0x0000,0x003F,0xFC00,0x0000,0x0007,
X 0xF000,0x0000,0x007F,0xFE00,0x0000,0x000F,0xF000,0x0000,
X 0x007F,0xFE00,0x0000,0x000F,0xF800,0x0000,0x00FF,0xFF00,
X 0x0000,0x001F,0xF800,0x0000,0x00FF,0xFF00,0x0000,0x001F,
X 0xFC00,0x0000,0x01FF,0xFF80,0x0000,0x003F,0xFC00,0x0000,
X 0x01FF,0xFF80,0x0000,0x003F,0xFE00,0x0000,0x03FF,0xFFC0,
X 0x0000,0x007F,0xFF00,0x0000,0x07FF,0xFFE0,0x0000,0x00FF,
X 0xFF80,0x0000,0x0FFF,0xFFF0,0x0000,0x01FF,0xFFC0,0x0000,
X 0x1FFF,0xFFF8,0x0000,0x03FF,0xFFE0,0x0000,0x3FFF,0xFFFC,
X 0x0000,0x07FF,0xFFF0,0x0000,0x7FFF,0xFFFE,0x0000,0x0FFF,
X 0xFFFC,0x0001,0xFFFF,0xFFFF,0x8000,0x3FFF,0xFFFF,0x0007,
X 0xFFFF,0xFFFF,0xE000,0xFFFF,0xFFFF,0xE03F,0xFFFF,0xFFFF,
X 0xFC07,0xFFFF
END_OF_FILE
if test 2819 -ne `wc -c <'matte.icon'`; then
echo shar: \"'matte.icon'\" unpacked with wrong size!
fi
# end of 'matte.icon'
fi
if test -f 'pupil.icon' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pupil.icon'\"
else
echo shar: Extracting \"'pupil.icon'\" \(186 characters\)
sed "s/^X//" >'pupil.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=15, Height=15, Depth=1, Valid_bits_per_item=16
X */
X 0x07C0,0x1FF0,0x3FF8,0x7FFC,0x7FFC,0xFFFE,0xFFFE,0xFFFE,
X 0xFFFE,0xFFFE,0x7FFC,0x7FFC,0x3FF8,0x1FF0,0x07C0
END_OF_FILE
if test 186 -ne `wc -c <'pupil.icon'`; then
echo shar: \"'pupil.icon'\" unpacked with wrong size!
fi
# end of 'pupil.icon'
fi
echo shar: End of shell archive.
exit 0
Chuck Musciano ARPA : chuck at trantor.harris-atd.com
Harris Corporation Usenet: ...!uunet!x102a!trantor!chuck
PO Box 37, MS 3A/1912 AT&T : (407) 727-6131
Melbourne, FL 32902 FAX : (407) 727-{5118,5227,4004}
More information about the Comp.sources.sun
mailing list