v06i014: xfig, Part06/15
Dan Heller
argv%turnpike at Sun.COM
Sun Mar 4 11:19:16 AEST 1990
Submitted-by: Brian Smith <bvsmith at lbl.gov>
Posting-number: Volume 6, Issue 14
Archive-name: xfig2/part06
#! /bin/sh
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix at uunet.uu.net if you want that tool.
# If this archive is complete, you will see the following message at the end:
# "End of archive 6 (of 15)."
# Contents: xfig/autoarrow.c xfig/f2ps.c xfig/panel2.h
# Wrapped by argv at turnpike on Wed Feb 28 10:53:19 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'xfig/autoarrow.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'xfig/autoarrow.c'\"
else
echo shar: Extracting \"'xfig/autoarrow.c'\" \(9172 characters\)
sed "s/^X//" >'xfig/autoarrow.c' <<'END_OF_FILE'
X/*
X * FIG : Facility for Interactive Generation of figures
X *
X * Copyright (c) 1985 by Supoj Sutanthavibul (supoj at sally.UTEXAS.EDU)
X * January 1985.
X * 1st revision : Aug 1985.
X *
X * %W% %G%
X*/
X#include "fig.h"
X#include "resources.h"
X#include "func.h"
X#include "object.h"
X#include "paintop.h"
X
X#define TOLERANCE 7
X
Xextern (*canvas_kbd_proc)();
Xextern (*canvas_locmove_proc)();
Xextern (*canvas_leftbut_proc)();
Xextern (*canvas_middlebut_proc)();
Xextern (*canvas_rightbut_proc)();
Xextern null_proc();
Xextern set_popupmenu();
Xextern F_line *line_point_search();
Xextern F_spline *spline_point_search();
Xextern F_arc *arc_point_search();
Xextern F_arrow *forward_arrow(), *backward_arrow();
X
Xextern int foreground_color, background_color;
Xextern int pointmarker_shown;
X
XF_point *selected_point, *left_point;
Xint arcpoint_num;
X add_arrow_head();
X delete_arrow_head();
X
X#define round(x) ((int) (x + .5))
X
Xarrow_head_selected()
X{
X canvas_kbd_proc = null_proc;
X canvas_locmove_proc = null_proc;
X canvas_leftbut_proc = add_arrow_head;
X canvas_middlebut_proc = delete_arrow_head;
X canvas_rightbut_proc = set_popupmenu;
X set_cursor(&pick9_cursor);
X }
X
Xadd_arrow_head(x, y)
Xint x, y;
X{
X F_line *line;
X F_spline *spline;
X F_arc *arc;
X
X if ((line = line_point_search(x, y, TOLERANCE,
X &left_point, &selected_point)) != NULL) {
X add_linearrow(line);
X }
X else if ((spline = spline_point_search(x, y,
X TOLERANCE, &left_point, &selected_point)) != NULL){
X add_splinearrow(spline);
X }
X else if ((arc = arc_point_search(x, y, TOLERANCE,
X &arcpoint_num)) != NULL) {
X add_arcarrow(arc);
X }
X else
X return;
X
X set_modifiedflag();
X }
X
Xdelete_arrow_head(x, y)
Xint x, y;
X{
X F_line *line;
X F_spline *spline;
X F_arc *arc;
X
X if ((line = line_point_search(x, y, TOLERANCE,
X &left_point, &selected_point)) != NULL) {
X delete_linearrow(line);
X }
X else if ((spline = spline_point_search(x, y,
X TOLERANCE, &left_point, &selected_point)) != NULL){
X delete_splinearrow(spline);
X }
X else if ((arc = arc_point_search(x, y, TOLERANCE,
X &arcpoint_num)) != NULL) {
X delete_arcarrow(arc);
X }
X else
X return;
X
X set_modifiedflag();
X }
X
Xadd_linearrow(line)
XF_line *line;
X{
X F_point *p;
X
X if (line->type == T_POLYGON
X || line->type == T_BOX || line->type == T_ARC_BOX)
X return;
X if (line->points->next == NULL) return; /* A single point line */
X
X if (left_point == NULL) { /* selected_point is the first point */
X if (line->back_arrow) return;
X p = selected_point->next;
X line->back_arrow = backward_arrow();
X if (pointmarker_shown) toggle_linepointmarker(line);
X draw_arrow(p->x, p->y, selected_point->x, selected_point->y,
X line->back_arrow, PAINT);
X if (pointmarker_shown) toggle_linepointmarker(line);
X }
X else if (selected_point->next == NULL) { /* forward arrow */
X if (line->for_arrow) return;
X line->for_arrow = forward_arrow();
X if (pointmarker_shown) toggle_linepointmarker(line);
X draw_arrow(left_point->x, left_point->y,
X selected_point->x, selected_point->y,
X line->for_arrow, PAINT);
X if (pointmarker_shown) toggle_linepointmarker(line);
X }
X clean_up();
X set_action_object(F_ADD_ARROW_HEAD, O_POLYLINE);
X }
X
Xadd_arcarrow(arc)
XF_arc *arc;
X{
X
X if (arcpoint_num == 0) { /* backward arrow */
X if (arc->back_arrow) return;
X arc->back_arrow = backward_arrow();
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X draw_arcarrow(arc, foreground_color);
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X }
X else if (arcpoint_num == 2) { /* for_arrow */
X if (arc->for_arrow) return;
X arc->for_arrow = forward_arrow();
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X draw_arcarrow(arc, foreground_color);
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X }
X clean_up();
X set_action_object(F_ADD_ARROW_HEAD, O_ARC);
X }
X
Xadd_splinearrow(spline)
XF_spline *spline;
X{
X F_point *p;
X F_control *c;
X
X if (closed_spline(spline)) return;
X if (left_point == NULL) { /* add backward arrow */
X if (spline->back_arrow) return;
X p = selected_point->next;
X spline->back_arrow = backward_arrow();
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X if (normal_spline(spline)) {
X draw_arrow(p->x, p->y, selected_point->x,
X selected_point->y, spline->back_arrow, PAINT);
X }
X else {
X c = spline->controls;
X draw_arrow(round(c->rx), round(c->ry), selected_point->x,
X selected_point->y, spline->back_arrow, PAINT);
X }
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X }
X else if (selected_point->next == NULL) { /* add forward arrow */
X if (spline->for_arrow) return;
X spline->for_arrow = forward_arrow();
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X if (normal_spline(spline)) {
X draw_arrow(left_point->x, left_point->y,
X selected_point->x, selected_point->y,
X spline->for_arrow, PAINT);
X }
X else {
X for (c = spline->controls; c->next != NULL; c = c->next);
X draw_arrow(round(c->lx), round(c->ly), selected_point->x,
X selected_point->y, spline->for_arrow, PAINT);
X }
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X }
X clean_up();
X set_action_object(F_ADD_ARROW_HEAD, O_SPLINE);
X }
X
Xdelete_linearrow(line)
XF_line *line;
X{
X if (line->type == T_POLYGON
X || line->type == T_BOX || line->type == T_ARC_BOX)
X return;
X
X if (left_point == NULL) { /* selected_point is the first point */
X if (! line->back_arrow) return;
X if (pointmarker_shown) toggle_linepointmarker(line);
X draw_line(line, INV_PAINT);
X line->back_arrow = 0;
X free((char*)line->back_arrow);
X line->for_arrow = NULL;
X draw_line(line, PAINT);
X if (pointmarker_shown) toggle_linepointmarker(line);
X }
X else if (selected_point->next == NULL) { /* forward arrow */
X if (! line->for_arrow) return;
X if (pointmarker_shown) toggle_linepointmarker(line);
X draw_line(line, INV_PAINT);
X free((char*)line->for_arrow);
X line->for_arrow = NULL;
X draw_line(line, PAINT);
X if (pointmarker_shown) toggle_linepointmarker(line);
X }
X clean_up();
X set_action_object(F_DELETE_ARROW_HEAD, O_POLYLINE);
X }
X
Xdelete_arcarrow(arc)
XF_arc *arc;
X{
X if (arcpoint_num == 0) { /* backward arrow */
X if (! arc->back_arrow) return;
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X draw_arc(arc, background_color);
X free((char*)arc->back_arrow);
X arc->back_arrow = NULL;
X draw_arc(arc, foreground_color);
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X }
X else if (arcpoint_num == 2) { /* for_arrow */
X if (! arc->for_arrow) return;
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X draw_arc(arc, background_color);
X free((char*)arc->for_arrow);
X arc->for_arrow = NULL;
X draw_arc(arc, foreground_color);
X if (pointmarker_shown) toggle_arcpointmarker(arc);
X }
X clean_up();
X set_action_object(F_DELETE_ARROW_HEAD, O_ARC);
X }
X
Xdelete_splinearrow(spline)
XF_spline *spline;
X{
X F_point *p;
X
X if (closed_spline(spline)) return;
X if (left_point == NULL) { /* selected_point is the first point */
X if (! spline->back_arrow) return;
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X p = selected_point->next;
X if (normal_spline(spline)) {
X draw_arrow(p->x, p->y, selected_point->x,
X selected_point->y, spline->back_arrow, ERASE);
X pw_vector(canvas_pixwin, selected_point->x, selected_point->y,
X round((p->x+selected_point->x)/2.0),
X round((p->y+selected_point->y)/2.0), PAINT, spline->thickness);
X }
X else {
X F_control *a, *b;
X
X a = spline->controls;
X b = a->next;
X draw_arrow(round(a->rx), round(a->ry), selected_point->x,
X selected_point->y, spline->back_arrow, ERASE);
X bezier_spline(
X (float)selected_point->x, (float)selected_point->y,
X a->rx, a->ry, b->lx, b->ly, (float)p->x, (float)p->y,
X PAINT,spline->thickness);
X }
X free((char*)spline->back_arrow);
X spline->back_arrow = NULL;
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X }
X else if (selected_point->next == NULL) { /* forward arrow */
X if (! spline->for_arrow) return;
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X if (normal_spline(spline)) {
X draw_arrow(left_point->x, left_point->y,
X selected_point->x, selected_point->y,
X spline->for_arrow, ERASE);
X pw_vector(canvas_pixwin, selected_point->x, selected_point->y,
X round((selected_point->x+left_point->x)/2.0),
X round((selected_point->y+left_point->y)/2.0),
X PAINT, spline->thickness);
X }
X else {
X F_control *a, *b;
X
X a = spline->controls;
X for (b = a->next; b->next != NULL; a = b, b = b->next);
X draw_arrow(round(b->lx), round(b->ly), selected_point->x,
X selected_point->y, spline->for_arrow, ERASE);
X bezier_spline(
X (float)left_point->x, (float)left_point->y,
X a->rx, a->ry, b->lx, b->ly,
X (float)selected_point->x, (float)selected_point->y,
X PAINT,spline->thickness);
X }
X free((char*)spline->for_arrow);
X spline->for_arrow = NULL;
X if (pointmarker_shown) toggle_splinepointmarker(spline);
X }
X clean_up();
X set_action_object(F_DELETE_ARROW_HEAD, O_SPLINE);
X }
END_OF_FILE
if test 9172 -ne `wc -c <'xfig/autoarrow.c'`; then
echo shar: \"'xfig/autoarrow.c'\" unpacked with wrong size!
fi
# end of 'xfig/autoarrow.c'
fi
if test -f 'xfig/f2ps.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'xfig/f2ps.c'\"
else
echo shar: Extracting \"'xfig/f2ps.c'\" \(20059 characters\)
sed "s/^X//" >'xfig/f2ps.c' <<'END_OF_FILE'
X/*
X * F2ps : Fig-to-PostScript translator
X *
X * Copyright (c) 1986 by Supoj Sutanthavibul (supoj at sally.UTEXAS.EDU)
X * June 1986.
X * 1st revision : March 1988 - read fig 1.4 or 1.4X format
X *
X * Version 2.0 additions (protocol 1.4X) by B.V. Smith 2/90
X *
X * %W% %G%
X*/
X#include "fig.h"
X#include "object.h"
X#include "resources.h"
X#include "psfonts.h"
X
X#undef cfree
X#undef free
X
X#define PAGE_WIDTH 612 /* points; 8.5" */
X#define PAGE_HEIGHT 792 /* points; 11" */
X#define POINT_PER_INCH 72
X#define DEFAULT_FONT_SIZE 11
X#define DEFAULT_FONT "Times-Roman"
X
Xextern struct _fstruct fontnames[]; /* printer font names */
X
Xchar Usage[] = "Usage: %s [-P][-L][-f font][-s size][-e scale][-N][-c] [input [output]]\n";
Xchar *prog;
Xchar *font = DEFAULT_FONT;
Xint font_size = DEFAULT_FONT_SIZE;
Xint cur_thickness;
Xint cur_areafill=0;
Xint show_page = 1;
Xint center = 0;
Xint landscape = 1;
Xdouble scale = 1.0;
Xdouble reduction; /* converts screen ppi to printer points */
Xextern int num_object;
Xchar *from = NULL, *to = NULL;
XFILE *ffp = NULL, *tfp = NULL;
Xchar Err_incomp[] = "Incomplete %s object at line %d.";
Xchar Err_mem[] = "Running out of memory.";
X
Xint line_thickness; /* not needed for f2ps, arrow.c needs it for fig */
X
Xget_args(argc, argv)
Xint argc;
Xchar *argv[];
X{
X char *a;
X int first = 1;
X
X prog = *argv;
X while (--argc) {
X a = *++argv;
X if (*a == '-') {
X if (*++a == 'f') { /* Font name followed */
X if (--argc)
X font = *++argv;
X else
X goto error_exit;
X }
X else if (*a == 'c') { /* Centering */
X center = 1;
X }
X else if (*a == 'l' || *a == 'L') { /* Landscape */
X landscape = 1;
X }
X else if (*a == 'p' || *a == 'P') { /* Portrait */
X landscape = 0;
X }
X else if (*a == 's') { /* Font size followed */
X if (--argc) {
X font_size = atoi(*++argv);
X }
X else
X goto error_exit;
X }
X else if (*a == 'e') { /* Enlarging factor followed */
X if (--argc)
X scale = atof(*++argv);
X else
X goto error_exit;
X }
X else if (*a == 'N') { /* No "showpage" */
X show_page = 0;
X }
X else
X goto error_exit;
X }
X else if (first) {
X from = a; /* from file */
X first = 0;
X }
X else if (first == 0) {
X to = a; /* to file */
X first = -1;
X }
X else
X goto error_exit;
X }
X return;
X
X error_exit:
X fprintf(stderr, Usage, prog);
X exit(0);
X }
X
Xmain(argc, argv)
Xint argc;
Xchar *argv[];
X{
X F_compound objects;
X int status;
X char c;
X
X get_args(argc, argv);
X
X if (to == NULL)
X tfp = stdout;
X else if ((tfp = fopen(to, "w")) == NULL) {
X fprintf(stderr, "%s: Couldn't open %s", prog, to);
X fprintf(stderr, Usage, prog);
X exit(0);
X }
X
X if (from)
X status = read_fig(from, &objects);
X else /* read from stdin */
X status = readfp_fig(stdin, &objects);
X
X if (status != 0) {
X if (from) read_fail_message(from, status);
X exit(0);
X }
X genps_objects(&objects);
X if (tfp != stdout) (void)fclose(tfp);
X }
X
X#define BEGIN_PROLOG "\
X/$F2psDict 32 dict def \
X$F2psDict begin\
X $F2psDict /mtrx matrix put\
X"
X#define ELLIPSE_PS " \
X/DrawEllipse {\
X /endangle exch def\
X /startangle exch def\
X /yrad exch def\
X /xrad exch def\
X /y exch def\
X /x exch def\
X /savematrix mtrx currentmatrix def\
X x y translate xrad yrad scale 0 0 1 startangle endangle arc\
X savematrix setmatrix\
X } def\
X"
X#define SPLINE_PS " \
X/DrawSplineSection {\
X /y3 exch def\
X /x3 exch def\
X /y2 exch def\
X /x2 exch def\
X /y1 exch def\
X /x1 exch def\
X /xa x1 x2 add 2 div def\
X /ya y1 y2 add 2 div def\
X /xb x2 x3 add 2 div def\
X /yb y2 y3 add 2 div def\
X /x2 xa xb add 2 div def\
X /y2 ya yb add 2 div def x1 x2 sub abs 2 lt y1 y2 sub abs 2 lt and\
X { x2 y2 lineto }\
X { x2 y2 xb yb x3 y3 x1 y1 xa ya x2 y2 DrawSplineSection\
X /y3 exch def\
X /x3 exch def\
X /yb exch def\
X /xb exch def\
X /y2 exch def\
X /x2 exch def}\
X ifelse\
X x2 x3 sub abs 2 lt y2 y3 sub abs 2 lt and { x3 y3 lineto }\
X { x2 y2 xb yb x3 y3 DrawSplineSection } ifelse\
X } def\
X"
X#define END_PROLOG "\
X end\
X /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def\
X /$F2psEnd {$F2psEnteredState restore end} def\
X\n%%EndProlog\
X"
X
X#define MAX 32000
X#define MIN -32000
Xstatic int coord_system;
Xstatic int llx = MAX, lly = MAX, urx = MIN, ury = MIN;
X
Xprolog(objects)
XF_compound *objects;
X{
X char host[256];
X struct passwd *who;
X long when;
X extern char *ctime(), *strcpy();
X extern long time();
X
X fprintf(tfp, "%%!\n"); /* PostScript magic strings */
X who = getpwuid(getuid());
X if (-1 == gethostname(host, sizeof(host)))
X (void)strcpy(host, "unknown-host!?!?");
X (void) time(&when);
X fprintf(tfp, "%%%%Title: %s\n", ((from) ? from : "stdin"));
X fprintf(tfp, "%%%%Creator: %s\n", prog);
X fprintf(tfp, "%%%%CreationDate: %s", ctime(&when));
X fprintf(tfp, "%%%%For: %s@%s (%s)\n",
X who->pw_name, host, who->pw_gecos);
X fprintf(tfp, "%%%%Pages: %d\n", show_page);
X fprintf(tfp, "%%%%BoundingBox: %d %d %d %d\n", llx, lly, urx, ury);
X fprintf(tfp, "%%%%EndComments\n");
X fprintf(tfp, "%s\n", BEGIN_PROLOG);
X if (ellipse_exist(objects))
X fprintf(tfp, "%s\n", ELLIPSE_PS);
X if (normal_spline_exist(objects))
X fprintf(tfp, "%s\n", SPLINE_PS);
X fprintf(tfp, "%s\n", END_PROLOG);
X fprintf(tfp, "$F2psBegin\n");
X }
X
Xepilog()
X{
X if (show_page) fprintf(tfp, "showpage\n");
X fprintf(tfp, "$F2psEnd\n");
X }
X
Xgenps_objects(objects)
XF_compound *objects;
X{
X double tx, scalex, scaley;
X double dx, dy, origx, origy;
X F_arc *a;
X F_compound *c;
X F_ellipse *e;
X F_line *l;
X F_spline *s;
X F_text *t;
X int fill;
X int itmp;
X
X /* Compute bounding box of objects */
X compound_bound(objects, &llx, &lly, &urx, &ury);
X if (llx > urx) {
X fprintf(stderr, "%s: No object",prog);
X return;
X }
X coord_system = objects->nwcorner.y;
X /* calculate reduction to convert screen points-per-inch to printer points */
X reduction = POINT_PER_INCH / (float)objects->nwcorner.x;
X scalex = scaley = scale * reduction;
X /* convert to point unit */
X llx = (int)ceil(llx * scalex);
X lly = (int)ceil(lly * scaley);
X urx = (int)ceil(urx * scalex);
X ury = (int)ceil(ury * scaley);
X if (landscape) /* swap x,y */
X {
X itmp = llx; llx = lly; lly = itmp;
X itmp = urx; urx = ury; ury = itmp;
X }
X if (center) {
X dx = urx - llx;
X dy = ury - lly;
X tx = (PAGE_WIDTH - dx) / 2.0;
X origx = tx - llx;
X if (landscape)
X origx=0;
X /*origx -= (dx-llx);*/
X urx = (llx=tx) + dx;
X ury = (PAGE_HEIGHT + dy) / 2.0;
X if (coord_system == 2)
X origy = ury + lly;
X else
X origy = ury - dy - lly;
X lly = ury - dy;
X }
X else {
X origx = 0.0;
X origy = PAGE_HEIGHT;
X }
X if (coord_system == 2)
X scaley = -scaley;
X
X prolog(objects);
X
X fprintf(tfp, "%f %f translate %.3f %.3f scale\n",
X origx, origy, scalex, scaley);
X
X /* **** Landscape mode **** */
X if (landscape) {
X fprintf(tfp, "%d 0 translate 90 rotate\n", PAGE_WIDTH);
X /* uncomment this when we figure out what SCALE should be */
X /* if ((t = PAGE_HEIGHT / SCALE / WIDTH) < 1.0)
X fprintf(tfp, "%f %f scale\n", t, t);
X */
X }
X /* else if ((t = PAGE_HEIGHT / SCALE / HEIGHT) < 1.0)
X fprintf(tfp, "%f %f scale\n", t, t);
X */
X
X /* make first pass with area-filled objects; second with non-filled */
X for (fill=1; fill>=0; fill--)
X {
X for (a = objects->arcs; a != NULL; a = a->next)
X genps_arc(a,fill);
X for (c = objects->compounds; c != NULL; c = c->next)
X genps_compound(c,fill);
X for (e = objects->ellipses; e != NULL; e = e->next)
X genps_ellipse(e,fill);
X for (l = objects->lines; l != NULL; l = l->next)
X genps_line(l,fill);
X for (s = objects->splines; s != NULL; s = s->next)
X genps_spline(s,fill);
X }
X /* do text after everything else */
X for (t = objects->texts; t != NULL; t = t->next)
X genps_text(t);
X epilog();
X }
X
Xset_style(s, v)
Xint s;
Xfloat v;
X{
X if (s == DASH_LINE) {
X if (v > 0.0) fprintf(tfp, "\t[%f] 0 setdash\n", v);
X }
X else if (s == DOTTED_LINE) {
X if (v > 0.0) fprintf(tfp, "\t[1 %f] 0 setdash\n", v);
X }
X }
X
Xreset_style(s, v)
Xint s;
Xfloat v;
X{
X if (s == DASH_LINE) {
X if (v > 0.0) fprintf(tfp, "\t[] 0 setdash\n");
X }
X else if (s == DOTTED_LINE) {
X if (v > 0.0) fprintf(tfp, "\t[] 0 setdash\n");
X }
X }
X
Xset_areafill(a)
Xint a;
X{
X if (cur_areafill != a)
X {
X cur_areafill = a;
X fprintf(tfp, "%.2f setgray\n",1.0-(a-1.0)/(NUMFILLPATS-1.0));
X }
X }
X
Xset_linewidth(w)
Xint w;
X{
X extern int cur_thickness;
X
X if (w != cur_thickness) {
X cur_thickness = w;
X fprintf(tfp, "%.3f setlinewidth\n", /* 0.7 * */ 1.0 * cur_thickness);
X }
X }
X
Xgenps_compound(com,fill)
XF_compound *com;
Xint fill;
X{
X F_arc *a;
X F_compound *c;
X F_ellipse *e;
X F_line *l;
X F_spline *s;
X F_text *t;
X
X for (a = com->arcs; a != NULL; a = a->next)
X genps_arc(a,fill);
X for (c = com->compounds; c != NULL; c = c->next)
X genps_compound(c,fill);
X for (e = com->ellipses; e != NULL; e = e->next)
X genps_ellipse(e,fill);
X for (l = com->lines; l != NULL; l = l->next)
X genps_line(l,fill);
X for (s = com->splines; s != NULL; s = s->next)
X genps_spline(s,fill);
X if (fill==0) /* no filled text, just do text on the non-filled pass */
X for (t = com->texts; t != NULL; t = t->next)
X genps_text(t);
X }
X
Xgenps_line(l,fill)
XF_line *l;
Xint fill;
X{
X F_point *p, *q;
X int radius;
X
X if ((fill && l->area_fill==0) ||
X (fill==0 && l->area_fill))
X return;
X
X set_linewidth(l->thickness);
X radius = l->pen; /* radius of rounded-corner boxes */
X p = l->points;
X q = p->next;
X if (q == NULL) { /* A single point line */
X fprintf(tfp, "newpath %d %d moveto %d %d lineto stroke\n",
X p->x, p->y, p->x, p->y);
X return;
X }
X if (l->back_arrow)
X draw_arrow_head((float)q->x, (float)q->y, (float)p->x,
X (float)p->y, l->back_arrow->ht, l->back_arrow->wid);
X set_style(l->style, l->style_val);
X fprintf(tfp, "%% Polyline\n");
X if (l->type == T_ARC_BOX)
X {
X register int xmin,xmax,ymin,ymax;
X
X xmin = xmax = p->x;
X ymin = ymax = p->y;
X while (p->next != NULL) /* find lower left and upper right corners */
X {
X p=p->next;
X if (xmin > p->x)
X xmin = p->x;
X else if (xmax < p->x)
X xmax = p->x;
X if (ymin > p->y)
X ymin = p->y;
X else if (ymax < p->y)
X ymax = p->y;
X }
X fprintf(tfp, "newpath %d %d moveto",xmin+radius, ymin);
X fprintf(tfp, " %d %d %d %d %d arcto 4 {pop} repeat",
X xmin, ymin, xmin, ymax-radius, radius);
X fprintf(tfp, " %d %d %d %d %d arcto 4 {pop} repeat", /* arc through bl to br */
X xmin, ymax, xmax-radius, ymax, radius);
X fprintf(tfp, " %d %d %d %d %d arcto 4 {pop} repeat", /* arc through br to tr */
X xmax, ymax, xmax, ymin+radius, radius);
X fprintf(tfp, " %d %d %d %d %d arcto 4 {pop} repeat", /* arc through tr to tl */
X xmax, ymin, xmin+radius, ymin, radius);
X }
X else
X {
X fprintf(tfp, "newpath %d %d moveto", p->x, p->y);
X while (q->next != NULL) {
X p = q;
X q = q->next;
X if (l->type == T_ARC_BOX)
X {
X fprintf(tfp," %d %d %d %d %d arcto 4 {pop} repeat",
X p->x,p->y,q->x,q->y,radius);
X fprintf(tfp," 4 { pop } repeat");
X }
X else
X fprintf(tfp, " %d %d lineto", p->x, p->y);
X }
X }
X if (l->type == T_POLYLINE)
X fprintf(tfp, " %d %d lineto stroke\n", q->x, q->y);
X else
X {
X fprintf(tfp, " closepath ");
X if (l->area_fill)
X {
X set_areafill(l->area_fill);
X fprintf(tfp, " gsave fill grestore ");
X set_areafill(NUMFILLPATS); /* back to black line */
X }
X fprintf(tfp, " stroke\n");
X }
X
X reset_style(l->style, l->style_val);
X if (l->for_arrow)
X draw_arrow_head((float)p->x, (float)p->y, (float)q->x,
X (float)q->y, l->for_arrow->ht, l->for_arrow->wid);
X }
X
Xgenps_spline(s,fill)
XF_spline *s;
Xint fill;
X{
X if (int_spline(s))
X genps_itp_spline(s,fill);
X else
X genps_ctl_spline(s,fill);
X }
X
Xgenps_itp_spline(s,fill)
XF_spline *s;
Xint fill;
X{
X F_point *p, *q;
X F_control *a, *b;
X
X if ((fill && s->area_fill==0) ||
X (fill==0 && s->area_fill))
X return;
X
X set_linewidth(s->thickness);
X a = s->controls;
X b = a->next;
X p = s->points;
X if (s->back_arrow)
X draw_arrow_head(b->lx, b->ly, (float)p->x,
X (float)p->y, s->back_arrow->ht, s->back_arrow->wid);
X
X set_style(s->style, s->style_val);
X fprintf(tfp, "%% Interpolated spline\n");
X fprintf(tfp, "newpath %d %d moveto\n", p->x, p->y);
X for (q = p->next; q != NULL; p = q, q = q->next) {
X b = a->next;
X fprintf(tfp, "\t%.3f %.3f %.3f %.3f %d %d curveto\n",
X a->rx, a->ry, b->lx, b->ly, q->x, q->y);
X a = b;
X b = b->next;
X }
X if (closed_spline(s))
X {
X fprintf(tfp, " closepath ");
X if (s->area_fill)
X {
X set_areafill(s->area_fill);
X fprintf(tfp, " gsave fill grestore ");
X set_areafill(NUMFILLPATS); /* back to black for line */
X }
X }
X fprintf(tfp, " stroke\n");
X reset_style(s->style, s->style_val);
X
X if (s->for_arrow)
X draw_arrow_head(a->lx, a->ly, (float)p->x,
X (float)p->y, s->for_arrow->ht, s->for_arrow->wid);
X }
X
Xgenps_ctl_spline(s,fill)
XF_spline *s;
Xint fill;
X{
X float a, b, c, d, x1, y1, x2, y2, x3, y3;
X F_point *p, *q;
X
X /*
X if (first) {
X first = FALSE;
X fprintf(tfp, "%s\n", SPLINE_PS);
X }
X */
X
X if ((fill && s->area_fill==0) ||
X (fill==0 && s->area_fill))
X return;
X
X p = s->points;
X x1 = p->x; y1 = p->y;
X p = p->next;
X c = p->x; d = p->y;
X set_linewidth(s->thickness);
X x3 = a = (x1 + c) / 2;
X y3 = b = (y1 + d) / 2;
X if (s->back_arrow) {
X draw_arrow_head(c, d, x1, y1, s->back_arrow->ht, s->back_arrow->wid);
X }
X set_style(s->style, s->style_val);
X if (! closed_spline(s)) {
X fprintf(tfp, "%% Open spline\n");
X fprintf(tfp, "newpath %.3f %.3f moveto %.3f %.3f lineto\n",
X x1, y1, x3, y3);
X }
X else {
X fprintf(tfp, "%% Closed spline\n");
X fprintf(tfp, "newpath %.3f %.3f moveto\n", a, b);
X }
X for (q = p->next; q != NULL; p = q, q = q->next) {
X x1 = x3; y1 = y3;
X x2 = c; y2 = d;
X c = q->x; d = q->y;
X x3 = (x2 + c) / 2;
X y3 = (y2 + d) / 2;
X fprintf(tfp, "\t%.3f %.3f %.3f %.3f %.3f %.3f DrawSplineSection\n",
X x1, y1, x2, y2, x3, y3);
X }
X /*
X * At this point, (x2,y2) and (c,d) are the position of the
X * next-to-last and last point respectively, in the point list
X */
X if (closed_spline(s)) {
X fprintf(tfp, "\t%.3f %.3f %.3f %.3f %.3f %.3f DrawSplineSection closepath ",
X x3, y3, c, d, a, b);
X if (s->area_fill)
X {
X set_areafill(s->area_fill);
X fprintf(tfp, " gsave fill grestore\n");
X set_areafill(NUMFILLPATS); /* back to black for line */
X }
X fprintf(tfp, " stroke\n");
X }
X else {
X fprintf(tfp, "\t%.3f %.3f lineto stroke\n", c, d);
X }
X reset_style(s->style, s->style_val);
X if (s->for_arrow) {
X draw_arrow_head(x2, y2, c, d, s->for_arrow->ht,
X s->for_arrow->wid);
X }
X }
X
Xgenps_ellipse(e,fill)
XF_ellipse *e;
Xint fill;
X{
X if ((fill && e->area_fill==0) ||
X (fill==0 && e->area_fill))
X return;
X
X set_linewidth(e->thickness);
X set_style(e->style, e->style_val);
X fprintf(tfp, "%% Ellipse\n");
X fprintf(tfp, "newpath %d %d %d %d 0 360 DrawEllipse\n",
X e->center.x, e->center.y, e->radiuses.x, e->radiuses.y);
X if (e->area_fill)
X {
X set_areafill(e->area_fill);
X fprintf(tfp, " gsave fill grestore\n");
X set_areafill(NUMFILLPATS); /* back to black for line */
X }
X fprintf(tfp, " stroke\n");
X reset_style(e->style, e->style_val);
X }
X
X#define TEXT_SET_PS "\
Xfn%d.%d setfont\n\
X"
X#define TEXT_DEF_PS "\
X/fn%d.%d /%s findfont %f scalefont def\n\
X"
X
X#define MAX_FONT_SIZES 20
X
Xgenps_text(t)
XF_text *t;
X {
X char *c;
X static int current_font = -1;
X static int current_size = -1;
X static int first[NUMFONTS][MAX_FONT_SIZES];
X int i,j,found;
X
X if (current_font == -1)
X for (i=0; i<NUMFONTS; i++)
X for (j=0; j<MAX_FONT_SIZES; j++)
X first[i][j] = 0;
X
X /* if different font or different size, choose new */
X if (current_font != t->font || current_size != t->size)
X {
X found = FALSE;
X for (i=0; (first[t->font][i]!=0 && i<MAX_FONT_SIZES); i++)
X if (first[t->font][i] == t->size) /* look for this size */
X {
X found = TRUE;
X break;
X }
X if (!found) /* if we haven't already done a 'findfont'... */
X {
X fprintf(tfp, TEXT_DEF_PS, t->font, t->size, fontnames[t->font].psfont,
X t->size/reduction);
X if (i < MAX_FONT_SIZES) /* insert this size in table */
X first[t->font][i] = t->size;
X }
X fprintf(tfp, TEXT_SET_PS, t->font, t->size); /* now select the font */
X }
X current_font = t->font;
X current_size = t->size;
X
X fprintf(tfp,"(");
X for (c = t->cstring; *c; c++) /* push the string on the stack */
X {
X if (*c == '\\' || *c == '(' || *c == ')')
X putc('\\', tfp);
X putc(*c, tfp);
X }
X
X if (t->type == T_CENTER_JUSTIFIED || t->type == T_RIGHT_JUSTIFIED)
X {
X /* dup the string and subtract half(all) of the width from the x position */
X fprintf(tfp,") dup stringwidth pop %s %d exch sub ",
X (t->type == T_CENTER_JUSTIFIED? "2 div": ""),t->base_x);
X fprintf(tfp,"%d moveto ",t->base_y);
X }
X else
X fprintf(tfp,") %d %d moveto ",t->base_x,t->base_y);
X
X if (coord_system == 2) /* upper left is 0,0 */
X fprintf(tfp, "1 -1 scale show 1 -1 scale\n");
X else
X fprintf(tfp, "show\n");
X }
X
Xgenps_arc(a,fill)
XF_arc *a;
Xint fill;
X{
X double angle1, angle2, dx, dy, radius, x, y;
X double cx, cy, sx, sy, ex, ey;
X int direction;
X
X if ((fill && a->area_fill==0) ||
X (fill==0 && a->area_fill))
X return;
X
X cx = a->center.x; cy = a->center.y;
X sx = a->point[0].x; sy = a->point[0].y;
X ex = a->point[2].x; ey = a->point[2].y;
X
X if (coord_system == 2)
X direction = !a->direction;
X else
X direction = a->direction;
X set_linewidth(a->thickness);
X if (a->for_arrow) {
X arc_tangent(cx, cy, ex, ey, direction, &x, &y);
X draw_arrow_head(x, y, ex, ey, a->for_arrow->ht, a->for_arrow->wid);
X }
X if (a->back_arrow) {
X arc_tangent(cx, cy, sx, sy, !direction, &x, &y);
X draw_arrow_head(x, y, sx, sy, a->back_arrow->ht, a->back_arrow->wid);
X }
X dx = cx - sx;
X dy = cy - sy;
X radius = sqrt(dx*dx + dy*dy);
X angle1 = atan2(sy-cy, sx-cx) * 180 / M_PI;
X angle2 = atan2(ey-cy, ex-cx) * 180 / M_PI;
X /* direction = 1 -> Counterclockwise */
X set_style(a->style, a->style_val);
X fprintf(tfp, "newpath %.3f %.3f %.3f %.3f %.3f %s stroke\n",
X cx, cy, radius, angle1, angle2,
X ((direction == 1) ? "arc" : "arcn"));
X reset_style(a->style, a->style_val);
X }
X
Xarc_tangent(x1, y1, x2, y2, direction, x, y)
Xdouble x1, y1, x2, y2, *x, *y;
Xint direction;
X{
X if (direction) { /* counter clockwise */
X *x = x2 + (y2 - y1);
X *y = y2 - (x2 - x1);
X }
X else {
X *x = x2 - (y2 - y1);
X *y = y2 + (x2 - x1);
X }
X }
X
X/* draw arrow heading from (x1, y1) to (x2, y2) */
X
Xdraw_arrow_head(x1, y1, x2, y2, arrowht, arrowwid)
Xfloat x1, y1, x2, y2, arrowht, arrowwid;
X{
X float x, y, xb, yb, dx, dy, l, sina, cosa;
X float xc, yc, xd, yd;
X
X dx = x2 - x1; dy = y1 - y2;
X l = sqrt((double)(dx*dx + dy*dy)); /* length of line */
X sina = dy / l; cosa = dx / l;
X xb = x2*cosa - y2*sina;
X yb = x2*sina + y2*cosa;
X x = xb - arrowht;
X y = yb - arrowwid / 2;
X xc = x*cosa + y*sina; /* one tail of arrow */
X yc = -x*sina + y*cosa;
X y = yb + arrowwid / 2;
X xd = x*cosa + y*sina; /* other tail of arrow */
X yd = -x*sina + y*cosa;
X fprintf(tfp, "newpath %.3f %.3f moveto %.3f %.3f lineto %.3f %.3f lineto stroke\n",
X xc, yc, x2, y2, xd, yd);
X }
X
Xellipse_exist(ob)
XF_compound *ob;
X{
X F_compound *c;
X
X if (NULL != ob->ellipses) return(1);
X
X for (c = ob->compounds; c != NULL; c = c->next) {
X if (ellipse_exist(c)) return(1);
X }
X
X return(0);
X }
X
Xnormal_spline_exist(ob)
XF_compound *ob;
X{
X F_spline *s;
X F_compound *c;
X
X for (s = ob->splines; s != NULL; s = s->next) {
X if (normal_spline(s)) return(1);
X }
X
X for (c = ob->compounds; c != NULL; c = c->next) {
X if (normal_spline_exist(c)) return(1);
X }
X
X return(0);
X }
X
X/*VARARGS1*/
Xput_msg(format, arg1, arg2, arg3, arg4, arg5)
X char *format;
X int arg1, arg2, arg3, arg4, arg5;
X{
X fprintf(stderr, format, arg1, arg2, arg3, arg4, arg5);
X}
X
X#ifdef sparc
X
XFREE ( x ) /*-- disable free --*/
X char *x ;
X{
X fprintf( stderr, "FREE -- %8x\n", x ) ;
X}
XCFREE ( x ) /*-- disable cfree --*/
X char *x ;
X{
X fprintf( stderr, "FREE -- %8x\n", x ) ;
X}
X
X#endif sparc
END_OF_FILE
if test 20059 -ne `wc -c <'xfig/f2ps.c'`; then
echo shar: \"'xfig/f2ps.c'\" unpacked with wrong size!
fi
# end of 'xfig/f2ps.c'
fi
if test -f 'xfig/panel2.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'xfig/panel2.h'\"
else
echo shar: Extracting \"'xfig/panel2.h'\" \(22782 characters\)
sed "s/^X//" >'xfig/panel2.h' <<'END_OF_FILE'
X/*
X * FIG : Facility for Interactive Generation of figures
X *
X * Copyright (c) 1985 by Supoj Sutanthavibul (supoj at sally.UTEXAS.EDU)
X * November 1985.
X *
X * Bitmaps for second panel added by B.V.Smith 1989
X * %W% %G%
X*/
X
X
Xstatic char save_n_exit_image[192]={
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xc0,0x07,0x86,0x81,0xf9,0x03,0xe0,0x0e,0x86,0x81,0x19,0x02,
X 0x60,0x0c,0x8f,0x81,0x19,0x00,0xc0,0x81,0x19,0xc3,0x18,0x00,
X 0x80,0xc7,0x30,0xc3,0xf8,0x00,0x10,0xcc,0x3f,0x66,0x18,0x00,
X 0x30,0xec,0x7f,0x66,0x18,0x00,0xf0,0x6f,0x60,0x3c,0x18,0x02,
X 0xe0,0x67,0x60,0x39,0xf8,0x03,0x00,0x00,0x00,0x01,0x00,0x00,
X 0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x40,0x01,0x00,0x00,
X 0x00,0x00,0x40,0x01,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,
X 0x00,0x00,0x40,0x01,0x00,0x00,0x00,0x00,0x40,0x01,0x00,0x00,
X 0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
X 0x80,0x87,0x61,0x7f,0xfe,0x01,0xc0,0x8c,0x61,0x19,0x32,0x01,
X 0x60,0x98,0x61,0x18,0x30,0x00,0x60,0x98,0x61,0x18,0x30,0x00,
X 0x60,0x98,0x61,0x18,0x30,0x00,0x60,0x98,0x61,0x18,0x30,0x00,
X 0x60,0x98,0x61,0x18,0x30,0x00,0xc0,0x0c,0x33,0x18,0x30,0x00,
X 0x80,0x07,0x1e,0x7e,0x30,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
X };
Xmpr_static(save_n_exit_ic,46,32,1,save_n_exit_image);
X
Xstatic char save_image[192]={
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 0xc0,0x07,0x06,0x03,0xfb,0x03,0xe0,0x0e,0x06,0x03,0xfb,0x03,
X 0x60,0x0c,0x0f,0x03,0x1b,0x02,0xe0,0x00,0x0f,0x86,0x19,0x00,
X 0xc0,0x81,0x19,0x86,0x19,0x00,0x80,0x83,0x19,0x86,0xf9,0x01,
X 0x00,0xc7,0x30,0x86,0xf9,0x01,0x00,0xce,0x3f,0xcc,0x18,0x00,
X 0x30,0xcc,0x3f,0xcc,0x18,0x00,0x30,0x6c,0x60,0xcc,0x18,0x02,
X 0xf0,0x6f,0x60,0x78,0xf8,0x03,0xe0,0x67,0x60,0x78,0xf8,0x03,
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 };
Xmpr_static(save_ic,46,32,1,save_image);
X
Xstatic char save_in_image[192] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x07,0x86,0x81,0xf9,0x03,
X 0xe0,0x0f,0x86,0x81,0xf9,0x03,0x60,0x0c,0x8f,0x81,0x19,0x02,
X 0xe0,0x00,0x0f,0xc3,0x18,0x00,0xc0,0x81,0x19,0xc3,0x18,0x00,
X 0x80,0x83,0x19,0xc3,0xf8,0x01,0x00,0xc7,0x30,0xc3,0xf8,0x01,
X 0x00,0xce,0x3f,0x66,0x18,0x00,0x30,0xcc,0x3f,0x66,0x18,0x00,
X 0x30,0x6c,0x60,0x66,0x18,0x02,0xf0,0x6f,0x60,0x3c,0xf8,0x03,
X 0xe0,0x67,0x60,0x3c,0xf8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x38,0x06,0x00,0x00,
X 0x00,0xfc,0x38,0x06,0x00,0x00,0x00,0x30,0x78,0x06,0x00,0x00,
X 0x00,0x30,0x58,0x06,0x00,0x00,0x00,0x30,0x58,0x06,0x00,0x00,
X 0x00,0x30,0xd8,0x06,0x00,0x00,0x00,0x30,0xd8,0x06,0x00,0x00,
X 0x00,0x30,0x98,0x06,0x00,0x00,0x00,0x30,0x98,0x06,0x00,0x00,
X 0x00,0x30,0x98,0x07,0x00,0x00,0x00,0xfc,0x18,0x67,0x1b,0x00,
X 0x00,0xfc,0x18,0x67,0x1b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
X };
Xmpr_static(save_in_ic,46,32,1,save_in_image);
X
Xstatic char read_image[192] = {
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 0xf0,0xc3,0x1f,0x0c,0x7e,0x00,0xf0,0xc7,0x1f,0x0c,0xfe,0x00,
X 0x30,0xce,0x10,0x1e,0xc6,0x01,0x30,0xcc,0x00,0x1e,0x86,0x01,
X 0x30,0xce,0x00,0x33,0x86,0x01,0xf0,0xc7,0x0f,0x33,0x86,0x01,
X 0xf0,0xc3,0x8f,0x61,0x86,0x01,0xb0,0xc1,0x80,0x7f,0x86,0x01,
X 0x30,0xc3,0x80,0x7f,0x86,0x01,0x30,0xc6,0xd0,0xc0,0xc6,0x01,
X 0x30,0xcc,0xdf,0xc0,0xfe,0x00,0x30,0xd8,0xdf,0xc0,0x7e,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 };
Xmpr_static(read_ic,46,32,1,read_image);
X
Xstatic char undo_image[224] = {
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,0x78,0x3c,0x83,0xf1,
X 0x07,0x7c,0x00,0x30,0x18,0x87,0xf1,0x0f,0xfe,0x00,0x30,0x18,
X 0x87,0x31,0x1c,0xc7,0x01,0x30,0x18,0x8f,0x31,0x18,0x83,0x01,
X 0x30,0x18,0x8f,0x31,0x18,0x83,0x01,0x30,0x18,0x9b,0x31,0x18,
X 0x83,0x01,0x30,0x18,0x9b,0x31,0x18,0x83,0x01,0x30,0x18,0xbb,
X 0x31,0x18,0x83,0x01,0x30,0x18,0xb3,0x31,0x18,0x83,0x01,0x30,
X 0x18,0xb3,0x31,0x18,0x83,0x01,0x30,0x18,0xe3,0x31,0x18,0x83,
X 0x01,0x30,0x18,0xe3,0x31,0x18,0x83,0x01,0x70,0x1c,0xc3,0x31,
X 0x1c,0xc7,0x01,0xe0,0x0f,0xc3,0xf1,0x0f,0xfe,0x00,0xc0,0x07,
X 0x83,0xf1,0x07,0x7c,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};
Xmpr_static(undo_ic, 52, 32, 1, undo_image);
X
Xstatic char quit_image[192] = {
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,0xc0,0xc3,0x30,0x3f,0xff,0x00,
X 0x60,0xc6,0x30,0x0c,0x99,0x00,0x30,0xcc,0x30,0x0c,0x18,0x00,
X 0x30,0xcc,0x30,0x0c,0x18,0x00,0x30,0xcc,0x30,0x0c,0x18,0x00,
X 0x30,0xcc,0x30,0x0c,0x18,0x00,0x30,0xcc,0x30,0x0c,0x18,0x00,
X 0x30,0xcc,0x30,0x0c,0x18,0x00,0x30,0xcc,0x30,0x0c,0x18,0x00,
X 0x30,0xcc,0x30,0x0c,0x18,0x00,0x60,0x86,0x19,0x0c,0x18,0x00,
X 0xc0,0x03,0x0f,0x3f,0x18,0x01,0x00,0x03,0x00,0x00,0x80,0x01,
X 0x00,0x06,0x00,0x00,0xc0,0x00,0x00,0xfc,0xff,0xff,0x7f,0x00,
X 0x00,0xf8,0xff,0xff,0x3f,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 };
Xmpr_static(quit_ic, 46, 32, 1, quit_image);
X
Xstatic char edit_image[192] = {
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 0xc0,0x9f,0x1f,0x3f,0xff,0x00,0xc0,0x9f,0x3f,0x3f,0xff,0x00,
X 0xc0,0x90,0x71,0x0c,0x99,0x00,0xc0,0x80,0x61,0x0c,0x18,0x00,
X 0xc0,0x80,0x61,0x0c,0x18,0x00,0xc0,0x8f,0x61,0x0c,0x18,0x00,
X 0xc0,0x8f,0x61,0x0c,0x18,0x00,0xc0,0x80,0x61,0x0c,0x18,0x00,
X 0xc0,0x80,0x61,0x0c,0x18,0x00,0xc0,0x90,0x71,0x0c,0x18,0x00,
X 0xc0,0x9f,0x3f,0x3f,0x18,0x00,0xc0,0x9f,0x1f,0x3f,0x18,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 };
Xmpr_static(edit_ic, 46, 32, 1, edit_image);
X
Xstatic char cdir_image[192] = {
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 0x80,0xc7,0x8f,0x9f,0x1f,0x00,0xc0,0xcc,0x18,0x86,0x31,0x00,
X 0x60,0xcc,0x30,0x86,0x61,0x00,0x60,0xc0,0x30,0x86,0x61,0x00,
X 0x60,0xc0,0x30,0x86,0x61,0x00,0x60,0xc0,0x30,0x86,0x31,0x00,
X 0x60,0xc0,0x30,0x86,0x1f,0x00,0x60,0xc0,0x30,0x86,0x0d,0x00,
X 0x60,0xc0,0x30,0x86,0x19,0x00,0x60,0xcc,0x30,0x86,0x31,0x00,
X 0xc0,0xcc,0x18,0x86,0x61,0x00,0x80,0xc7,0x8f,0x9f,0xc1,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 };
Xmpr_static(cdir_ic, 46, 32, 1, cdir_image);
X
Xstatic char pdir_image[192] = {
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 0xe0,0x87,0x1f,0x7e,0x7e,0x00,0x60,0x8c,0x31,0x18,0xc6,0x00,
X 0x60,0x98,0x61,0x18,0x86,0x01,0x60,0x98,0x61,0x18,0x86,0x01,
X 0x60,0x98,0x61,0x18,0x86,0x01,0x60,0x8c,0x61,0x18,0xc6,0x00,
X 0xe0,0x87,0x61,0x18,0x7e,0x00,0x60,0x80,0x61,0x18,0x36,0x00,
X 0x60,0x80,0x61,0x18,0x66,0x00,0x60,0x80,0x61,0x18,0xc6,0x00,
X 0x60,0x80,0x31,0x18,0x86,0x01,0x60,0x80,0x1f,0x7e,0x06,0x03,
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 };
Xmpr_static(pdir_ic, 46, 32, 1, pdir_image);
X
Xstatic char print_image[224] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
X 0xff,0xff,0xff,0x0f,0x20,0x00,0x00,0x00,0x00,0x00,0x08,0x20,
X 0x00,0x00,0x00,0x00,0x00,0x08,0x20,0x00,0x00,0x00,0x00,0x00,
X 0x08,0xe0,0xff,0xff,0xff,0xff,0xff,0x0f,0xa0,0x00,0x00,0x00,
X 0x00,0x00,0x08,0xa0,0x00,0x00,0xf8,0x03,0x00,0x08,0xa0,0x00,
X 0x00,0x08,0x02,0x00,0x08,0xa0,0x00,0x00,0xf8,0x03,0x00,0x08,
X 0xa0,0x00,0x00,0xa8,0x02,0x00,0x04,0xa0,0x00,0x00,0xf8,0x03,
X 0x00,0x02,0xa0,0x00,0x00,0x00,0x00,0x00,0x01,0xe0,0xff,0xff,
X 0xff,0xff,0xff,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x00,0xfc,
X 0xf8,0xff,0xff,0xff,0x9f,0x00,0x84,0x00,0x00,0x00,0x00,0x80,
X 0x00,0x84,0xf8,0xff,0xff,0xff,0x9f,0x00,0xfc,0x00,0x00,0x00,
X 0x00,0x80,0x00,0xe0,0xf8,0xff,0xff,0xff,0x9f,0x00,0xc0,0x00,
X 0x00,0x00,0x00,0x80,0x00,0x80,0xf8,0xff,0xff,0xff,0x9f,0x00,
X 0x80,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0xf8,0xff,0xff,0xff,
X 0x9f,0x00,0x00,0x01,0x00,0x00,0x00,0x80,0x00,0x00,0xfe,0xff,
X 0xff,0xff,0xff,0x00,0x00,0x7c,0x00,0x00,0x00,0x7c,0x00,0x00,
X 0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Xmpr_static(print_ic, 54, 32, 1, print_image);
X
Xstatic char print_sel_image[224] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
X 0x3f,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0xe0,
X 0xff,0xff,0x3f,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,
X 0x00,0x20,0x00,0x07,0x20,0x00,0x00,0x00,0x20,0x00,0x07,0x10,
X 0x00,0x00,0x00,0x20,0x00,0x00,0x08,0x00,0x00,0x00,0xe0,0xff,
X 0xff,0x07,0x00,0x00,0x00,0x78,0x00,0x00,0x04,0x00,0x00,0x00,
X 0x48,0xfe,0xff,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x04,0x00,
X 0x00,0x00,0x40,0xfe,0xff,0x04,0x00,0x00,0x00,0x40,0x00,0x00,
X 0x04,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
X 0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0x02,0x80,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0xc0,0x00,
X 0x00,0x00,0x00,0x00,0x11,0x80,0x00,0x00,0x04,0x00,0x00,0x01,
X 0x80,0x00,0x00,0x04,0x00,0x00,0x01,0x87,0x70,0x38,0x1e,0x00,
X 0x00,0x8e,0x88,0x88,0x44,0x04,0x00,0x00,0x90,0x8f,0xf8,0x04,
X 0x04,0x00,0x00,0x90,0x80,0x08,0x04,0x04,0x00,0x00,0x91,0x88,
X 0x88,0x44,0x24,0x00,0x00,0x0e,0xc7,0x71,0x38,0x18,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Xmpr_static(print_sel_ic, 54, 32, 1, print_sel_image);
X
Xstatic char size_image[224] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,
X 0x00,0x00,0x00,0x00,0xc0,0xff,0x00,0x00,0x00,0x00,0x00,0xe0,
X 0xff,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0x00,0x00,0x00,0x00,
X 0x00,0x78,0xe0,0x00,0x00,0x00,0x00,0x00,0x38,0xc0,0x00,0x00,
X 0x00,0x00,0x00,0x38,0xc0,0x00,0x00,0x00,0x00,0x00,0x38,0x80,
X 0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x03,0x00,0x00,0x00,
X 0x00,0x00,0xf0,0x0f,0x00,0x00,0x00,0x00,0x00,0xc0,0x3f,0x30,
X 0x00,0x00,0x00,0x00,0x80,0x7f,0x30,0x00,0x00,0x00,0x00,0x00,
X 0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xf8,0x0f,0x3e,
X 0x00,0x00,0xf0,0x31,0xf8,0x0f,0x7f,0x00,0x00,0xe0,0x31,0x08,
X 0x86,0xe3,0x00,0x00,0xe0,0x31,0x00,0x83,0xff,0x00,0x08,0xe0,
X 0x31,0x80,0x81,0xff,0x00,0x18,0xe0,0x31,0xc0,0x80,0x01,0x00,
X 0x38,0xf0,0x30,0x61,0x88,0xe3,0x00,0xf8,0xff,0xf0,0xf1,0x0f,
X 0xff,0x00,0xf8,0x7f,0xe0,0xf8,0x0f,0x3c,0x00,0xf8,0x1f,0x00,
X 0x00,0x00,0x00,0x00,0x08,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};
Xmpr_static(size_ic, 52, 32, 1, size_image);
X
Xstatic char font_image[224] = {
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,0xf8,0xff,0xff,0x01,0x00,0x00,0x00,0xf8,
X 0xff,0xff,0x01,0x00,0x00,0x00,0xf8,0xff,0xff,0x01,0x00,0x00,
X 0x00,0xe0,0x07,0xfc,0x01,0x00,0x00,0x00,0xc0,0x07,0xf0,0x01,
X 0x00,0x00,0x00,0xc0,0x07,0xe0,0x01,0x00,0x00,0x00,0xc0,0x07,
X 0xe0,0x01,0x00,0x00,0x00,0xc0,0x07,0xe3,0x01,0x00,0x00,0x00,
X 0xc0,0x07,0xe7,0x01,0x00,0x00,0x00,0xc0,0x07,0x07,0x00,0x00,
X 0x00,0x00,0xc0,0x87,0x07,0x00,0x00,0x00,0x00,0xc0,0xff,0x07,
X 0x00,0x00,0x00,0x00,0xc0,0xff,0x07,0x00,0x00,0x06,0x00,0xc0,
X 0xff,0x07,0x00,0x00,0x06,0x00,0xc0,0x87,0x07,0x00,0x80,0x1f,
X 0x00,0xc0,0x07,0x07,0x00,0x80,0x1f,0x00,0xc0,0x07,0xe7,0xc3,
X 0x1c,0x06,0x00,0xc0,0x07,0xf3,0xc7,0x3f,0x06,0x00,0xc0,0x07,
X 0x38,0xce,0x63,0x06,0x00,0xc0,0x07,0x18,0xcc,0x61,0x06,0x00,
X 0xe0,0x0f,0x18,0xcc,0x60,0x06,0x00,0xf8,0xff,0x18,0xcc,0x60,
X 0x86,0x01,0xf8,0xff,0x38,0xce,0x60,0x8c,0x01,0xf8,0xff,0xf0,
X 0xc7,0x60,0xfc,0x00,0x00,0x00,0xe0,0xc3,0x60,0x78,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Xmpr_static(font_ic, 52, 32, 1, font_image);
X
Xstatic char textL_image[224] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
X 0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0xc0,0xf8,0x1f,0x00,0x00,0x00,0x3c,0x00,0x98,0x19,
X 0x00,0x00,0x00,0x18,0x00,0x88,0x11,0x00,0x00,0x02,0x18,0xc0,
X 0x80,0x01,0x00,0x00,0x03,0x18,0xc0,0x80,0x81,0xe7,0xb8,0x0f,
X 0x18,0xc0,0x80,0xc1,0xcc,0x18,0x03,0x18,0xc0,0x80,0x61,0x98,
X 0x0d,0x03,0x18,0xc0,0x80,0xe1,0x1f,0x07,0x03,0x18,0x00,0x80,
X 0x61,0x00,0x06,0x03,0x18,0xc0,0x80,0x61,0x00,0x07,0x03,0x18,
X 0xc0,0x80,0xe1,0x90,0x0d,0x03,0x18,0xc0,0x80,0xc1,0xcd,0x18,
X 0x17,0x18,0x04,0xc0,0x83,0xe7,0x38,0x0e,0xfc,0xc7,0x00,0x00,
X 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
X 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
X 0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,
X 0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0};
Xmpr_static(textL_ic, 54, 32, 1, textL_image);
X
Xstatic char change_text_image[192] = {
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,0xf0,0x7f,0x00,0x00,0x00,0x00,
X 0xe0,0x7f,0x00,0x00,0x00,0x00,0xc0,0x60,0x00,0xc0,0x7f,0x00,
X 0xc0,0x40,0x00,0xc0,0x7f,0x00,0xc0,0x00,0x00,0xc0,0x7f,0x00,
X 0xc0,0x08,0x08,0xc1,0x01,0x00,0xc0,0x0f,0x0c,0xc3,0x01,0x00,
X 0xc0,0x0f,0xfe,0xc7,0x3f,0x00,0xc0,0x08,0xfe,0xc7,0x3f,0x00,
X 0xc0,0x00,0x0c,0xc3,0x3f,0x00,0xc0,0x00,0x08,0xc1,0x01,0x00,
X 0xc0,0x00,0x00,0xc0,0x01,0x00,0xc0,0x40,0x00,0xc0,0x7f,0x00,
X 0xc0,0x60,0x00,0xc0,0x7f,0x00,0xe0,0x7f,0x00,0xc0,0x7f,0x00,
X 0xf0,0x7f,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};
Xmpr_static(change_text_ic, 46, 32, 1, change_text_image);
X
Xstatic char textC_image[224] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
X 0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0xc0,0xf8,0x1f,0x00,0x00,0x00,0xe0,0x01,0x98,0x19,
X 0x00,0x00,0x00,0x38,0x06,0x88,0x11,0x00,0x00,0x02,0x0c,0xc4,
X 0x80,0x01,0x00,0x00,0x03,0x0c,0xc0,0x80,0x81,0xe7,0xb8,0x0f,
X 0x06,0xc0,0x80,0xc1,0xcc,0x18,0x03,0x06,0xc0,0x80,0x61,0x98,
X 0x0d,0x03,0x06,0xc0,0x80,0xe1,0x1f,0x07,0x03,0x06,0x00,0x80,
X 0x61,0x00,0x06,0x03,0x06,0xc0,0x80,0x61,0x00,0x07,0x03,0x0c,
X 0xc0,0x80,0xe1,0x90,0x0d,0x03,0x0c,0xc4,0x80,0xc1,0xcd,0x18,
X 0x17,0x38,0xc6,0xc0,0x83,0xe7,0x38,0x0e,0xe0,0xc1,0x00,0x00,
X 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
X 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
X 0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,
X 0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0};
Xmpr_static(textC_ic, 54, 32, 1, textC_image);
X
Xstatic char textR_image[224] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
X 0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0xc0,0xf8,0x1f,0x00,0x00,0x00,0xfe,0x01,0x98,0x19,
X 0x00,0x00,0x00,0x8c,0x03,0x88,0x11,0x00,0x00,0x02,0x0c,0xc3,
X 0x80,0x01,0x00,0x00,0x03,0x0c,0xc3,0x80,0x81,0xe7,0xb8,0x0f,
X 0x0c,0xc3,0x80,0xc1,0xcc,0x18,0x03,0x8c,0xc1,0x80,0x61,0x98,
X 0x0d,0x03,0xfc,0xc0,0x80,0xe1,0x1f,0x07,0x03,0xcc,0x00,0x80,
X 0x61,0x00,0x06,0x03,0x8c,0xc1,0x80,0x61,0x00,0x07,0x03,0x0c,
X 0xc3,0x80,0xe1,0x90,0x0d,0x03,0x0c,0xc3,0x80,0xc1,0xcd,0x18,
X 0x17,0x0c,0x06,0xc0,0x83,0xe7,0x38,0x0e,0x1e,0xcf,0x00,0x00,
X 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
X 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,
X 0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,
X 0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0};
Xmpr_static(textR_ic, 54, 32, 1, textR_image);
X
X/* image with L dominant, P light */
Xstatic char land_image[128] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xf8,0x03,0x54,0x05,0xf0,0x01,0xa8,0x0a,0xe0,0x00,0x10,0x14,
X 0xe0,0x00,0x28,0x08,0xe0,0x00,0x10,0x14,0xe0,0x00,0xa8,0x0a,
X 0xe0,0x00,0x50,0x05,0xe0,0x00,0x28,0x00,0xe0,0x00,0x10,0x00,
X 0xe0,0x00,0x28,0x00,0xe0,0x60,0x10,0x00,0xf0,0x3f,0xa8,0x00,
X 0xf8,0x1f,0x54,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x1f,0x00,
X 0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,
X 0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0xfc,0x1f,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Xmpr_static(land_ic, 32, 32, 1, land_image);
X
X/* image with L light , P dominant */
Xstatic char port_image[128] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0xa8,0x02,0xfe,0x07,0x50,0x01,0xfc,0x0f,0xa0,0x00,0x38,0x18,
X 0x40,0x00,0x38,0x18,0xa0,0x00,0x38,0x18,0x40,0x00,0xf8,0x0f,
X 0xa0,0x00,0xf8,0x07,0x40,0x00,0x38,0x00,0xa0,0x00,0x38,0x00,
X 0x40,0x00,0x38,0x00,0xa0,0x20,0x38,0x00,0x50,0x15,0xfc,0x00,
X 0xa8,0x0a,0xfe,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0xf8,0x03,0x00,0x00,0x08,0x02,0x00,0x00,0x08,0x02,0x00,
X 0x00,0x08,0x02,0x00,0x00,0x08,0x02,0x00,0x00,0x08,0x02,0x00,
X 0x00,0x08,0x02,0x00,0x00,0x08,0x02,0x00,0x00,0x08,0x02,0x00,
X 0x00,0x08,0x02,0x00,0x00,0xf8,0x03,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
Xmpr_static(port_ic, 32, 32, 1, port_image);
X
Xstatic char redisp_image[256] = {
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00,0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x2a,
X 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0xa8,0xaa,0xaa,0xaa,
X 0xaa,0xaa,0xaa,0x2a,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x14,
X 0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x14,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x17,0x28,0x54,0x55,0x55,0x55,0x55,0x55,0x2f,
X 0x14,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x17,0x28,0x54,0x55,0x55,
X 0x55,0x55,0x55,0x2f,0x14,0x0a,0x00,0x00,0x00,0x00,0xa0,0x17,
X 0x28,0x94,0x07,0x80,0x00,0x00,0x40,0x2f,0x14,0x8a,0x08,0x80,
X 0x00,0x00,0xa0,0x17,0x28,0x94,0x08,0x80,0x00,0x00,0x40,0x2f,
X 0x14,0x8a,0xc8,0xb1,0x1a,0x27,0xa4,0x17,0x28,0x94,0x27,0xca,
X 0x24,0x28,0x44,0x2f,0x14,0x8a,0xe2,0x8b,0x04,0x2f,0xa4,0x17,
X 0x28,0x94,0x24,0x88,0x84,0x28,0x44,0x2f,0x14,0x8a,0x28,0xc8,
X 0x84,0xac,0xa5,0x17,0x28,0x94,0xc8,0xb1,0x04,0x4b,0x42,0x2f,
X 0x14,0x0a,0x00,0x00,0x00,0x00,0xa0,0x17,0x28,0x54,0x55,0x55,
X 0x55,0x55,0x55,0x2f,0x14,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x17,
X 0x28,0xfe,0xff,0xff,0xff,0xff,0xff,0x2f,0x14,0xff,0xff,0xff,
X 0xff,0xff,0xff,0x17,0xa8,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,
X 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0xa8,0xaa,0xaa,0xaa,
X 0xaa,0xaa,0xaa,0x2a,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x15,
X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X 0x00,0x00,0x00,0x00};
Xmpr_static(redisp_ic,64,32,1,redisp_image);
END_OF_FILE
if test 22782 -ne `wc -c <'xfig/panel2.h'`; then
echo shar: \"'xfig/panel2.h'\" unpacked with wrong size!
fi
# end of 'xfig/panel2.h'
fi
echo shar: End of archive 6 \(of 15\).
cp /dev/null ark6isdone
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
dan
-----------------------------------------------------------
O'Reilly && Associates
argv at sun.com / argv at ora.com
632 Petaluma Ave, Sebastopol, CA 95472
800-338-NUTS, in CA: 800-533-NUTS, FAX 707-829-0104
Opinions expressed reflect those of the author only.
More information about the Comp.sources.x
mailing list