billr@saab.CNA.TEK.COM (Bill Randle) (12/07/89)
Submitted-by: mtymp01@ux.acss.umn.edu Posting-number: Volume 8, Issue 73 Archive-name: unidraw/Part01 #! /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 1 (of 1)." # Contents: README COPYRIGHT Makefile command.c fill.c help.c init.c # keymap.c main.c redraw.c unidraw.6 unidraw.h # Wrapped by billr@saab on Wed Dec 6 09:30:30 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'README'\" else echo shar: Extracting \"'README'\" \(977 characters\) sed "s/^X//" >'README' <<'END_OF_FILE' X#ifndef LINT Xchar COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This X program may be distributed if it is impossible for X the distributor to get a more up-to-date-version of X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xchar AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X XUnidraw is a drawing program. edit makefile, then do 'make install' Xto make everything happen. XJust get in to unidraw and do '?'.... Xto get the usage, do 'unidraw -u'... X X r a w w X u u n n i ddd r r aa w w X u u n n i d d r r a a w w X u u nn n d d r r a a w w X u u nnnn i d d rr a a w w X u u n nn i d d r r aaaa w w w X u u n n i d d r r a a wwww X u u n i d d r r a a w w X uu n i ddd r r a a X n r a X a END_OF_FILE if test 977 -ne `wc -c <'README'`; then echo shar: \"'README'\" unpacked with wrong size! fi # end of 'README' fi if test -f 'COPYRIGHT' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'COPYRIGHT'\" else echo shar: Extracting \"'COPYRIGHT'\" \(388 characters\) sed "s/^X//" >'COPYRIGHT' <<'END_OF_FILE' X#ifndef LINT Xchar COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This X program may be distributed if it is impossible for X the distributor to get a more up-to-date-version of X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xchar AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ END_OF_FILE if test 388 -ne `wc -c <'COPYRIGHT'`; then echo shar: \"'COPYRIGHT'\" unpacked with wrong size! fi # end of 'COPYRIGHT' fi if test -f 'Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Makefile'\" else echo shar: Extracting \"'Makefile'\" \(906 characters\) sed "s/^X//" >'Makefile' <<'END_OF_FILE' X##ifndef LINT X#char COPYRIGHT[]="\ X# COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X# This program is copyright 1989 Nils McCarthy. This X# program may be distributed if it is impossible for X# the distributor to get a more up-to-date-version of X# it. \n\ X# COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X# "; X#char AUTHOR[]="Copyright 1989 Nils McCarthy"; X##endif /* LINT */ X# START OF MAKEFILE XBINDIR=/usr/games XMANDIR=/usr/man/man6 XOBJS= init.o redraw.o main.o command.o help.o keymap.o fill.o XSRCS= init.c redraw.c main.c command.c help.c keymap.c fill.c XCFLAGS=-g XLIBS= -lcurses -ltermcap #-lcdb X Xeverything: X more README X make install X Xoi: over X make install Xover: clean X make all X Xclean: X rm -f $(OBJS) unidraw X Xall: unidraw X Xunidraw: $(OBJS) X cc -o unidraw -g $(OBJS) $(LIBS) X X$(OBJS) : unidraw.h X Xinstall: unidraw X install unidraw $(BINDIR) X install -c unidraw.6 $(MANDIR) X END_OF_FILE if test 906 -ne `wc -c <'Makefile'`; then echo shar: \"'Makefile'\" unpacked with wrong size! fi # end of 'Makefile' fi if test -f 'command.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'command.c'\" else echo shar: Extracting \"'command.c'\" \(3730 characters\) sed "s/^X//" >'command.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X#include "unidraw.h" X Xchar *WinGet(output,mlen,chrset) /* Get a string from a window */ X char *output; X int mlen; X char *chrset; X{ X char ch; X output[0]=NULL; X raw(); X X while(strlen(output)<(mlen+1)) { /* so if there is too many chars, it X just dumps them out. */ X ch=getchar(); X if(ch==8 || ch==10) /* Backspace */ X if(strlen(output)>0) { X output[strlen(output)-1]=NULL; X printw("\b \b"); X refresh(); X } else {} /* Needed so the following else will take the X right if */ X else X if(ch==13) { /* enter key */ X return(output); X } else X if(chrset==NULL || index(chrset,ch)!=NULL) { X int l; /* Add on a character */ X l=strlen(output); X output[l]=ch; X output[l+1]=NULL; X addch(ch); X refresh(); X } X } X return(output); X printw("\n"); X resetty(); X} X Xcommand(comm) /* execute a special command */ Xchar *comm; X{ X if(!strncmp(comm,"write ",6)) { /* Write to a file */ X char **writebox; X FILE *fptr; X char *file; X char *linespace; X char *line; X int i,j; X X writebox=(char **) malloc(PADLINES*sizeof(*writebox)); X for(i=0;i<PADCOLS;i++) X writebox[i]=malloc(PADCOLS*sizeof(**writebox)); X linespace=malloc(PADCOLS*sizeof(*linespace)); X line=linespace+1; X linespace[0]=NULL; X for(i=0;i<PADLINES;i++) X for(j=0;j<PADLINES;j++) X (writebox[i])[j]=pad(i,j); X file=index(comm,' '); X file+=1; X if(*file==NULL) return; X move(3,0); X printw("Writing file... "); X refresh(); X fptr=fopen(file,"w"); X if(fptr==NULL) { X move(3,0); X printw("ERROR: FILE NOT WRITABLE!!! "); X refresh(); X return; X } X line[PADCOLS]=NULL; X for(i=0;i<PADLINES;i++) { X for(j=0;j<PADCOLS;j++) /* Take of ending spaces*/ X line[j]=pad(i,j); X while(line[strlen(line)-1]==' ' && strlen(line)>0) X line[strlen(line)-1]=NULL; X strcpy(writebox[i],line); X strcat(writebox[i],"\n"); X } X for(i=PADLINES-1;(writebox[i])[0]=='\n' && i>=0;i--) X (writebox[i])[0]=NULL; /* take of ending blank lines */ X for(i=0;i<PADLINES;i++) X fprintf(fptr,writebox[i]); X fclose(fptr); X } X if(!strncmp(comm,"read ",5)) { /* READ FILE */ X FILE *fptr; X char *file; X int i,j; X char ch; X X move(3,0); X file=index(comm,' ')+1; X if(*file==NULL) return; X move(3,0); X if((fptr=fopen(file,"r"))==NULL) { X printw("CANNOT OPEN FILE"); X refresh(); X return; X } X printw("Reading..."); X refresh(); X for(i=0;i<PADLINES;i++) X for(j=0;j<PADCOLS;j++) X pad(i,j)=' '; X i=0;j=0; X while(j<PADLINES) { X if((ch=fgetc(fptr))==EOF) X return; X if(ch=='\n' || i>PADCOLS) { /* next line */ X j++; X i=0; X } else { X pad(j,i)=ch; X i++; X } X } X redraw(); X } X if(!strcmp(comm,"quit")) /* put the break key in the buffer */ X ungetc(brk,stdin); X if(!strcmp(comm,"suspend")) /* put the suspend key in the buffer */ X ungetc(suspend,stdin); X if(!strcmp(comm,"fill")) /* fill area */ X fill(padx,pady); X if(!strcmp(comm,"clear")) { /* clear area */ X int i,j; X for(i=0;i<PADCOLS;i++) X for(j=0;j<PADLINES;j++) X pad(j,i)=' '; X } X if(!strcmp(comm,"copy")) /* copyright notice */ X printw(COPYRIGHT); X} END_OF_FILE if test 3730 -ne `wc -c <'command.c'`; then echo shar: \"'command.c'\" unpacked with wrong size! fi # end of 'command.c' fi if test -f 'fill.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'fill.c'\" else echo shar: Extracting \"'fill.c'\" \(773 characters\) sed "s/^X//" >'fill.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X#include "unidraw.h" X Xfill(x,y) X{ X int xl=x,xr=x,i; X while(pad(y,xl)==' ' && xr>=0) X xl--; X while(pad(y,xr)==' ' && xr<=PADCOLS) X xr++; X xl++; X xr--; X for(i=xl;i<=xr;i++) X pad(y,i)=pench; X for(i=xl;i<=xr;i++) { X if(y>0 && pad(y-1,i)==' ') X fill(i,y-1); X if(y<PADLINES && pad(y+1,i)==' ') X fill(i,y+1); X } X refresh(); X} END_OF_FILE if test 773 -ne `wc -c <'fill.c'`; then echo shar: \"'fill.c'\" unpacked with wrong size! fi # end of 'fill.c' fi if test -f 'help.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'help.c'\" else echo shar: Extracting \"'help.c'\" \(1824 characters\) sed "s/^X//" >'help.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X#include "unidraw.h" Xhelp() X{ X clear(); X move(0,0); X printw(" /\n"); X printw(" / /\n"); X printw(" \\ /\n"); X printw(" \\/NIDRAW\n"); X printw(" copyright 1989 Nils McCarthy\n"); X printw("\n"); X printw(" WELCOME TO UNIDRAW! here is a summary of the commands:\n"); X printw(" 1-4,6-9 : movement\n"); X printw(" ? : help\n"); X printw(" ^L : redraw the screen\n"); X printw(" p : pen on/off\n"); X printw(" \\char : set penchar to char\n"); X printw(" ^C : quit\n"); X printw("\n\npress any key to continue\n"); X refresh(); X getchar(); X clear(); X move(0,0); X printw(" > : special commands:\n"); X printw(" read : read a file in to page\n"); X printw(" write : write picture to page\n"); X printw(" fill : fill region with current char\n"); X printw(" clear : clear pad\n"); X printw(" quit : quit\n"); X printw(" suspend : suspend the program to do something else\n"); X printw(" copy : display copyright notice\n"); X printw(" also, if you want to redifine the keys, you do:\n"); X printw(" setenv UNIDRAW name=key,name=key,...\n"); X printw(" or if you just want vi keys, use:\n"); X printw(" unidraw -v [file]\n\n\n"); X printw("press any key to continue\n"); X refresh(); X getchar(); X clear(); X} END_OF_FILE if test 1824 -ne `wc -c <'help.c'`; then echo shar: \"'help.c'\" unpacked with wrong size! fi # end of 'help.c' fi if test -f 'init.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'init.c'\" else echo shar: Extracting \"'init.c'\" \(936 characters\) sed "s/^X//" >'init.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X Xvoid endwin(); X#include "unidraw.h" X Xbrkfunct() X{ X clear(); X move(0,0); X printw("goodbye. see you in unidraw again sometime...\n"); X refresh(); X echo(); X nl(); X resetty(); X endwin(); X exit(0); X} X Xinit() X{ X int i,j; X X initscr(); X savetty(); X cbreak(); X noecho(); X signal(SIGINT,brkfunct); X nl(); X X keymaps(); X X pen=0; X pench='#'; X padx=0; X pady=0; X padposx=0; X padposy=0; X for(i=0;i<PADLINES;i++) X for(j=0;j<PADCOLS;j++) X pad(i,j)=' '; X clear(); X redraw(); X} END_OF_FILE if test 936 -ne `wc -c <'init.c'`; then echo shar: \"'init.c'\" unpacked with wrong size! fi # end of 'init.c' fi if test -f 'keymap.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'keymap.c'\" else echo shar: Extracting \"'keymap.c'\" \(2286 characters\) sed "s/^X//" >'keymap.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X#include "unidraw.h" Xmapkey(name,key) X char *name; X char key; X{ X if(!strcmp(name,"up")) X up=key; X else if(!strcmp(name,"down")) X down=key; X else if(!strcmp(name,"right")) X right=key; X else if(!strcmp(name,"left")) X up_left=key; X else if(!strcmp(name,"up_left")) X up_right=key; X else if(!strcmp(name,"up_right")) X down_left=key; X else if(!strcmp(name,"down_left")) X down_right=key; X else if(!strcmp(name,"down_right")) X down_right=key; X else if(!strcmp(name,"pentoggle")) X pentoggle=key; X else if(!strcmp(name,"penkey")) X penkey=key; X else if(!strcmp(name,"special")) X special=key; X else if(!strcmp(name,"brk")) X brk=key; X else if(!strcmp(name,"suspend")) X suspend=key; X else { X fprintf(stderr,"setenv misformat: %s=%c\n",name,key); X sleep(5); X } X} X X Xkeymaps() X{ X char *beginname,*endname; X char name[80]; X if(vi) { X up='k'; X down='j'; X right='l'; X left='h'; X up_right='u'; X up_left='y'; X down_right='n'; X down_left='b'; X } else { X up='8'; X down='2'; X right='6'; X left='4'; X up_right='9'; X up_left='7'; X down_right='3'; X down_left='1'; X } X suspend=25; X pentoggle='p'; X penkey='\\'; X brk=3; X redr=''; X special='>'; X if(getenv("UNIDRAW")==NULL) X return; X beginname=(char *) getenv("UNIDRAW"); X endname=beginname; /* so if it isn't setenv'd to anything... */ X while(*beginname!=NULL) { X name[0]=NULL; X for(endname=beginname;*endname!='=';endname++) { X name[strlen(name)+1]=NULL; X name[strlen(name)]= (*endname); X } X if(*(endname+2)!=',' && *(endname+2)!=NULL) { X fprintf(stderr,"environment misusage.\n"); X exit(-1); X } X mapkey(name,*(endname+1)); X beginname=endname+3; X if(*(endname+2)=NULL) X beginname--; X } X} X END_OF_FILE if test 2286 -ne `wc -c <'keymap.c'`; then echo shar: \"'keymap.c'\" unpacked with wrong size! fi # end of 'keymap.c' fi if test -f 'main.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'main.c'\" else echo shar: Extracting \"'main.c'\" \(3161 characters\) sed "s/^X//" >'main.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X#include "unidraw.h" Xmain(argc,argv) X int argc; X char *argv[]; X{ X char ch; X BOOL redra; X char *readfile=NULL; X X vi=FALSE; X init(); X if(argv[0][0]!='-') { /* so if people want to use unidraw as a shell, X they can...*/ X if(argc>3 || (argc==3 && strcmp(argv[1],"-v"))) { X fprintf(stderr,"Usage: unidraw [-v] [file]\n"); X exit(-5547); X } X if(argc>1) { X if(argc==3) { X vi=TRUE; X readfile=argv[2]; X } else if(argv[1][0]=='-') { X vi=TRUE; X printf("BIBIBI"); X } else { X readfile=argv[1]; X } X if(readfile) { X int c; X char *ttt; X ttt=malloc(sizeof(char)*(strlen(readfile)+8)); X strcpy(ttt,"read "); X strcat(ttt,readfile); X command(ttt); X } X } X } X keymaps(); X move(WINTOP+padx-padposx,WINLEFT+pady-padposy); X refresh(); X X X while((ch=getchar()) != EOF) { X if(ch==up) { X pady--; X posref(); X } else X if(ch==down) { X pady++; X posref(); X } else X if(ch==right) { X padx++; X posref(); X } else X if(ch==left) { X padx--; X posref(); X } else X if(ch==up_left) { X padx--; X pady--; X posref(); X } else X if(ch==up_right) { X padx++; X pady--; X posref(); X } else X if(ch==down_left) { X padx--; X pady++; X posref(); X } else X if(ch==down_right) { X padx++; X pady++; X posref(); X } else X if(ch==pentoggle) { X pen=!pen; X move(1,5); X printw("%s",pen?"yes":"no "); X } else X if(ch==redr) { X clear(); X redraw(); X } else X if(ch==penkey) { X pench=getchar(); X move(1,30); X printw("%c",ch); X } else X if(ch==special) { X char comm[80]; X move(3,0); X printw(">"); /* command prompt */ X clrtoeol(); /* Clear to end of line */ X refresh(); X WinGet(comm,80,"abcdefghijklmnopqrstuvwxyz "); X command(comm); X } else X if(ch==brk) { X clear(); X refresh(); X endwin(); X exit(0); X } else X if(ch==suspend) { X kill(getpid(),18); X } else X if(ch=='?') { X help(); X redraw(); X } else { X pench=ch; X move(1,30); X printw("%c",ch); X } X move(WINTOP+pady-padposy,WINLEFT+padx-padposx); X redra=!0; X if(padx<0) padx++; X if(padx>PADCOLS) padx--; X if(pady<0) pady++; X if(pady>PADLINES) pady--; X if(padx<padposx+3 && padposx>0) padposx-=1; X if(pady<padposy+3 && padposy>0) padposy-=1; X if(padx>padposx+WINCOLS-3 && padposx<PADCOLS-WINCOLS) padposx+=1; X if(pady>padposy+WINLINES-3 && padposy<PADLINES-WINLINES) padposy+=1; X redraw(); X if(pen) { X posref(); X printw("%c",pench); X pad(pady,padx)=pench; X } X posref(); X refresh(); X } X} X Xposref() X{ X move(1,12); X printw("%3d y: %3d",padx,pady); X move(WINTOP+pady-padposy,WINLEFT+padx-padposx); X} END_OF_FILE if test 3161 -ne `wc -c <'main.c'`; then echo shar: \"'main.c'\" unpacked with wrong size! fi # end of 'main.c' fi if test -f 'redraw.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'redraw.c'\" else echo shar: Extracting \"'redraw.c'\" \(1462 characters\) sed "s/^X//" >'redraw.c' <<'END_OF_FILE' X#ifndef LINT Xstatic char COPYRIGHT[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHOR[]="Copyright 1989 Nils McCarthy"; X#endif /* LINT */ X X#include "unidraw.h" X Xredraw() X{ X X int i,j; X X X X move(0,0); X printw("Copyright 1989 Nils McCarthy +-+"); X move(1,0); X printw("Pen: %3s x: %3d y: %3d char: |%c|", /* status line */ X pen?"yes":"no", X padx, /* x position */ X pady, /* y position */ X pench); /* pen character */ X move(2,0); X printw(" +-+"); X X /* draw a box around the pad */ X X for(i=WINTOP;i<=WINTOP+WINLINES;i++) { X move(i,WINLEFT-1); X printw("|"); X move(i,WINLEFT+WINCOLS+1); X printw("|"); X } X for(i=WINLEFT;i<=WINLEFT+WINCOLS;i++) { X move(WINTOP-1,i); X printw("-"); X move(WINTOP+WINLINES+1,i); X printw("-"); X } X move(WINTOP-1,WINLEFT-1); X printw("+"); X move(WINTOP-1,WINLEFT+WINCOLS+1); X printw("+"); X move(WINTOP+WINLINES+1,WINLEFT-1); X printw("+"); X move(WINTOP+WINLINES+1,WINLEFT+WINCOLS+1); X printw("+"); X X for(i=0;i<=WINLINES;i++) X for(j=0;j<=WINCOLS;j++) { X move(i+WINTOP,j+WINLEFT); X printw("%c",pad(padposy+i,padposx+j)); X } X} X END_OF_FILE if test 1462 -ne `wc -c <'redraw.c'`; then echo shar: \"'redraw.c'\" unpacked with wrong size! fi # end of 'redraw.c' fi if test -f 'unidraw.6' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'unidraw.6'\" else echo shar: Extracting \"'unidraw.6'\" \(450 characters\) sed "s/^X//" >'unidraw.6' <<'END_OF_FILE' X.TH UNIDRAW 6 X.SH NAME Xunidraw \- great drawing program by Nils McCarthy X.SH USAGE Xunidraw [\-v] [filename] X.SH DESCRIPTION Xget in to unidraw and do "?"... X.SH COPYRIGHT X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT X X This program is copyright 1989 Nils McCarthy. This X X program may be distributed if it is impossible for X X the distributor to get a more up-to-date-version of X X it. X X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT X END_OF_FILE if test 450 -ne `wc -c <'unidraw.6'`; then echo shar: \"'unidraw.6'\" unpacked with wrong size! fi # end of 'unidraw.6' fi if test -f 'unidraw.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'unidraw.h'\" else echo shar: Extracting \"'unidraw.h'\" \(1148 characters\) sed "s/^X//" >'unidraw.h' <<'END_OF_FILE' Xstatic char COPYRIGHTh[]="\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X This program is copyright 1989 Nils McCarthy. This \ X program may be distributed if it is impossible for \ X the distributor to get a more up-to-date-version of \ X it. \n\ X COPYRIGHT --- COPYRIGHT --- COPYRIGHT --- COPYRIGHT \n\ X "; Xstatic char AUTHORh[]="Copyright 1989 Nils McCarthy"; X X#define pad(i,j) (thepad[i][j]) Xchar *malloc(); X#include <sys/file.h> X#include <signal.h> X#include <curses.h> X#include <stdio.h> X#include <strings.h> X#ifndef cbreak() X#define cbreak() crmode() X#endif /* cbreak */ X#define BOOL char /* Boolean */ X#define WINLINES 14 X#define WINCOLS 70 X#define WINTOP 5 X#define WINLEFT 5 X#define PADLINES 102 X#define PADCOLS 102 X#define SECWINCOORDS WINLINES,WINCOLS,WINTOP,WINLEFT X XWINDOW *secwin; Xint padx,pady,padposx,padposy; X XBOOL pen,vi; X Xchar pench; Xchar thepad[PADLINES+5][PADCOLS+5]; Xchar up; Xchar down; Xchar left; Xchar right; Xchar pentoggle; Xchar up_right; Xchar down_right; Xchar up_left; Xchar down_left; Xchar penkey; Xchar redr; Xchar special; X#define brk brk_key_because_there_is_already_an_brk_variable Xchar brk; Xchar suspend; END_OF_FILE if test 1148 -ne `wc -c <'unidraw.h'`; then echo shar: \"'unidraw.h'\" unpacked with wrong size! fi # end of 'unidraw.h' fi echo shar: End of archive 1 \(of 1\). cp /dev/null ark1isdone MISSING="" for I in 1 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have the archive. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0