Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/curses-v3]: src/lib/libcurses Alternate character set initialisation rou...
details: https://anonhg.NetBSD.org/src/rev/21ab44775479
branches: curses-v3
changeset: 479966:21ab44775479
user: jdc <jdc%NetBSD.org@localhost>
date: Sun Mar 05 23:25:56 2000 +0000
description:
Alternate character set initialisation routine.
diffstat:
lib/libcurses/acs.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 108 insertions(+), 0 deletions(-)
diffs (112 lines):
diff -r 976d20237320 -r 21ab44775479 lib/libcurses/acs.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/libcurses/acs.c Sun Mar 05 23:25:56 2000 +0000
@@ -0,0 +1,108 @@
+/* $NetBSD: acs.c,v 1.1.2.1 2000/03/05 23:25:56 jdc Exp $ */
+
+/*
+ * Copyright (c) 2000 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Julian Coleman.
+ *
+ * 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 the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``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 FOUNDATION OR CONTRIBUTORS
+ * 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.
+ */
+
+#include "curses.h"
+
+chtype _acs_char[NUM_ACS];
+
+/*
+ * __init_acs --
+ * Fill in the ACS characters. The 'ac' termcap entry is a list of
+ * character pairs - ACS definition then terminal representation.
+ */
+void
+__init_acs()
+{
+ int count;
+ char *aofac; /* Address of 'ac' */
+ char acs, term;
+
+ /* Default value '+' for all ACS characters */
+ for (count=0; count < NUM_ACS; count++)
+ _acs_char[count]= '+';
+
+ /* Add the SUSv2 defaults (those that are not '+') */
+ ACS_RARROW = '>';
+ ACS_LARROW = '<';
+ ACS_UARROW = '^';
+ ACS_DARROW = 'v';
+ ACS_BLOCK = '#';
+/* ACS_DIAMOND = '+'; */
+ ACS_CKBOARD = ':';
+ ACS_DEGREE = 39; /* ' */
+ ACS_PLMINUS = '#';
+ ACS_BOARD = '#';
+ ACS_LANTERN = '#';
+/* ACS_LRCORNER = '+'; */
+/* ACS_URCORNER = '+'; */
+/* ACS_ULCORNER = '+'; */
+/* ACS_LLCORNER = '+'; */
+/* ACS_PLUS = '+'; */
+ ACS_HLINE = '-';
+ ACS_S1 = '-';
+ ACS_S9 = '_';
+/* ACS_LTEE = '+'; */
+/* ACS_RTEE = '+'; */
+/* ACS_BTEE = '+'; */
+/* ACS_TTEE = '+'; */
+ ACS_VLINE = '|';
+ ACS_BULLET = 'o';
+
+ if (AC == NULL)
+ return;
+
+ aofac = AC;
+
+ while (*aofac != '\0') {
+ if ((acs = *aofac) == '\0')
+ return;
+ if (++aofac == '\0')
+ return;
+ if ((term = *aofac) == '\0')
+ return;
+ if (acs > 0) /* Only add characters 1 to 127 */
+ _acs_char[acs] = term | __ALTCHARSET;
+ aofac++;
+#ifdef DEBUG
+ __CTRACE("__init_acs: %c = %c\n", acs, term);
+#endif
+ }
+
+ if (Ea != NULL)
+ tputs(Ea, 0, __cputchar);
+}
Home |
Main Index |
Thread Index |
Old Index