]> Zhao Yanbai Git Server - minix.git/commitdiff
Importing games/colorbars
authorThomas Cort <tcort@minix3.org>
Sun, 8 Jun 2014 11:07:55 +0000 (07:07 -0400)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:50 +0000 (17:05 +0200)
No Minix specific changes needed.

Change-Id: Id853551c7d19adc68cfc76ddc353bccf0510387a

distrib/sets/lists/minix/mi
games/Makefile
games/colorbars/Makefile [new file with mode: 0644]
games/colorbars/colorbars.6 [new file with mode: 0644]
games/colorbars/colorbars.c [new file with mode: 0644]
releasetools/nbsd_ports

index e3b257c6fb6b204a80d49b2993f8fbe9253201c0..fc077a94a225ed26b5944ba5f398de4afa3568e3 100644 (file)
 ./usr/games/adventure                  minix-sys
 ./usr/games/arithmetic                 minix-sys
 ./usr/games/bcd                                minix-sys
+./usr/games/colorbars                  minix-sys
 ./usr/games/factor                     minix-sys
 ./usr/games/fortune                    minix-sys
 ./usr/games/hide                       minix-sys
 ./usr/man/man6/adventure.6                     minix-sys
 ./usr/man/man6/arithmetic.6                    minix-sys
 ./usr/man/man6/bcd.6                           minix-sys
+./usr/man/man6/colorbars.6                     minix-sys
 ./usr/man/man6/factor.6                                minix-sys
 ./usr/man/man6/fortune.6                       minix-sys
 ./usr/man/man6/monop.6                         minix-sys
index 5694ec70f1efd7cf1f7cf748ef2691d98a07bb71..ca51c2915a2b7d35327718ee4f36365e83bb9659 100644 (file)
@@ -9,7 +9,7 @@
 
 SUBDIR=        adventure arithmetic \
        bcd \
-       \
+       colorbars \
        factor fortune \
        monop morse number \
        pig ppt primes \
diff --git a/games/colorbars/Makefile b/games/colorbars/Makefile
new file mode 100644 (file)
index 0000000..547e486
--- /dev/null
@@ -0,0 +1,9 @@
+# $NetBSD: Makefile,v 1.3 2012/06/09 09:22:21 martin Exp $
+
+WARNS?=        4
+PROG=  colorbars
+MAN=   colorbars.6
+DPADD= ${LIBCURSES} ${LIBTERMINFO}
+LDADD= -lcurses -lterminfo
+
+.include <bsd.prog.mk>
diff --git a/games/colorbars/colorbars.6 b/games/colorbars/colorbars.6
new file mode 100644 (file)
index 0000000..af1fa92
--- /dev/null
@@ -0,0 +1,47 @@
+.\"    $NetBSD: colorbars.6,v 1.3 2012/06/09 23:15:13 njoly Exp $
+.\"
+.\" Copyright (c) 2012 Nathanial Sloss <nathanialsloss@yahoo.com.au>
+.\" 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.
+.\"
+.\" 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.
+.\"
+.Dd June 5, 2012
+.Dt COLORBARS 6
+.Os
+.Sh NAME
+.Nm colorbars
+.Nd display ANSI color bars
+.Sh SYNOPSIS
+.Nm
+.Sh DESCRIPTION
+The
+.Nm
+command displays ANSI color bars on a color capable terminal using
+.Xr curses 3 .
+.Sh SEE ALSO
+.Xr curses 3
+.Sh HISTORY
+.Nm
+appeared in
+.Nx 7.0 .
+.Sh AUTHORS
+Nathanial Sloss
diff --git a/games/colorbars/colorbars.c b/games/colorbars/colorbars.c
new file mode 100644 (file)
index 0000000..d3de2a4
--- /dev/null
@@ -0,0 +1,124 @@
+/*     $NetBSD: colorbars.c,v 1.1 2012/06/06 00:13:36 christos Exp $   */
+
+/*-
+ * Copyright (c) 2012 Nathanial Sloss <nathanialsloss@yahoo.com.au>
+ * 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.
+ *
+ * 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 <sys/cdefs.h>
+__RCSID("$NetBSD: colorbars.c,v 1.1 2012/06/06 00:13:36 christos Exp $");
+
+#include <curses.h>
+#include <stdio.h>
+#include <string.h>
+#include <err.h>
+#include <stdlib.h>
+
+int
+main(void)
+{
+       static struct colorInfo {
+               const char *name;
+               int color;
+       } colorInfo[] = {
+               { "Black", COLOR_BLACK },
+               { "Red", COLOR_RED },
+               { "Green", COLOR_GREEN },
+               { "Yellow", COLOR_YELLOW },
+               { "Blue", COLOR_BLUE },
+               { "Magenta", COLOR_MAGENTA },
+               { "Cyan", COLOR_CYAN },
+               { "White", COLOR_WHITE },
+       };
+       size_t lengths[__arraycount(colorInfo)];
+
+       static const size_t numcolors = __arraycount(colorInfo);
+       size_t labelwidth;
+
+       int colorOK;
+       int spacing, offsetx, labeloffsety, labeloffsetx;
+
+       if (!initscr())
+               errx(EXIT_FAILURE, "Cannot initialize curses");
+
+       colorOK = has_colors();
+       if (!colorOK) {
+               endwin();
+               errx(EXIT_FAILURE, "Terminal cannot display color");
+       }
+
+       if (COLS < 45 || LINES < 10) {
+               endwin();
+               errx(EXIT_FAILURE, "Terminal size must be at least 45x10.");
+       }
+
+       spacing = COLS / numcolors;
+       offsetx = (COLS - (spacing * numcolors)) / 2;
+
+
+       start_color();
+
+       labelwidth = 0;
+       for (size_t i = 0; i < numcolors; i++) {
+               lengths[i] = strlen(colorInfo[i].name);
+               if (lengths[i] > labelwidth)
+                       labelwidth = lengths[i];
+               init_pair(i, COLOR_WHITE, colorInfo[i].color);
+       }
+
+       labeloffsetx = spacing / 2;
+       labeloffsety = (LINES - 1 - labelwidth) / 2;
+       clear();
+
+       move(0, 0);
+
+       for (size_t i = 0; i < numcolors; i++) {
+               int xoffs = offsetx + spacing * i;
+
+               attrset(COLOR_PAIR(i));
+
+               for (int line = 0; line < LINES - 1; line++)
+                       for (int xpos = 0; xpos < spacing; xpos++)
+                              mvprintw(line, xoffs + xpos, " ");
+
+               attrset(COLOR_PAIR(0));
+
+               xoffs += labeloffsetx;
+               for (size_t line = 0; line < lengths[i]; line++)
+                       mvprintw(line + labeloffsety, xoffs, "%c",
+                           colorInfo[i].name[line]);
+       }
+
+       attrset(COLOR_PAIR(0));
+
+       mvprintw(LINES - 1, 0, "ANSI Color chart - Press any key to exit: ");
+
+       refresh();
+
+       getch();
+
+       endwin();
+
+       return EXIT_SUCCESS;
+}
+
index 2b0163fbc030443538399649f2aa8530dcd5c8b8..872158e0c3577af2669c433984b2528bfcc787ba 100644 (file)
@@ -71,6 +71,7 @@
 2013/12/1 12:00:00,games/adventure
 2013/12/1 12:00:00,games/arithmetic
 2013/12/1 12:00:00,games/bcd
+2013/12/1 12:00:00,games/colorbars
 2013/12/1 12:00:00,games/factor
 2013/12/1 12:00:00,games/fortune
 2013/12/1 12:00:00,games/Makefile