2 * Copyright (c) 1992, 1993, 1994 by Hellmuth Michaelis
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. All advertising materials mentioning features or use of this software
15 * must display the following acknowledgement:
16 * This product includes software developed by Hellmuth Michaelis.
17 * 4. The name of the developer may not be used to endorse or promote
18 * products derived from this software without specific prior written
21 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 * select.c, 3.00, last edit-date: [Sun Jan 2 20:09:36 1994]
35 /*---------------------------------------------------------------------------
37 * select.c font editor select character
38 * ----------------------------------------------------
40 * written by Hellmuth Michaelis, hm@hcshh.hcs.de
42 * -hm first public release
45 *---------------------------------------------------------------------------*/
55 mvwprintw(cmd_win,1,1,"(E)dit ");
56 mvwprintw(cmd_win,2,1,"(M)ove ");
57 mvwprintw(cmd_win,3,1,"exchan(G)e ");
58 mvwprintw(cmd_win,4,1,"(Q)uit/Save ");
59 mvwprintw(cmd_win,5,1,"e(X)it/Undo ");
60 mvwprintw(cmd_win,6,1," ");
61 mvwprintw(cmd_win,7,1," ");
62 mvwprintw(cmd_win,8,1," ");
64 mvwprintw(cmd_win,9 ,1," ");
65 mvwprintw(cmd_win,10,1," ");
66 mvwprintw(cmd_win,11,1," ");
67 mvwprintw(cmd_win,12,1," ");
68 mvwprintw(cmd_win,13,1,"(^P)rev Line");
69 mvwprintw(cmd_win,14,1,"(^N)ext Line");
70 mvwprintw(cmd_win,15,1,"(^F)orwd Col");
71 mvwprintw(cmd_win,16,1,"(^B)ack Col");
87 dis_cmd(" Select Character");
95 h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
96 l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
97 wattron(set_win,A_REVERSE);
98 mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
99 wattroff(set_win,A_REVERSE);
100 wmove(set_win,(r+1),((c*2)+1));
103 k_ch = wgetch(set_win);
146 dis_cmd(" Edit Character");
155 dis_cmd(" Exchange: select Destination, then press RETURN or any other Key to ABORT");
159 if((curchar = sel_dest()) == -1)
170 xchg_ch(scurchar,curchar);
176 dis_cmd(" Move: select Destination, then press RETURN or any other Key to ABORT");
180 if((curchar = sel_dest()) == -1)
191 move_ch(scurchar,curchar);
221 void normal_set(int r, int c)
225 h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
226 l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
227 wattroff(set_win,A_REVERSE);
228 mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
229 wmove(set_win,(r+1),((c*2)+1));
244 curchar = r + (c*16);
248 h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
249 l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
250 wattron(set_win,A_UNDERLINE);
251 mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
252 wattroff(set_win,A_UNDERLINE);
253 wmove(set_win,(r+1),((c*2)+1));
256 k_ch = wgetch(set_win);
312 void normal_uset(int r, int c)
316 h = ((mvwinch(set_win,(r+1),((c*2)+1))) & A_CHARTEXT);
317 l = ((mvwinch(set_win,(r+1),((c*2)+2))) & A_CHARTEXT);
319 wattroff(set_win,A_UNDERLINE);
320 mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
321 wmove(set_win,(r+1),((c*2)+1));
323 if((r==sr) && (c==sc))
325 wattron(set_win,A_REVERSE);
326 mvwprintw(set_win,(r+1),((c*2)+1),"%c%c",h,l);
327 wattroff(set_win,A_REVERSE);
328 wmove(set_win,(r+1),((c*2)+1));
334 /*---------------------------------- E O F ----------------------------------*/