summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pcvt/fed
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pcvt/fed')
-rw-r--r--usr.sbin/pcvt/fed/Makefile29
-rw-r--r--usr.sbin/pcvt/fed/edit.c340
-rw-r--r--usr.sbin/pcvt/fed/fed.c168
-rw-r--r--usr.sbin/pcvt/fed/fed.h127
-rw-r--r--usr.sbin/pcvt/fed/misc.c353
-rw-r--r--usr.sbin/pcvt/fed/select.c334
6 files changed, 0 insertions, 1351 deletions
diff --git a/usr.sbin/pcvt/fed/Makefile b/usr.sbin/pcvt/fed/Makefile
deleted file mode 100644
index c96ad03..0000000
--- a/usr.sbin/pcvt/fed/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-
-.if !exists(${.CURDIR}/../Makefile.inc)
-error:
- @echo
- @echo " You MUST link/copy"
- @echo
- @echo " ../Makefile.inc.NetBSD or ../Makefile.inc.FreeBSD"
- @echo
- @echo " to ../Makefile.inc before you can proceed !"
- @echo
-.else
-#CFLAGS = -g -Wall -pipe
-CFLAGS = -O -Wall -pipe -I/usr/local/include
-OBJS = fed.o select.o edit.o misc.o
-LIB = ncurses
-DEST = /usr/local/bin
-
-fed: $(OBJS)
- $(CC) -o fed $(OBJS) -l$(LIB) -L/usr/local/lib
-
-$(OBJS): fed.h
-
-clean:
- rm -f *.o fed *core* trace*
-
-install:
- ${INSTALL} -c -s -o bin -g bin fed $(DEST)
-
-.endif
diff --git a/usr.sbin/pcvt/fed/edit.c b/usr.sbin/pcvt/fed/edit.c
deleted file mode 100644
index 67d616b..0000000
--- a/usr.sbin/pcvt/fed/edit.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright (c) 1992, 1993, 1994 by Hellmuth Michaelis
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Hellmuth Michaelis.
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * edit.c, 3.00, last edit-date: [Sun Jan 2 20:08:27 1994]
- */
-
-/*---------------------------------------------------------------------------
- *
- * edit.c font editor edit character
- * ------------------------------------------
- *
- * written by Hellmuth Michaelis, hm@hcshh.hcs.de
- *
- * -hm first public release
- * -hm some debugging & cleanup
- *
- *---------------------------------------------------------------------------*/
-
-#include "fed.h"
-
-#define UP 0
-#define DOWN 1
-
-static int pen;
-
-/*---------------------------------------------------------------------------*
- * fill edit mode command window
- *---------------------------------------------------------------------------*/
-void edit_mode(void)
-{
- mvwprintw(cmd_win,1,1,"(W)hite ");
- mvwprintw(cmd_win,2,1,"(Black ");
- mvwprintw(cmd_win,3,1,"(I)nvert ");
- mvwprintw(cmd_win,4,1,"(R)ow BLACK ");
- mvwprintw(cmd_win,5,1,"(r)ow WHITE ");
- mvwprintw(cmd_win,6,1,"(C)ol BLACK ");
- mvwprintw(cmd_win,7,1,"(c)ol WHITE ");
- mvwprintw(cmd_win,8,1,"(Q)uit/Save ");
-
- mvwprintw(cmd_win,9 ,1,"e(X)it/undo ");
- mvwprintw(cmd_win,10,1,"Pen (U)p ");
- mvwprintw(cmd_win,11,1,"Pen (D)own ");
- mvwprintw(cmd_win,12,1," ");
- mvwprintw(cmd_win,13,1,"(^P)rev Line");
- mvwprintw(cmd_win,14,1,"(^N)ext Line");
- mvwprintw(cmd_win,15,1,"(^F)orwd Col");
- mvwprintw(cmd_win,16,1,"(^B)ack Col");
- wrefresh(cmd_win);
-}
-
-/*---------------------------------------------------------------------------*
- * edit mode command loop
- *---------------------------------------------------------------------------*/
-int edit(void)
-{
- int c, r;
- char l;
- unsigned int k_ch;
-
- c = r = 0;
-
- pen = UP;
-
- for(;;)
- {
- if(pen == DOWN)
- dis_cmd(" Edit Mode, the Pen is DOWN");
- else
- dis_cmd(" Edit Mode, the Pen is UP");
-
- l = ((mvwinch(ch_win,(r+1),(c+1))) & A_CHARTEXT);
- wattron(ch_win,A_REVERSE);
- mvwprintw(ch_win,(r+1),(c+1),"%c",l);
- wattroff(ch_win,A_REVERSE);
- wmove(ch_win,(r+1),(c+1));
- wrefresh(ch_win);
-
- k_ch = wgetch(ch_win);
-
- switch(k_ch)
- {
- case K_LEFT:
- case KEY_LEFT:
- if(c > 0)
- {
- normal_ch(r,c);
- c--;
- }
- break;
-
- case K_DOWN:
- case KEY_DOWN:
- if(r < (ch_height-1))
- {
- normal_ch(r,c);
- r++;
- }
- break;
-
- case K_UP:
- case KEY_UP:
- if(r > 0)
- {
- normal_ch(r,c);
- r--;
- }
- break;
-
- case K_RIGHT:
- case KEY_RIGHT:
- if(c < (ch_width-1))
- {
- normal_ch(r,c);
- c++;
- }
- break;
-
- case KEY_HOME:
- normal_ch(r,c);
- c = r = 0;
- break;
-
- case KEY_LL:
- normal_ch(r,c);
- c = ch_width-1;
- r = ch_height-1;
- break;
-
- case 0x0c:
- wrefresh(curscr);
- break;
-
- case '\n':
- case '\r':
- case ' ' :
- chg_pt(r,c);
- break;
-
- case 'q':
- pen = UP;
- normal_ch(r,c);
- wrefresh(ch_win);
- return(1);
- break;
-
- case 'x':
- pen = UP;
- normal_ch(r,c);
- wrefresh(ch_win);
- return(0);
- break;
-
- case 'w':
- case 'W':
- setchr(WHITE);
- break;
-
- case 'b':
- case 'B':
- setchr(BLACK);
- break;
-
- case 'i':
- case 'I':
- invert();
- break;
-
- case 'r':
- setrow(WHITE);
- break;
-
- case 'R':
- setrow(BLACK);
- break;
-
- case 'c':
- setcol(WHITE);
- break;
-
- case 'C':
- setcol(BLACK);
- break;
-
- case 'u':
- case 'U':
- pen = UP;
- break;
-
- case 'd':
- case 'D':
- pen = DOWN;
- break;
-
- default:
- beep();
- break;
-
- }
- }
-}
-
-/*---------------------------------------------------------------------------*
- *
- *---------------------------------------------------------------------------*/
-void normal_ch(int r, int c)
-{
- char l = ((mvwinch(ch_win,(r+1),(c+1))) & A_CHARTEXT);
- wattroff(ch_win,A_REVERSE);
- if(pen == DOWN)
- mvwprintw(ch_win,(r+1),(c+1),"*");
- else
- mvwprintw(ch_win,(r+1),(c+1),"%c",l);
- wmove(ch_win,(r+1),(c+1));
-}
-
-/*---------------------------------------------------------------------------*
- *
- *---------------------------------------------------------------------------*/
-void chg_pt(int r, int c)
-{
- char l;
- l = ((mvwinch(ch_win,(r+1),(c+1))) & A_CHARTEXT);
- if(l == WHITE)
- l = BLACK;
- else
- l = WHITE;
- mvwprintw(ch_win,(r+1),(c+1),"%c",l);
- wmove(ch_win,(r+1),(c+1));
-}
-
-/*---------------------------------------------------------------------------*
- * invert current character
- *---------------------------------------------------------------------------*/
-void invert(void)
-{
- int r,c;
-
- r = 1;
-
- while(r <= ch_height)
- {
- c = 1;
- while(c <= ch_width)
- {
- if(WHITE == mvwinch(ch_win, r, c))
- mvwaddch(ch_win, r, c, BLACK);
- else
- mvwaddch(ch_win, r, c, WHITE);
- c++;
- }
- r++;
- }
-}
-
-/*---------------------------------------------------------------------------*
- * fill current character black/white
- *---------------------------------------------------------------------------*/
-void setchr(char type)
-{
- int r,c;
-
- r = 1;
-
- while(r <= ch_height)
- {
- c = 1;
- while(c <= ch_width)
- {
- mvwaddch(ch_win, r, c, type);
- c++;
- }
- r++;
- }
-}
-
-/*---------------------------------------------------------------------------*
- * set current row to black/white
- *---------------------------------------------------------------------------*/
-void setrow(char type)
-{
- int r,c;
-
- getyx(ch_win,r,c);
-
- c = 1;
-
- while(c <= ch_width)
- {
- mvwaddch(ch_win, r, c, type);
- c++;
- }
-}
-
-/*---------------------------------------------------------------------------*
- * set current column to black/white
- *---------------------------------------------------------------------------*/
-void setcol(char type)
-{
- int r,c;
-
- getyx(ch_win,r,c);
-
- r = 1;
-
- while(r <= ch_height)
- {
- mvwaddch(ch_win, r, c, type);
- r++;
- }
-}
-
-/*---------------------------------- E O F ----------------------------------*/
diff --git a/usr.sbin/pcvt/fed/fed.c b/usr.sbin/pcvt/fed/fed.c
deleted file mode 100644
index d2fa4f3..0000000
--- a/usr.sbin/pcvt/fed/fed.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 1992, 1993, 1994 by Hellmuth Michaelis
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Hellmuth Michaelis.
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * fed.c, 3.00, last edit-date: [Sun Jan 2 20:08:45 1994]
- */
-
-/*---------------------------------------------------------------------------
- *
- * fed.c font editor main file
- * -------------------------------------
- *
- * written by Hellmuth Michaelis, hm@hcshh.hcs.de
- *
- * -hm first public release
- * -hm activating font save
- *
- *---------------------------------------------------------------------------*/
-
-#define FED
-
-#include "fed.h"
-
-void main(int argc, char *argv[])
-{
- int i;
- int row, col;
- int ret;
-
- if(argc != 2)
- {
- fprintf(stderr,"EGA/VGA Fonteditor, Rel 1.00\n");
- fprintf(stderr,"usage: %s <fontfilename>\n",argv[0]);
- exit(1);
- }
-
- readfont(argv[1]); /* read fontfile into memory */
-
- initscr();
- cbreak();
- noecho();
- nonl();
- keypad(stdscr,TRUE);
- idlok(stdscr, TRUE);
-
- move(0,0);
- standout();
- addstr(" Interactive EGA/VGA Fonteditor - (c) 1993, 1994 Hellmuth Michaelis ");
- standend();
-
-/* character horizontal ruler */
-
- move(WINROW-1, CHCOL + ((WIDTH16 - ch_width)/2) + 1);
- if(ch_width == WIDTH16)
- addstr("1234567890123456");
- else
- addstr("12345678");
-
-/* charcater vertical ruler */
-
- for(i=1; i < ch_height+1; i++)
- mvprintw((WINROW+i), (CHCOL + ((WIDTH16 - ch_width)/2) - 2), "%2d", i);
-
-
-/* select horizontal ruler */
-
- move(WINROW-1,SETCOL+2);
- addstr("0 1 2 3 4 5 6 7 8 9 A B C D E F ");
-
-/* select vertical ruler */
-
- for(i=0; i<10; i++)
- mvaddch((WINROW+i+1),(SETCOL-1),(i+'0'));
- for(i=0; i<6; i++)
- mvaddch((WINROW+10+i+1),(SETCOL-1),(i+'A'));
-
-/* label available commands window */
-
- move(WINROW-1,CMDCOL+1);
- addstr("Commands");
-
- refresh();
-
-/* command window */
-
- cmd_win = newwin(((WSIZE)+(2*WBORDER)),(CMDSIZE+(2*WBORDER)),
- WINROW,CMDCOL);
- keypad(cmd_win,TRUE);
- idlok(cmd_win, TRUE);
- box(cmd_win,'|','-');
-
- sel_mode();
-
-/* character font window */
-
- ch_win = newwin((ch_height+(2*WBORDER)),(ch_width+(2*WBORDER)),
- WINROW, CHCOL+((WIDTH16 - ch_width)/2));
- keypad(ch_win,TRUE);
- idlok(ch_win, TRUE);
-
- box(ch_win,'|','-');
- wrefresh(ch_win);
-
-/* character select window */
-
- set_win = newwin((WSIZE+(2*WBORDER)),((WSIZE*2)+(2*WBORDER)),
- WINROW,SETCOL); /* whole character set */
- keypad(set_win,TRUE);
- idlok(set_win, TRUE);
-
- box(set_win,'|','-');
-
- row = 0;
- col = 0;
-
- for(i=0; i<256; i++)
- {
- mvwprintw(set_win,row+1,col+1,"%02.2X",i);
- if(++row > 15)
- {
- row = 0;
- col += 2;
- }
- }
- wmove(set_win,1,1);
- wrefresh(set_win);
-
-/* start */
-
- clr_cmd();
-
- curchar = 0;
-
- if((ret = selectc()) == 1)
- {
- writefont();
- }
- endwin();
-}
-
-/*---------------------------------- E O F ----------------------------------*/
diff --git a/usr.sbin/pcvt/fed/fed.h b/usr.sbin/pcvt/fed/fed.h
deleted file mode 100644
index 0911d37..0000000
--- a/usr.sbin/pcvt/fed/fed.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1992, 1993, 1994 by Hellmuth Michaelis
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Hellmuth Michaelis.
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * fed.h, 3.00, last edit-date: [Sun Jan 2 20:10:31 1994]
- */
-
-#include <ncurses.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#ifdef FED
-
-int ch_height;
-int ch_width;
-
-int curchar;
-
-WINDOW *ch_win;
-WINDOW *set_win;
-WINDOW *cmd_win;
-
-#else
-
-extern int ch_height; /* current fontfile character dimensions */
-extern int ch_width;
-
-extern int curchar; /* character being edited */
-
-extern WINDOW *ch_win; /* windows */
-extern WINDOW *set_win;
-extern WINDOW *cmd_win;
-
-#endif
-
-#define FONTCHARS 256 /* no of chars in a fontfile */
-
-#define WHITE ('.')
-#define BLACK ('*')
-
-#define K_UP 0x10 /* ^P */
-#define K_DOWN 0x0e /* ^N */
-#define K_RIGHT 0x06 /* ^F */
-#define K_LEFT 0x02 /* ^B */
-
-#define WINROW 3
-#define CMDCOL 3
-#define CHCOL 20
-#define SETCOL 41
-#define WSIZE 16
-#define CMDSIZE 12
-#define WBORDER 1
-
-/* fonts */
-
-#define WIDTH8 8 /* 8 bits wide font */
-#define WIDTH16 16 /* 16 bits wide font */
-
-#define FONT8X8 2048 /* filesize for 8x8 font */
-#define HEIGHT8X8 8 /* 8 scan lines char cell height */
-
-#define FONT8X10 2560 /* filesize for 8x10 font */
-#define HEIGHT8X10 10 /* 10 scan lines char cell height */
-
-#define FONT8X14 3584 /* filesize for 8x14 font */
-#define HEIGHT8X14 14 /* 14 scan lines char cell height */
-#define WIDTH8X14 8 /* 8 bits wide font */
-
-#define FONT8X16 4096 /* filesize for 8x16 font */
-#define HEIGHT8X16 16 /* 16 scan lines char cell height */
-
-#define FONT16X16 8192 /* filesize for 16x16 font */
-#define HEIGHT16X16 16 /* 16 scan lines char cell height */
-
-
-void edit_mode ( void );
-int edit ( void );
-void normal_ch ( int r, int c );
-void chg_pt ( int r, int c );
-void invert ( void );
-void setchr ( char type );
-void setrow ( char type );
-void setcol ( char type );
-void main ( int argc, char *argv[] );
-void readfont ( char *filename );
-void dis_cmd ( char *strg );
-void clr_cmd ( void );
-void save_ch ( void );
-void move_ch ( int src, int dest );
-void xchg_ch ( int src, int dest );
-void display ( int no );
-void sel_mode ( void );
-int selectc ( void );
-void normal_set ( int r, int c );
-int sel_dest ( void );
-void normal_uset ( int r, int c );
-void writefont( void );
-
-/* ------------------------------ EOF ----------------------------------- */
diff --git a/usr.sbin/pcvt/fed/misc.c b/usr.sbin/pcvt/fed/misc.c
deleted file mode 100644
index c6707ba..0000000
--- a/usr.sbin/pcvt/fed/misc.c
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * Copyright (c) 1992, 1993, 1994 by Hellmuth Michaelis
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Hellmuth Michaelis.
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * misc.c, 3.00, last edit-date: [Sun Jan 2 20:09:21 1994]
- */
-
-/*---------------------------------------------------------------------------
- *
- * misc.c font editor misc routines
- * -----------------------------------------
- *
- * written by Hellmuth Michaelis, hm@hcshh.hcs.de
- *
- * -hm first public release
- * -hm writefont routine
- *
- *---------------------------------------------------------------------------*/
-
-#include "fed.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-static unsigned char *fonttab; /* ptr to font in core memory */
-
-static char *bitmask[] = {
- "....", /* 0 */
- "...*", /* 1 */
- "..*.", /* 2 */
- "..**", /* 3 */
- ".*..", /* 4 */
- ".*.*", /* 5 */
- ".**.", /* 6 */
- ".***", /* 7 */
- "*...", /* 8 */
- "*..*", /* 9 */
- "*.*.", /* A */
- "*.**", /* B */
- "**..", /* C */
- "**.*", /* D */
- "***.", /* E */
- "****", /* F */
- NULL };
-
-static char lfilename[1024]; /* current filename */
-static unsigned int lfilesize; /* current filename's size */
-
-/*---------------------------------------------------------------------------*
- * read fontfile into memory
- *---------------------------------------------------------------------------*/
-void readfont(char *filename)
-{
- FILE *in;
- struct stat sbuf, *sbp;
- int ret;
- char buffer[1024];
-
- sbp = &sbuf;
-
- if((in = fopen(filename, "r")) == NULL)
- {
- sprintf(buffer, "cannot open file %s for reading", filename);
- perror(buffer);
- exit(1);
- }
-
- if((fstat(fileno(in), sbp)) != 0)
- {
- sprintf(buffer, "cannot fstat file %s", filename);
- perror(buffer);
- exit(1);
- }
-
- switch(sbp->st_size)
- {
- case FONT8X8:
- ch_height = HEIGHT8X8;
- ch_width = WIDTH8;
- break;
-
- case FONT8X10:
- ch_height = HEIGHT8X10;
- ch_width = WIDTH8;
- break;
-
- case FONT8X14:
- ch_height = HEIGHT8X14;
- ch_width = WIDTH8;
- break;
-
- case FONT8X16:
- ch_height = HEIGHT8X16;
- ch_width = WIDTH8;
- break;
-
- case FONT16X16:
- ch_height = HEIGHT16X16;
- ch_width = WIDTH16;
- break;
-
- default:
- fprintf(stderr,"error, file %s is no valid font file, size=%d\n",filename,sbp->st_size);
- exit(1);
- }
-
- if((fonttab = (unsigned char *)malloc((size_t)sbp->st_size)) == NULL)
- {
- fprintf(stderr,"error, malloc failed\n");
- exit(1);
- }
-
- strcpy(lfilename, filename); /* save for write */
- lfilesize = sbp->st_size; /* save for write */
-
- if((ret = fread(fonttab, sizeof(*fonttab), sbp->st_size, in)) != sbp->st_size)
- {
- sprintf(buffer,"error reading file %s, size = %d, ret = %d\n",filename,sbp->st_size, ret);
- perror(buffer);
- exit(1);
- }
-}
-
-/*---------------------------------------------------------------------------*
- * write fontfile to disk
- *---------------------------------------------------------------------------*/
-void writefont()
-{
- FILE *in, *out;
- int ret;
- char buffer[1024];
-
- if((in = fopen(lfilename, "r")) != NULL)
- {
- int c;
- char wfn[1024];
-
- strcpy(wfn, lfilename);
- strcat(wfn, ".BAK");
- if((out = fopen(wfn, "w")) == NULL)
- {
- sprintf(buffer, "cannot open file %s for writing", wfn);
- perror(buffer);
- exit(1);
- }
-
- while(( c = fgetc(in) ) != EOF )
- fputc(c, out);
-
- fclose(out);
- fclose(in);
- }
-
- if((out = fopen(lfilename, "w")) == NULL)
- {
- sprintf(buffer, "cannot open file %s for writing", lfilename);
- perror(buffer);
- exit(1);
- }
-
- if((ret = fwrite(fonttab, sizeof(*fonttab), lfilesize, out)) != lfilesize)
- {
- sprintf(buffer,"error writing file %s, size=%d, ret=%d\n",lfilename,lfilesize, ret);
- perror(buffer);
- exit(1);
- }
-}
-
-/*---------------------------------------------------------------------------*
- * display a string
- *---------------------------------------------------------------------------*/
-void dis_cmd(char *strg)
-{
- move(22,0);
- clrtoeol();
- mvaddstr(22,0,strg);
- refresh();
-}
-
-/*---------------------------------------------------------------------------*
- * clear a command string
- *---------------------------------------------------------------------------*/
-void clr_cmd(void)
-{
- move(22,0);
- clrtoeol();
- refresh();
-}
-
-/*---------------------------------------------------------------------------*
- * move char from src to dest
- *---------------------------------------------------------------------------*/
-void move_ch(int src, int dst)
-{
- unsigned char *s, *d;
- int offset = 0;
-
- if(ch_width == WIDTH16)
- offset = 2;
- else
- offset = 1;
-
- s = &(fonttab[ch_height * offset * src]);
- d = &(fonttab[ch_height * offset * dst]);
-
- bcopy(s, d, (ch_height*offset)); /* src -> dst */
-}
-
-/*---------------------------------------------------------------------------*
- * exchange char's src and dest
- *---------------------------------------------------------------------------*/
-void xchg_ch(int src, int dst)
-{
- unsigned char *s, *d;
- unsigned char buf[32];
- int offset = 0;
-
- if(ch_width == WIDTH16)
- offset = 2;
- else
- offset = 1;
-
- s = &(fonttab[ch_height * offset * src]);
- d = &(fonttab[ch_height * offset * dst]);
-
- bcopy(s, buf, (ch_height*offset)); /* src -> tmp */
- bcopy(d, s, (ch_height*offset)); /* dst -> src */
- bcopy(buf, d, (ch_height*offset)); /* tmp -> dst */
-}
-
-/*---------------------------------------------------------------------------*
- * display the current selected character
- *---------------------------------------------------------------------------*/
-void display(int no)
-{
- unsigned char *fontchar;
- char line[32];
- int ln_no;
- unsigned char hibyte;
- unsigned char lobyte;
- int offset;
- int r;
-
- offset = 0;
- r = 1;
- lobyte = 0;
-
- if(ch_width == WIDTH16)
- fontchar = &(fonttab[ch_height * 2 * no]);
- else
- fontchar = &(fonttab[ch_height * no]);
-
- for (ln_no = 0; ln_no < ch_height; ln_no++)
- {
- hibyte = *(fontchar + (offset++));
-
- if(ch_width == WIDTH16)
- {
- lobyte = *(fontchar + offset++);
- }
-
- strcpy(line,bitmask[(int)((hibyte >> 4) & 0x0f)]);
- strcat(line,bitmask[(int)(hibyte & 0x0f)]);
-
- if(ch_width == WIDTH16)
- {
- strcat(line,bitmask[(int)((lobyte >> 4) & 0x0f)]);
- strcat(line,bitmask[(int)(lobyte & 0x0f)]);
- mvwprintw(ch_win, r, 1, "%16.16s", line);
- }
- else
- {
- mvwprintw(ch_win, r, 1, "%8.8s", line);
- }
- r++;
- }
- wmove(ch_win, 1, 1);
- wrefresh(ch_win);
-}
-
-/*---------------------------------------------------------------------------*
- * save character
- *---------------------------------------------------------------------------*/
-void save_ch(void)
-{
- unsigned char *s;
- int offset = 0;
- int r, c;
- unsigned short byte;
- unsigned short shift;
-
- if(ch_width == WIDTH16)
- offset = 2;
- else
- offset = 1;
-
- s = &(fonttab[ch_height * offset * curchar]);
-
- r = 1;
-
- while(r <= ch_height)
- {
- c = 1;
- byte = 0;
- if(offset == 2)
- shift = 0x8000;
- else
- shift = 0x80;
-
- while(c <= ch_width)
- {
- if(mvwinch(ch_win, r, c) == BLACK)
- byte |= shift;
- shift = (shift >> 1);
- c++;
- }
- *s++ = byte;
- r++;
- }
-}
-
-/*---------------------------------- E O F ----------------------------------*/
-
-
diff --git a/usr.sbin/pcvt/fed/select.c b/usr.sbin/pcvt/fed/select.c
deleted file mode 100644
index b6993bb..0000000
--- a/usr.sbin/pcvt/fed/select.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * Copyright (c) 1992, 1993, 1994 by Hellmuth Michaelis
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Hellmuth Michaelis.
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * select.c, 3.00, last edit-date: [Sun Jan 2 20:09:36 1994]
- */
-
-/*---------------------------------------------------------------------------
- *
- * select.c font editor select character
- * ----------------------------------------------------
- *
- * written by Hellmuth Michaelis, hm@hcshh.hcs.de
- *
- * -hm first public release
- * -hm debugging
- *
- *---------------------------------------------------------------------------*/
-
-#include "fed.h"
-
-int sc, sr, scurchar;
-
-int edit();
-
-void sel_mode(void)
-{
- mvwprintw(cmd_win,1,1,"(E)dit ");
- mvwprintw(cmd_win,2,1,"(M)ove ");
- mvwprintw(cmd_win,3,1,"exchan(G)e ");
- mvwprintw(cmd_win,4,1,"(Q)uit/Save ");
- mvwprintw(cmd_win,5,1,"e(X)it/Undo ");
- mvwprintw(cmd_win,6,1," ");
- mvwprintw(cmd_win,7,1," ");
- mvwprintw(cmd_win,8,1," ");
-
- mvwprintw(cmd_win,9 ,1," ");
- mvwprintw(cmd_win,10,1," ");
- mvwprintw(cmd_win,11,1," ");
- mvwprintw(cmd_win,12,1," ");
- mvwprintw(cmd_win,13,1,"(^P)rev Line");
- mvwprintw(cmd_win,14,1,"(^N)ext Line");
- mvwprintw(cmd_win,15,1,"(^F)orwd Col");
- mvwprintw(cmd_win,16,1,"(^B)ack Col");
- wrefresh(cmd_win);
-}
-
-int selectc()
-{
- int c, r;
- int ret;
- char h, l;
- unsigned int k_ch;
-
- c = (curchar / 16);
- r = (curchar % 16);
-
- for(;;)
- {
- dis_cmd(" Select Character");
-
- sel_mode();
-
- curchar = r + (c*16);
-
- display(curchar);
-
- h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
- l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
- wattron(set_win,A_REVERSE);
- mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
- wattroff(set_win,A_REVERSE);
- wmove(set_win,(r+1),((c*2)+1));
- wrefresh(set_win);
-
- k_ch = wgetch(set_win);
-
- switch(k_ch)
- {
- case K_LEFT:
- case KEY_LEFT:
- if(c > 0)
- {
- normal_set(r,c);
- c--;
- }
- break;
-
- case K_DOWN:
- case KEY_DOWN:
- if(r < 15)
- {
- normal_set(r,c);
- r++;
- }
- break;
-
- case K_UP:
- case KEY_UP:
- if(r > 0)
- {
- normal_set(r,c);
- r--;
- }
- break;
-
- case K_RIGHT:
- case KEY_RIGHT:
- if(c < 15)
- {
- normal_set(r,c);
- c++;
- }
- break;
-
- case 'e':
- case 'E':
- edit_mode();
- dis_cmd(" Edit Character");
- display(curchar);
- ret = edit();
- if(ret == 1)
- save_ch();
- break;
-
- case 'g':
- case 'G':
- dis_cmd(" Exchange: select Destination, then press RETURN or any other Key to ABORT");
- sr = r;
- sc = c;
- scurchar = curchar;
- if((curchar = sel_dest()) == -1)
- { /* failsafe */
- r = sr;
- c = sc;
- curchar = scurchar;
- }
- else
- { /* valid return */
- normal_set(r,c);
- c = (curchar / 16);
- r = (curchar % 16);
- xchg_ch(scurchar,curchar);
- }
- break;
-
- case 'm':
- case 'M':
- dis_cmd(" Move: select Destination, then press RETURN or any other Key to ABORT");
- sr = r;
- sc = c;
- scurchar = curchar;
- if((curchar = sel_dest()) == -1)
- { /* failsafe */
- r = sr;
- c = sc;
- curchar = scurchar;
- }
- else
- { /* valid return */
- normal_set(r,c);
- c = (curchar / 16);
- r = (curchar % 16);
- move_ch(scurchar,curchar);
- }
- break;
-
- case 'q':
- case 'Q':
- normal_set(r,c);
- wrefresh(set_win);
- return(1);
- break;
-
- case 'x':
- case 'X':
- normal_set(r,c);
- wrefresh(set_win);
- return(0);
- break;
-
- case 0x0c:
- wrefresh(curscr);
- break;
-
- default:
- beep();
- break;
-
- }
- }
-}
-
-void normal_set(int r, int c)
-{
- char h, l;
-
- h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
- l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
- wattroff(set_win,A_REVERSE);
- mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
- wmove(set_win,(r+1),((c*2)+1));
-}
-
-int sel_dest(void)
-{
- int c, r;
- char h, l;
- unsigned int k_ch;
-
- c = (curchar / 16);
- r = (curchar % 16);
-
- for(;;)
- {
-
- curchar = r + (c*16);
-
- display(curchar);
-
- h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
- l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
- wattron(set_win,A_UNDERLINE);
- mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
- wattroff(set_win,A_UNDERLINE);
- wmove(set_win,(r+1),((c*2)+1));
- wrefresh(set_win);
-
- k_ch = wgetch(set_win);
-
- switch(k_ch)
- {
- case K_LEFT:
- case KEY_LEFT:
- if(c > 0)
- {
- normal_uset(r,c);
- c--;
- }
- break;
-
- case K_DOWN:
- case KEY_DOWN:
- if(r < 15)
- {
- normal_uset(r,c);
- r++;
- }
- break;
-
- case K_UP:
- case KEY_UP:
- if(r > 0)
- {
- normal_uset(r,c);
- r--;
- }
- break;
-
- case K_RIGHT:
- case KEY_RIGHT:
- if(c < 15)
- {
- normal_uset(r,c);
- c++;
- }
- break;
-
- case '\r':
- case '\n':
- normal_uset(r,c);
- return(r + (c*16));
-
- case 0x0c:
- wrefresh(curscr);
- break;
-
- default:
- normal_uset(r,c);
- return(-1);
- }
- }
-}
-
-void normal_uset(int r, int c)
-{
- char h, l;
-
- h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
- l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
-
- wattroff(set_win,A_UNDERLINE);
- mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
- wmove(set_win,(r+1),((c*2)+1));
-
- if((r==sr) && (c==sc))
- {
- wattron(set_win,A_REVERSE);
- mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
- wattroff(set_win,A_REVERSE);
- wmove(set_win,(r+1),((c*2)+1));
- }
-}
-
-
-
-/*---------------------------------- E O F ----------------------------------*/
OpenPOWER on IntegriCloud