From 4f444f02fce7e747c016158000f01f63c1c39039 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Sun, 1 Nov 2015 16:42:10 +0100 Subject: [PATCH] termcol: declare rgb maps in include data --- termcol.inc.pl | 30 +++++++++++++++++++++++++++++ termcol.plp | 52 +++++++++++--------------------------------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/termcol.inc.pl b/termcol.inc.pl index 6c6f68c..715c174 100644 --- a/termcol.inc.pl +++ b/termcol.inc.pl @@ -158,4 +158,34 @@ use Shiar_Sheet::Colour '1.02'; 1B2632::night 005784::sea 31A2F2::sky B2DCEF::cloud )], }, + + cpc => { + name => 'Amstrad CPC', + rgbmap => [ + 3 => sub { + $_[2] + 3 * ($_[0] + 3 * $_[1]), + map { $_ && $_ * 127 + 1 } @_ + }, + ], + }, + ansi88 => { + name => '88-colour space', + rgbmap => [ + 4 => sub { + $_[2] + 4 * ($_[1] + 4 * $_[0]) + 16, + map { (0, 139, 205, 255)[$_] } @_ + }, + [ map { ($_ + 2 + ($_>0)) * 255/11 } 0 .. 7 ], + ], + }, + ansi256 => { + name => '256-colour space', + rgbmap => [ + 6 => sub { + $_[2] + 6 * ($_[1] + 6 * $_[0]) + 16, + map { $_ && $_*40 + 55 } @_ + }, + [ map { $_ * 10 + 8 } 0 .. 23 ], + ], + }, } diff --git a/termcol.plp b/termcol.plp index 44ee75b..a040eed 100644 --- a/termcol.plp +++ b/termcol.plp @@ -73,7 +73,10 @@ if ($get{v}) { } my @termlist = qw( cga xterm tango app html xkcd ); -push @termlist, qw( c64 msx2 mac2 risc arnegame ) if exists $get{v}; +push @termlist, qw( c64 msx2 mac2 risc arnegame cpc ) if exists $get{v}; +push @termlist, qw( ansi88 ); +push @termlist, qw( ansi256 ) if $ENV{PATH_INFO} =~ /256/; + for my $term (@termlist) { my $info = $palettes->{$term}; ref $info eq 'HASH' or next; @@ -88,6 +91,13 @@ for my $term (@termlist) { $caption, ) if $info->{href} or $info->{title}; + if (my $mapinfo = $info->{rgbmap}) { + print ''."\n"; + printf "\n", $caption; + print coltable_hsv(@{$mapinfo}); + print "
%s
\n\n"; + } + if (my $colours = $info->{list}) { print '', "\n"; printf "\n", $caption; @@ -101,21 +111,6 @@ for my $term (@termlist) { } } -if (exists $get{v}) { - print "
%s
\n"; - print "\n"; - print coltable_hsv(3, sub { - $_[2] + 3 * ($_[0] + 3 * $_[1]), - map { $_ && $_ * 127 + 1 } @_ - }); - print "
Amstrad CPC
\n\n"; -} -:> - -
- -
-<: sub coltable_hsv { my ($dim, $rgbval, $greyramp) = @_; @@ -174,31 +169,6 @@ sub coltable_hsv { return $out; } -{ - print "

88-colour space

\n"; - print "\n"; - print coltable_hsv(4, - sub { - $_[2] + 4 * ($_[1] + 4 * $_[0]) + 16, - map { (0, 139, 205, 255)[$_] } @_ - }, - [map { ($_ + 2 + ($_>0)) * 255/11 } 0 .. 7], - ); - print "
\n"; -} - -if ($ENV{PATH_INFO} =~ /256/) { - print "

256-colour space

\n"; - print "\n"; - print coltable_hsv(6, - sub { - $_[2] + 6 * ($_[1] + 6 * $_[0]) + 16, - map { $_ && $_*40 + 55 } @_ - }, - [ map { $_ * 10 + 8 } 0 .. 23 ], - ); - print "
\n"; -} :>

-- 2.30.0