[gimp-perl] Move canonicalize_colour, set_rgb_data and DATA. Bug 726843
- From: Kevin Cozens <kcozens src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-perl] Move canonicalize_colour, set_rgb_data and DATA. Bug 726843
- Date: Wed, 26 Mar 2014 19:50:02 +0000 (UTC)
commit df6133afa2d912f8a09523f6005860d1063a8200
Author: Ed J <m8r-35s8eo mailinator com>
Date: Fri Mar 21 19:22:16 2014 +0000
Move canonicalize_colour, set_rgb_data and DATA. Bug 726843
Gimp.pm | 851 +------------------------------------------------------
Gimp/ColorDB.pm | 860 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
t/gimpsetup.pl | 8 +-
t/load.t | 45 +++-
t/perlplugin.t | 18 +-
t/run.t | 4 +-
6 files changed, 928 insertions(+), 858 deletions(-)
---
diff --git a/Gimp.pm b/Gimp.pm
index 9af60bc..d44567a 100644
--- a/Gimp.pm
+++ b/Gimp.pm
@@ -185,15 +185,13 @@ sub _PS_FLAG_BATCH { 0000000002 }; # started via Gimp::Net, extra = filehandle
$_PROT_VERSION = "3"; # protocol version
-sub croak {
- require Carp;
- goto &Carp::croak;
-}
+use Gimp::ColorDB;
+use Carp qw(croak);
my @_procs = ('main', '__', 'N_');
#my @_default = (@_procs, ':consts' ,':_auto2');
my @_default = (@_procs, ':consts');
-
+
# we really abuse the import facility..
sub import($;@) {
my $pkg = shift;
@@ -276,51 +274,6 @@ sub wrap_text {
$x;
}
-my %rgb_db;
-my $rgb_db_path;
-
-sub set_rgb_db($) {
- $rgb_db_path=$_[0];
- undef %rgb_db;
-}
-
-sub canonicalize_colour {
- if ((scalar(@_) == 3) or (scalar(@_) == 4)) { # if 3 or 4 entries already
- if (($_[0] > 1.0) or ($_[1] > 1.0) or ($_[2] > 1.0)) {
- @_ = @_ / 255.0;
- }
- return [ _];
- } elsif (ref $_[0]) {
- my @loc_col = @{$_[0]};
- @loc_col = map {$_ = ($_>1) ? $_/255.0 : $_} @loc_col;
- return [ loc_col];
- } elsif
- ($_[0] =~ /^#([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})$/) {
- # convert hex specfier of #xxyyzz
- return [ map { eval "0x$_/255.0" } ($1, $2, $3) ];
- } else {
- unless (%rgb_db) {
- if ($rgb_db_path) {
- open RGB_TEXT, "<", $rgb_db_path or croak "$rgb_db_path: $!";
- } else {
- *RGB_TEXT = *DATA;
- }
- while(<RGB_TEXT>) {
- next unless /^\s*(\d+)\s+(\d+)\s+(\d+)\s+(.+?)\s*$/;
- $rgb_db{lc($4)} = [$1 / 255.0, $2 / 255.0, $3 / 255.0];
- }
- close RGB_TEXT;
- }
- if ($rgb_db{lc($_[0])}) {
- return $rgb_db{lc($_[0])};
- } else {
- croak sprintf __"Unable to grok '%s' as colour specifier", join (",", @_);
- }
- }
-}
-
-*canonicalize_color = \&canonicalize_colour;
-
($basename = $0) =~ s/^.*[\\\/]//;
$spawn_opts = "";
@@ -660,10 +613,6 @@ package Gimp::run_mode;
use overload fallback => 1,
'0+' => sub { ${$_[0]} };
-package Gimp; # for __DATA__
-
-1;
-
=head1 NAME
Gimp - a Perl extension for writing Gimp Extensions/Plug-ins/Load &
@@ -1198,796 +1147,4 @@ L<Gimp::Compat>, L<Gimp::Config>, L<Gimp::Lib>, and L<Gimp::Module> .
=cut
-__DATA__
-240 248 255 AliceBlue
-250 235 215 AntiqueWhite
-255 239 219 AntiqueWhite1
-238 223 204 AntiqueWhite2
-205 192 176 AntiqueWhite3
-139 131 120 AntiqueWhite4
-255 235 205 BlanchedAlmond
-138 43 226 BlueViolet
- 95 153 159 CadetBlue
-152 245 255 CadetBlue1
-142 229 238 CadetBlue2
-122 197 205 CadetBlue3
- 83 134 139 CadetBlue4
- 34 34 152 CornflowerBlue
-0 0 139 DarkBlue
-0 139 139 DarkCyan
-184 134 11 DarkGoldenrod
-255 185 15 DarkGoldenrod1
-238 173 14 DarkGoldenrod2
-205 149 12 DarkGoldenrod3
-139 101 8 DarkGoldenrod4
-169 169 169 DarkGray
- 0 83 0 DarkGreen
-169 169 169 DarkGrey
-189 183 107 DarkKhaki
-139 0 139 DarkMagenta
- 85 107 47 DarkOliveGreen
-202 255 112 DarkOliveGreen1
-188 238 104 DarkOliveGreen2
-162 205 90 DarkOliveGreen3
-110 139 61 DarkOliveGreen4
-255 127 0 DarkOrange
-255 127 0 DarkOrange1
-238 118 0 DarkOrange2
-205 102 0 DarkOrange3
-139 69 0 DarkOrange4
-153 50 204 DarkOrchid
-191 62 255 DarkOrchid1
-178 58 238 DarkOrchid2
-154 50 205 DarkOrchid3
-104 34 139 DarkOrchid4
-139 0 0 DarkRed
-233 150 122 DarkSalmon
-143 188 143 DarkSeaGreen
-193 255 193 DarkSeaGreen1
-180 238 180 DarkSeaGreen2
-155 205 155 DarkSeaGreen3
-105 139 105 DarkSeaGreen4
- 72 61 139 DarkSlateBlue
- 47 79 79 DarkSlateGray
-151 255 255 DarkSlateGray1
-141 238 238 DarkSlateGray2
-121 205 205 DarkSlateGray3
- 82 139 139 DarkSlateGray4
- 47 79 79 DarkSlateGrey
- 0 195 205 DarkTurquoise
-148 0 211 DarkViolet
-255 20 147 DeepPink
-255 20 147 DeepPink1
-238 18 137 DeepPink2
-205 16 118 DeepPink3
-139 10 80 DeepPink4
- 0 191 255 DeepSkyBlue
- 0 191 255 DeepSkyBlue1
- 0 178 238 DeepSkyBlue2
- 0 154 205 DeepSkyBlue3
- 0 104 139 DeepSkyBlue4
-105 105 105 DimGray
-105 105 105 DimGrey
- 30 144 255 DodgerBlue
- 30 144 255 DodgerBlue1
- 28 134 238 DodgerBlue2
- 24 116 205 DodgerBlue3
- 16 78 139 DodgerBlue4
- 58 95 205 FlatMediumBlue
- 72 118 255 FlatMediumBlue1
- 67 110 238 FlatMediumBlue2
- 58 95 205 FlatMediumBlue3
- 39 64 139 FlatMediumBlue4
-143 188 143 FlatMediumGreen
-193 255 193 FlatMediumGreen1
-180 238 180 FlatMediumGreen2
-155 205 155 FlatMediumGreen3
-105 139 105 FlatMediumGreen4
-255 250 240 FloralWhite
- 34 139 34 ForestGreen
-248 248 255 GhostWhite
-173 255 47 GreenYellow
-255 105 180 HotPink
-255 110 180 HotPink1
-238 106 167 HotPink2
-205 96 144 HotPink3
-139 58 98 HotPink4
-139 58 58 IndianRed
-255 106 106 IndianRed1
-238 99 99 IndianRed2
-205 85 85 IndianRed3
-139 58 58 IndianRed4
-255 240 245 LavenderBlush
-255 240 245 LavenderBlush1
-238 224 229 LavenderBlush2
-205 193 197 LavenderBlush3
-139 131 134 LavenderBlush4
-124 252 0 LawnGreen
-255 250 205 LemonChiffon
-255 250 205 LemonChiffon1
-238 233 191 LemonChiffon2
-205 201 165 LemonChiffon3
-139 137 112 LemonChiffon4
-173 216 230 LightBlue
-191 239 255 LightBlue1
-178 223 238 LightBlue2
-154 192 205 LightBlue3
-104 131 139 LightBlue4
-240 128 128 LightCoral
-224 255 255 LightCyan
-224 255 255 LightCyan1
-209 238 238 LightCyan2
-180 205 205 LightCyan3
-122 139 139 LightCyan4
-238 221 130 LightGoldenrod
-255 236 139 LightGoldenrod1
-238 220 130 LightGoldenrod2
-205 190 112 LightGoldenrod3
-139 129 76 LightGoldenrod4
-250 250 210 LightGoldenrodYellow
-211 211 211 LightGray
-144 238 144 LightGreen
-211 211 211 LightGrey
-255 174 185 LightPink
-255 174 185 LightPink1
-238 162 173 LightPink2
-205 140 149 LightPink3
-139 95 101 LightPink4
-255 160 122 LightSalmon
-255 160 122 LightSalmon1
-238 149 114 LightSalmon2
-205 129 98 LightSalmon3
-139 87 66 LightSalmon4
- 32 178 170 LightSeaGreen
-176 226 255 LightSkyBlue
-176 226 255 LightSkyBlue1
-164 211 238 LightSkyBlue2
-141 182 205 LightSkyBlue3
- 96 123 139 LightSkyBlue4
-132 112 255 LightSlateBlue
-119 136 153 LightSlateGray
-119 136 153 LightSlateGrey
- 176 196 222 LightSteelBlue
-202 225 255 LightSteelBlue1
-188 210 238 LightSteelBlue2
-162 181 205 LightSteelBlue3
-110 123 139 LightSteelBlue4
-255 255 224 LightYellow
-255 255 224 LightYellow1
-238 238 209 LightYellow2
-205 205 180 LightYellow3
-139 139 122 LightYellow4
- 50 205 50 LimeGreen
-102 205 170 MediumAquamarine
- 0 0 205 MediumBlue
-107 142 35 MediumForestGreen
-184 134 11 MediumGoldenrod
-255 185 15 MediumGoldenrod1
-238 173 14 MediumGoldenrod2
-205 149 12 MediumGoldenrod3
-139 101 8 MediumGoldenrod4
-186 85 211 MediumOrchid
-224 102 255 MediumOrchid1
-209 95 238 MediumOrchid2
-180 82 205 MediumOrchid3
-122 55 139 MediumOrchid4
-255 125 179 MediumPink
-255 125 179 MediumPink1
-238 116 167 MediumPink2
-205 100 144 MediumPink3
-139 68 98 MediumPink4
-147 112 219 MediumPurple
-171 130 255 MediumPurple1
-159 121 238 MediumPurple2
-137 104 205 MediumPurple3
- 93 71 139 MediumPurple4
- 60 179 113 MediumSeaGreen
-123 104 238 MediumSlateBlue
-127 255 0 MediumSpringGreen
- 0 227 238 MediumTurquoise
-199 21 133 MediumVioletRed
- 25 25 100 MidnightBlue
-245 255 250 MintCream
-255 228 225 MistyRose
-255 228 225 MistyRose1
-238 213 210 MistyRose2
-205 183 181 MistyRose3
-139 125 123 MistyRose4
-255 222 173 NavajoWhite
-255 222 173 NavajoWhite1
-238 207 161 NavajoWhite2
-205 179 139 NavajoWhite3
-139 121 94 NavajoWhite4
- 34 34 139 NavyBlue
-238 221 130 OldGoldenrod
-255 236 139 OldGoldenrod1
-238 220 130 OldGoldenrod2
-205 190 112 OldGoldenrod3
-139 129 76 OldGoldenrod4
-253 245 230 OldLace
-238 238 175 OldMediumGoldenrod
-255 255 187 OldMediumGoldenrod1
-238 238 174 OldMediumGoldenrod2
-205 205 150 OldMediumGoldenrod3
-139 139 102 OldMediumGoldenrod4
-107 142 35 OliveDrab
-192 255 62 OliveDrab1
-179 238 58 OliveDrab2
-154 205 50 OliveDrab3
-105 139 34 OliveDrab4
-255 69 0 OrangeRed
-255 69 0 OrangeRed1
-238 64 0 OrangeRed2
-205 55 0 OrangeRed3
-139 37 0 OrangeRed4
-238 232 170 PaleGoldenrod
-152 251 152 PaleGreen
-154 255 154 PaleGreen1
-144 238 144 PaleGreen2
-124 205 124 PaleGreen3
- 84 139 84 PaleGreen4
-255 170 200 PalePink
-175 238 238 PaleTurquoise
-187 255 255 PaleTurquoise1
-174 238 238 PaleTurquoise2
-150 205 205 PaleTurquoise3
-102 139 139 PaleTurquoise4
-219 112 147 PaleVioletRed
-255 130 171 PaleVioletRed1
-238 121 159 PaleVioletRed2
-205 104 137 PaleVioletRed3
-139 71 93 PaleVioletRed4
-255 239 213 PapayaWhip
-255 218 185 PeachPuff
-255 218 185 PeachPuff1
-238 203 173 PeachPuff2
-205 175 149 PeachPuff3
-139 119 101 PeachPuff4
-176 224 230 PowderBlue
-188 143 143 RosyBrown
-255 193 193 RosyBrown1
-238 180 180 RosyBrown2
-205 155 155 RosyBrown3
-139 105 105 RosyBrown4
- 65 105 225 RoyalBlue
- 72 118 255 RoyalBlue1
- 67 110 238 RoyalBlue2
- 58 95 205 RoyalBlue3
- 39 64 139 RoyalBlue4
-139 69 19 SaddleBrown
-244 164 96 SandyBrown
- 46 139 87 SeaGreen
- 84 255 159 SeaGreen1
- 78 238 148 SeaGreen2
- 67 205 128 SeaGreen3
- 46 139 87 SeaGreen4
-135 206 255 SkyBlue
-135 206 255 SkyBlue1
-126 192 238 SkyBlue2
-108 166 205 SkyBlue3
- 74 112 139 SkyBlue4
-106 90 205 SlateBlue
-131 111 255 SlateBlue1
-122 103 238 SlateBlue2
-105 89 205 SlateBlue3
- 71 60 139 SlateBlue4
-112 128 144 SlateGray
-198 226 255 SlateGray1
-185 211 238 SlateGray2
-159 182 205 SlateGray3
-108 123 139 SlateGray4
-112 128 144 SlateGrey
- 0 255 127 SpringGreen
- 0 255 127 SpringGreen1
- 0 238 118 SpringGreen2
- 0 205 102 SpringGreen3
- 0 139 69 SpringGreen4
- 70 130 180 SteelBlue
- 99 184 255 SteelBlue1
- 92 172 238 SteelBlue2
- 79 148 205 SteelBlue3
- 54 100 139 SteelBlue4
-255 62 150 VioletRed
-255 62 150 VioletRed1
-238 58 140 VioletRed2
-205 50 120 VioletRed3
-139 34 82 VioletRed4
-245 245 245 WhiteSmoke
-154 205 50 YellowGreen
-240 248 255 alice blue
-250 235 215 antique white
-41 171 151 aquamarine
-127 255 212 aquamarine1
-118 238 198 aquamarine2
-102 205 170 aquamarine3
- 69 139 116 aquamarine4
-240 255 255 azure
-240 255 255 azure1
-224 238 238 azure2
-193 205 205 azure3
-131 139 139 azure4
-245 245 220 beige
-255 228 196 bisque
-255 228 196 bisque1
-238 213 183 bisque2
-205 183 158 bisque3
-139 125 107 bisque4
-0 0 0 black
-255 235 205 blanched almond
-0 0 255 blue
-114 33 188 blue violet
- 0 0 255 blue1
- 0 0 238 blue2
- 0 0 205 blue3
- 0 0 139 blue4
-103 67 0 brown
-255 64 64 brown1
-238 59 59 brown2
-205 51 51 brown3
-139 35 35 brown4
-222 184 135 burlywood
-255 211 155 burlywood1
-238 197 145 burlywood2
-205 170 125 burlywood3
-139 115 85 burlywood4
-126 125 160 cadet blue
-127 255 0 chartreuse
-127 255 0 chartreuse1
-118 238 0 chartreuse2
-102 205 0 chartreuse3
- 69 139 0 chartreuse4
-210 105 30 chocolate
-255 127 36 chocolate1
-238 118 33 chocolate2
-205 102 29 chocolate3
-139 69 19 chocolate4
-248 137 117 coral
-255 114 86 coral1
-238 106 80 coral2
-205 91 69 coral3
-139 62 47 coral4
-100 149 237 cornflower blue
-255 248 220 cornsilk
-255 248 220 cornsilk1
-238 232 205 cornsilk2
-205 200 177 cornsilk3
-139 136 120 cornsilk4
-0 255 255 cyan
- 0 255 255 cyan1
- 0 238 238 cyan2
- 0 205 205 cyan3
- 0 139 139 cyan4
-0 0 139 dark blue
-0 139 139 dark cyan
-184 134 11 dark goldenrod
-169 169 169 dark gray
-0 83 0 dark green
-169 169 169 dark grey
-189 183 107 dark khaki
-139 0 139 dark magenta
-79 79 47 dark olive green
-255 127 0 dark orange
-106 37 102 dark orchid
-139 0 0 dark red
-233 150 122 dark salmon
-143 188 143 dark sea green
-51 62 99 dark slate blue
-60 64 74 dark slate gray
-60 64 74 dark slate grey
-29 111 117 dark turquoise
-148 0 211 dark violet
-255 20 147 deep pink
- 0 191 255 deep sky blue
-105 105 105 dim gray
-105 105 105 dim grey
- 30 144 255 dodger blue
-136 18 13 firebrick
-255 48 48 firebrick1
-238 44 44 firebrick2
-205 38 38 firebrick3
-139 26 26 firebrick4
- 58 95 205 flat medium blue
-143 188 143 flat medium green
-255 250 240 floral white
-85 192 52 forest green
-220 220 220 gainsboro
-248 248 255 ghost white
-254 197 68 gold
-255 215 0 gold1
-238 201 0 gold2
-205 173 0 gold3
-139 117 0 gold4
-218 165 32 goldenrod
-255 193 37 goldenrod1
-238 180 34 goldenrod2
-205 155 29 goldenrod3
-139 105 20 goldenrod4
-174 174 174 gray
-0 0 0 gray0
-3 3 3 gray1
-26 26 26 gray10
-255 255 255 gray100
-28 28 28 gray11
-31 31 31 gray12
-33 33 33 gray13
-36 36 36 gray14
-38 38 38 gray15
-41 41 41 gray16
-43 43 43 gray17
-46 46 46 gray18
-48 48 48 gray19
-5 5 5 gray2
-51 51 51 gray20
-54 54 54 gray21
-56 56 56 gray22
-59 59 59 gray23
-61 61 61 gray24
-64 64 64 gray25
-66 66 66 gray26
-69 69 69 gray27
-71 71 71 gray28
-74 74 74 gray29
-8 8 8 gray3
-77 77 77 gray30
-79 79 79 gray31
-82 82 82 gray32
-84 84 84 gray33
-87 87 87 gray34
-89 89 89 gray35
-92 92 92 gray36
-94 94 94 gray37
-97 97 97 gray38
-99 99 99 gray39
-10 10 10 gray4
-102 102 102 gray40
-105 105 105 gray41
-107 107 107 gray42
-110 110 110 gray43
-112 112 112 gray44
-115 115 115 gray45
-117 117 117 gray46
-120 120 120 gray47
-122 122 122 gray48
-125 125 125 gray49
-13 13 13 gray5
-127 127 127 gray50
-130 130 130 gray51
-133 133 133 gray52
-135 135 135 gray53
-138 138 138 gray54
-140 140 140 gray55
-143 143 143 gray56
-145 145 145 gray57
-148 148 148 gray58
-150 150 150 gray59
-15 15 15 gray6
-153 153 153 gray60
-156 156 156 gray61
-158 158 158 gray62
-161 161 161 gray63
-163 163 163 gray64
-166 166 166 gray65
-168 168 168 gray66
-171 171 171 gray67
-173 173 173 gray68
-176 176 176 gray69
-18 18 18 gray7
-179 179 179 gray70
-181 181 181 gray71
-184 184 184 gray72
-186 186 186 gray73
-189 189 189 gray74
-191 191 191 gray75
-194 194 194 gray76
-196 196 196 gray77
-199 199 199 gray78
-201 201 201 gray79
-20 20 20 gray8
-204 204 204 gray80
-207 207 207 gray81
-209 209 209 gray82
-212 212 212 gray83
-214 214 214 gray84
-217 217 217 gray85
-219 219 219 gray86
-222 222 222 gray87
-224 224 224 gray88
-227 227 227 gray89
-23 23 23 gray9
-229 229 229 gray90
-232 232 232 gray91
-235 235 235 gray92
-237 237 237 gray93
-240 240 240 gray94
-242 242 242 gray95
-245 245 245 gray96
-247 247 247 gray97
-250 250 250 gray98
-252 252 252 gray99
-0 255 0 green
-159 211 0 green yellow
- 0 255 0 green1
- 0 238 0 green2
- 0 205 0 green3
- 0 139 0 green4
-174 174 174 grey
-0 0 0 grey0
-3 3 3 grey1
-26 26 26 grey10
-255 255 255 grey100
-28 28 28 grey11
-31 31 31 grey12
-33 33 33 grey13
-36 36 36 grey14
-38 38 38 grey15
-41 41 41 grey16
-43 43 43 grey17
-46 46 46 grey18
-48 48 48 grey19
-5 5 5 grey2
-51 51 51 grey20
-54 54 54 grey21
-56 56 56 grey22
-59 59 59 grey23
-61 61 61 grey24
-64 64 64 grey25
-66 66 66 grey26
-69 69 69 grey27
-71 71 71 grey28
-74 74 74 grey29
-8 8 8 grey3
-77 77 77 grey30
-79 79 79 grey31
-82 82 82 grey32
-84 84 84 grey33
-87 87 87 grey34
-89 89 89 grey35
-92 92 92 grey36
-94 94 94 grey37
-97 97 97 grey38
-99 99 99 grey39
-10 10 10 grey4
-102 102 102 grey40
-105 105 105 grey41
-107 107 107 grey42
-110 110 110 grey43
-112 112 112 grey44
-115 115 115 grey45
-117 117 117 grey46
-120 120 120 grey47
-122 122 122 grey48
-125 125 125 grey49
-13 13 13 grey5
-127 127 127 grey50
-130 130 130 grey51
-133 133 133 grey52
-135 135 135 grey53
-138 138 138 grey54
-140 140 140 grey55
-143 143 143 grey56
-145 145 145 grey57
-148 148 148 grey58
-150 150 150 grey59
-15 15 15 grey6
-153 153 153 grey60
-156 156 156 grey61
-158 158 158 grey62
-161 161 161 grey63
-163 163 163 grey64
-166 166 166 grey65
-168 168 168 grey66
-171 171 171 grey67
-173 173 173 grey68
-176 176 176 grey69
-18 18 18 grey7
-179 179 179 grey70
-181 181 181 grey71
-184 184 184 grey72
-186 186 186 grey73
-189 189 189 grey74
-191 191 191 grey75
-194 194 194 grey76
-196 196 196 grey77
-199 199 199 grey78
-201 201 201 grey79
-20 20 20 grey8
-204 204 204 grey80
-207 207 207 grey81
-209 209 209 grey82
-212 212 212 grey83
-214 214 214 grey84
-217 217 217 grey85
-219 219 219 grey86
-222 222 222 grey87
-224 224 224 grey88
-227 227 227 grey89
-23 23 23 grey9
-229 229 229 grey90
-232 232 232 grey91
-235 235 235 grey92
-237 237 237 grey93
-240 240 240 grey94
-242 242 242 grey95
-245 245 245 grey96
-247 247 247 grey97
-250 250 250 grey98
-252 252 252 grey99
-240 255 240 honeydew
-240 255 240 honeydew1
-224 238 224 honeydew2
-193 205 193 honeydew3
-131 139 131 honeydew4
-255 105 180 hot pink
-101 46 46 indian red
-255 255 240 ivory
-255 255 240 ivory1
-238 238 224 ivory2
-205 205 193 ivory3
-139 139 131 ivory4
-189 167 107 khaki
-255 246 143 khaki1
-238 230 133 khaki2
-205 198 115 khaki3
-139 134 78 khaki4
-230 230 250 lavender
-255 240 245 lavender blush
-124 252 0 lawn green
-255 250 205 lemon chiffon
-171 197 255 light blue
-240 128 128 light coral
-224 255 255 light cyan
-238 221 130 light goldenrod
-250 250 210 light goldenrod yellow
-211 211 211 light gray
-144 238 144 light green
-211 211 211 light grey
-255 174 185 light pink
-255 160 122 light salmon
- 32 178 170 light sea green
-176 226 255 light sky blue
-132 112 255 light slate blue
-119 136 153 light slate gray
-119 136 153 light slate grey
-52 152 202 light steel blue
-255 255 224 light yellow
-46 155 28 lime green
-250 240 230 linen
-255 0 211 magenta
-255 0 255 magenta1
-238 0 238 magenta2
-205 0 205 magenta3
-139 0 139 magenta4
-103 7 72 maroon
-255 52 179 maroon1
-238 48 167 maroon2
-205 41 144 maroon3
-139 28 98 maroon4
-21 135 118 medium aquamarine
-61 98 208 medium blue
-107 142 35 medium forest green
-184 134 11 medium goldenrod
-172 77 166 medium orchid
-255 125 179 medium pink
-147 112 219 medium purple
-27 134 86 medium sea green
-95 109 154 medium slate blue
-60 141 35 medium spring green
-62 172 181 medium turquoise
-199 21 133 medium violet red
-12 62 99 midnight blue
-245 255 250 mint cream
-255 228 225 misty rose
-255 228 181 moccasin
-255 222 173 navajo white
-0 0 142 navy
-0 0 142 navy blue
-238 221 130 old goldenrod
-253 245 230 old lace
-238 238 175 old medium goldenrod
-107 142 35 olive drab
-255 138 0 orange
-226 65 42 orange red
-255 165 0 orange1
-238 154 0 orange2
-205 133 0 orange3
-139 90 0 orange4
-218 107 212 orchid
-255 131 250 orchid1
-238 122 233 orchid2
-205 105 201 orchid3
-139 71 137 orchid4
-238 232 170 pale goldenrod
-152 255 152 pale green
-255 170 200 pale pink
-175 238 238 pale turquoise
-219 112 147 pale violet red
-255 239 213 papaya whip
-255 218 185 peach puff
-205 133 63 peru
-255 174 185 pink
-255 181 197 pink1
-238 169 184 pink2
-205 145 158 pink3
-139 99 108 pink4
-76 46 87 plum
-255 187 255 plum1
-238 174 238 plum2
-205 150 205 plum3
-139 102 139 plum4
-176 224 230 powder blue
-138 43 226 purple
-155 48 255 purple1
-145 44 238 purple2
-125 38 205 purple3
- 85 26 139 purple4
-255 0 0 red
-255 0 0 red1
-238 0 0 red2
-205 0 0 red3
-139 0 0 red4
-188 143 143 rosy brown
- 65 105 225 royal blue
-139 69 19 saddle brown
-248 109 104 salmon
-255 140 105 salmon1
-238 130 98 salmon2
-205 112 84 salmon3
-139 76 57 salmon4
-178 143 86 sandy brown
-43 167 112 sea green
-255 245 238 seashell
-255 245 238 seashell1
-238 229 222 seashell2
-205 197 191 seashell3
-139 134 130 seashell4
-142 107 35 sienna
-255 130 71 sienna1
-238 121 66 sienna2
-205 104 57 sienna3
-139 71 38 sienna4
-0 138 255 sky blue
-117 134 190 slate blue
-112 128 144 slate gray
-112 128 144 slate grey
-255 250 250 snow
-255 250 250 snow1
-238 233 233 snow2
-205 201 201 snow3
-139 137 137 snow4
-0 255 159 spring green
-55 121 153 steel blue
-176 155 125 tan
-255 165 79 tan1
-238 154 73 tan2
-205 133 63 tan3
-139 90 43 tan4
-146 62 112 thistle
-255 225 255 thistle1
-238 210 238 thistle2
-205 181 205 thistle3
-139 123 139 thistle4
-255 99 71 tomato
-255 99 71 tomato1
-238 92 66 tomato2
-205 79 57 tomato3
-139 54 38 tomato4
-72 209 204 turquoise
- 0 245 255 turquoise1
- 0 229 238 turquoise2
- 0 197 205 turquoise3
- 0 134 139 turquoise4
-148 0 211 violet
-255 0 148 violet red
-229 199 117 wheat
-255 231 186 wheat1
-238 216 174 wheat2
-205 186 150 wheat3
-139 126 102 wheat4
-255 255 255 white
-245 245 245 white smoke
-255 255 0 yellow
-75 211 0 yellow green
-255 255 0 yellow1
-238 238 0 yellow2
-205 205 0 yellow3
-s139 139 0 yellow4
+1;
diff --git a/Gimp/ColorDB.pm b/Gimp/ColorDB.pm
new file mode 100644
index 0000000..8109d6a
--- /dev/null
+++ b/Gimp/ColorDB.pm
@@ -0,0 +1,860 @@
+package Gimp::ColorDB;
+
+use strict;
+use Carp qw(croak);
+use vars qw(@EXPORT);
+use Exporter 'import';
+
+ EXPORT = qw(
+ canonicalize_color
+ canonicalize_colour
+ canonicalise_color
+ canonicalise_colour
+ set_rgb_db
+);
+
+my %rgb_db;
+my $rgb_db_path;
+
+sub set_rgb_db($) {
+ $rgb_db_path=$_[0];
+ undef %rgb_db;
+}
+
+sub canonicalize_colour {
+ if ((scalar(@_) == 3) or (scalar(@_) == 4)) { # if 3 or 4 entries already
+ if (($_[0] > 1.0) or ($_[1] > 1.0) or ($_[2] > 1.0)) {
+ @_ = @_ / 255.0;
+ }
+ return [ _];
+ } elsif (ref $_[0]) {
+ my @loc_col = @{$_[0]};
+ @loc_col = map {$_ = ($_>1) ? $_/255.0 : $_} @loc_col;
+ return [ loc_col];
+ } elsif (
+ $_[0] =~ /^#([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})$/
+ ) {
+ # convert hex specfier of #xxyyzz
+ return [ map { eval "0x$_/255.0" } ($1, $2, $3) ];
+ } else {
+ unless (%rgb_db) {
+ if ($rgb_db_path) {
+ open RGB_TEXT, "<", $rgb_db_path or croak "$rgb_db_path: $!";
+ } else {
+ *RGB_TEXT = *DATA;
+ }
+ while(<RGB_TEXT>) {
+ my @rgb = split ' ';
+ my $label = lc pop @rgb;
+ next unless @rgb == 3 and not grep { $_ ne int $_ } @rgb;
+ $rgb_db{$label} = [ map { $_ / 255.0 } @rgb ];
+ }
+ close RGB_TEXT;
+ }
+ return $rgb_db{lc $_[0]} ||
+ croak sprintf
+ Gimp::__("Unable to grok '%s' as colour specifier"),
+ join ",", @_;
+ }
+}
+
+*canonicalize_color =
+ *canonicalise_color =
+ *canonicalise_colour =
+ \&canonicalize_colour;
+
+1;
+
+__DATA__
+240 248 255 AliceBlue
+250 235 215 AntiqueWhite
+255 239 219 AntiqueWhite1
+238 223 204 AntiqueWhite2
+205 192 176 AntiqueWhite3
+139 131 120 AntiqueWhite4
+255 235 205 BlanchedAlmond
+138 43 226 BlueViolet
+ 95 153 159 CadetBlue
+152 245 255 CadetBlue1
+142 229 238 CadetBlue2
+122 197 205 CadetBlue3
+ 83 134 139 CadetBlue4
+ 34 34 152 CornflowerBlue
+0 0 139 DarkBlue
+0 139 139 DarkCyan
+184 134 11 DarkGoldenrod
+255 185 15 DarkGoldenrod1
+238 173 14 DarkGoldenrod2
+205 149 12 DarkGoldenrod3
+139 101 8 DarkGoldenrod4
+169 169 169 DarkGray
+ 0 83 0 DarkGreen
+169 169 169 DarkGrey
+189 183 107 DarkKhaki
+139 0 139 DarkMagenta
+ 85 107 47 DarkOliveGreen
+202 255 112 DarkOliveGreen1
+188 238 104 DarkOliveGreen2
+162 205 90 DarkOliveGreen3
+110 139 61 DarkOliveGreen4
+255 127 0 DarkOrange
+255 127 0 DarkOrange1
+238 118 0 DarkOrange2
+205 102 0 DarkOrange3
+139 69 0 DarkOrange4
+153 50 204 DarkOrchid
+191 62 255 DarkOrchid1
+178 58 238 DarkOrchid2
+154 50 205 DarkOrchid3
+104 34 139 DarkOrchid4
+139 0 0 DarkRed
+233 150 122 DarkSalmon
+143 188 143 DarkSeaGreen
+193 255 193 DarkSeaGreen1
+180 238 180 DarkSeaGreen2
+155 205 155 DarkSeaGreen3
+105 139 105 DarkSeaGreen4
+ 72 61 139 DarkSlateBlue
+ 47 79 79 DarkSlateGray
+151 255 255 DarkSlateGray1
+141 238 238 DarkSlateGray2
+121 205 205 DarkSlateGray3
+ 82 139 139 DarkSlateGray4
+ 47 79 79 DarkSlateGrey
+ 0 195 205 DarkTurquoise
+148 0 211 DarkViolet
+255 20 147 DeepPink
+255 20 147 DeepPink1
+238 18 137 DeepPink2
+205 16 118 DeepPink3
+139 10 80 DeepPink4
+ 0 191 255 DeepSkyBlue
+ 0 191 255 DeepSkyBlue1
+ 0 178 238 DeepSkyBlue2
+ 0 154 205 DeepSkyBlue3
+ 0 104 139 DeepSkyBlue4
+105 105 105 DimGray
+105 105 105 DimGrey
+ 30 144 255 DodgerBlue
+ 30 144 255 DodgerBlue1
+ 28 134 238 DodgerBlue2
+ 24 116 205 DodgerBlue3
+ 16 78 139 DodgerBlue4
+ 58 95 205 FlatMediumBlue
+ 72 118 255 FlatMediumBlue1
+ 67 110 238 FlatMediumBlue2
+ 58 95 205 FlatMediumBlue3
+ 39 64 139 FlatMediumBlue4
+143 188 143 FlatMediumGreen
+193 255 193 FlatMediumGreen1
+180 238 180 FlatMediumGreen2
+155 205 155 FlatMediumGreen3
+105 139 105 FlatMediumGreen4
+255 250 240 FloralWhite
+ 34 139 34 ForestGreen
+248 248 255 GhostWhite
+173 255 47 GreenYellow
+255 105 180 HotPink
+255 110 180 HotPink1
+238 106 167 HotPink2
+205 96 144 HotPink3
+139 58 98 HotPink4
+139 58 58 IndianRed
+255 106 106 IndianRed1
+238 99 99 IndianRed2
+205 85 85 IndianRed3
+139 58 58 IndianRed4
+255 240 245 LavenderBlush
+255 240 245 LavenderBlush1
+238 224 229 LavenderBlush2
+205 193 197 LavenderBlush3
+139 131 134 LavenderBlush4
+124 252 0 LawnGreen
+255 250 205 LemonChiffon
+255 250 205 LemonChiffon1
+238 233 191 LemonChiffon2
+205 201 165 LemonChiffon3
+139 137 112 LemonChiffon4
+173 216 230 LightBlue
+191 239 255 LightBlue1
+178 223 238 LightBlue2
+154 192 205 LightBlue3
+104 131 139 LightBlue4
+240 128 128 LightCoral
+224 255 255 LightCyan
+224 255 255 LightCyan1
+209 238 238 LightCyan2
+180 205 205 LightCyan3
+122 139 139 LightCyan4
+238 221 130 LightGoldenrod
+255 236 139 LightGoldenrod1
+238 220 130 LightGoldenrod2
+205 190 112 LightGoldenrod3
+139 129 76 LightGoldenrod4
+250 250 210 LightGoldenrodYellow
+211 211 211 LightGray
+144 238 144 LightGreen
+211 211 211 LightGrey
+255 174 185 LightPink
+255 174 185 LightPink1
+238 162 173 LightPink2
+205 140 149 LightPink3
+139 95 101 LightPink4
+255 160 122 LightSalmon
+255 160 122 LightSalmon1
+238 149 114 LightSalmon2
+205 129 98 LightSalmon3
+139 87 66 LightSalmon4
+ 32 178 170 LightSeaGreen
+176 226 255 LightSkyBlue
+176 226 255 LightSkyBlue1
+164 211 238 LightSkyBlue2
+141 182 205 LightSkyBlue3
+ 96 123 139 LightSkyBlue4
+132 112 255 LightSlateBlue
+119 136 153 LightSlateGray
+119 136 153 LightSlateGrey
+ 176 196 222 LightSteelBlue
+202 225 255 LightSteelBlue1
+188 210 238 LightSteelBlue2
+162 181 205 LightSteelBlue3
+110 123 139 LightSteelBlue4
+255 255 224 LightYellow
+255 255 224 LightYellow1
+238 238 209 LightYellow2
+205 205 180 LightYellow3
+139 139 122 LightYellow4
+ 50 205 50 LimeGreen
+102 205 170 MediumAquamarine
+ 0 0 205 MediumBlue
+107 142 35 MediumForestGreen
+184 134 11 MediumGoldenrod
+255 185 15 MediumGoldenrod1
+238 173 14 MediumGoldenrod2
+205 149 12 MediumGoldenrod3
+139 101 8 MediumGoldenrod4
+186 85 211 MediumOrchid
+224 102 255 MediumOrchid1
+209 95 238 MediumOrchid2
+180 82 205 MediumOrchid3
+122 55 139 MediumOrchid4
+255 125 179 MediumPink
+255 125 179 MediumPink1
+238 116 167 MediumPink2
+205 100 144 MediumPink3
+139 68 98 MediumPink4
+147 112 219 MediumPurple
+171 130 255 MediumPurple1
+159 121 238 MediumPurple2
+137 104 205 MediumPurple3
+ 93 71 139 MediumPurple4
+ 60 179 113 MediumSeaGreen
+123 104 238 MediumSlateBlue
+127 255 0 MediumSpringGreen
+ 0 227 238 MediumTurquoise
+199 21 133 MediumVioletRed
+ 25 25 100 MidnightBlue
+245 255 250 MintCream
+255 228 225 MistyRose
+255 228 225 MistyRose1
+238 213 210 MistyRose2
+205 183 181 MistyRose3
+139 125 123 MistyRose4
+255 222 173 NavajoWhite
+255 222 173 NavajoWhite1
+238 207 161 NavajoWhite2
+205 179 139 NavajoWhite3
+139 121 94 NavajoWhite4
+ 34 34 139 NavyBlue
+238 221 130 OldGoldenrod
+255 236 139 OldGoldenrod1
+238 220 130 OldGoldenrod2
+205 190 112 OldGoldenrod3
+139 129 76 OldGoldenrod4
+253 245 230 OldLace
+238 238 175 OldMediumGoldenrod
+255 255 187 OldMediumGoldenrod1
+238 238 174 OldMediumGoldenrod2
+205 205 150 OldMediumGoldenrod3
+139 139 102 OldMediumGoldenrod4
+107 142 35 OliveDrab
+192 255 62 OliveDrab1
+179 238 58 OliveDrab2
+154 205 50 OliveDrab3
+105 139 34 OliveDrab4
+255 69 0 OrangeRed
+255 69 0 OrangeRed1
+238 64 0 OrangeRed2
+205 55 0 OrangeRed3
+139 37 0 OrangeRed4
+238 232 170 PaleGoldenrod
+152 251 152 PaleGreen
+154 255 154 PaleGreen1
+144 238 144 PaleGreen2
+124 205 124 PaleGreen3
+ 84 139 84 PaleGreen4
+255 170 200 PalePink
+175 238 238 PaleTurquoise
+187 255 255 PaleTurquoise1
+174 238 238 PaleTurquoise2
+150 205 205 PaleTurquoise3
+102 139 139 PaleTurquoise4
+219 112 147 PaleVioletRed
+255 130 171 PaleVioletRed1
+238 121 159 PaleVioletRed2
+205 104 137 PaleVioletRed3
+139 71 93 PaleVioletRed4
+255 239 213 PapayaWhip
+255 218 185 PeachPuff
+255 218 185 PeachPuff1
+238 203 173 PeachPuff2
+205 175 149 PeachPuff3
+139 119 101 PeachPuff4
+176 224 230 PowderBlue
+188 143 143 RosyBrown
+255 193 193 RosyBrown1
+238 180 180 RosyBrown2
+205 155 155 RosyBrown3
+139 105 105 RosyBrown4
+ 65 105 225 RoyalBlue
+ 72 118 255 RoyalBlue1
+ 67 110 238 RoyalBlue2
+ 58 95 205 RoyalBlue3
+ 39 64 139 RoyalBlue4
+139 69 19 SaddleBrown
+244 164 96 SandyBrown
+ 46 139 87 SeaGreen
+ 84 255 159 SeaGreen1
+ 78 238 148 SeaGreen2
+ 67 205 128 SeaGreen3
+ 46 139 87 SeaGreen4
+135 206 255 SkyBlue
+135 206 255 SkyBlue1
+126 192 238 SkyBlue2
+108 166 205 SkyBlue3
+ 74 112 139 SkyBlue4
+106 90 205 SlateBlue
+131 111 255 SlateBlue1
+122 103 238 SlateBlue2
+105 89 205 SlateBlue3
+ 71 60 139 SlateBlue4
+112 128 144 SlateGray
+198 226 255 SlateGray1
+185 211 238 SlateGray2
+159 182 205 SlateGray3
+108 123 139 SlateGray4
+112 128 144 SlateGrey
+ 0 255 127 SpringGreen
+ 0 255 127 SpringGreen1
+ 0 238 118 SpringGreen2
+ 0 205 102 SpringGreen3
+ 0 139 69 SpringGreen4
+ 70 130 180 SteelBlue
+ 99 184 255 SteelBlue1
+ 92 172 238 SteelBlue2
+ 79 148 205 SteelBlue3
+ 54 100 139 SteelBlue4
+255 62 150 VioletRed
+255 62 150 VioletRed1
+238 58 140 VioletRed2
+205 50 120 VioletRed3
+139 34 82 VioletRed4
+245 245 245 WhiteSmoke
+154 205 50 YellowGreen
+240 248 255 alice blue
+250 235 215 antique white
+41 171 151 aquamarine
+127 255 212 aquamarine1
+118 238 198 aquamarine2
+102 205 170 aquamarine3
+ 69 139 116 aquamarine4
+240 255 255 azure
+240 255 255 azure1
+224 238 238 azure2
+193 205 205 azure3
+131 139 139 azure4
+245 245 220 beige
+255 228 196 bisque
+255 228 196 bisque1
+238 213 183 bisque2
+205 183 158 bisque3
+139 125 107 bisque4
+0 0 0 black
+255 235 205 blanched almond
+0 0 255 blue
+114 33 188 blue violet
+ 0 0 255 blue1
+ 0 0 238 blue2
+ 0 0 205 blue3
+ 0 0 139 blue4
+103 67 0 brown
+255 64 64 brown1
+238 59 59 brown2
+205 51 51 brown3
+139 35 35 brown4
+222 184 135 burlywood
+255 211 155 burlywood1
+238 197 145 burlywood2
+205 170 125 burlywood3
+139 115 85 burlywood4
+126 125 160 cadet blue
+127 255 0 chartreuse
+127 255 0 chartreuse1
+118 238 0 chartreuse2
+102 205 0 chartreuse3
+ 69 139 0 chartreuse4
+210 105 30 chocolate
+255 127 36 chocolate1
+238 118 33 chocolate2
+205 102 29 chocolate3
+139 69 19 chocolate4
+248 137 117 coral
+255 114 86 coral1
+238 106 80 coral2
+205 91 69 coral3
+139 62 47 coral4
+100 149 237 cornflower blue
+255 248 220 cornsilk
+255 248 220 cornsilk1
+238 232 205 cornsilk2
+205 200 177 cornsilk3
+139 136 120 cornsilk4
+0 255 255 cyan
+ 0 255 255 cyan1
+ 0 238 238 cyan2
+ 0 205 205 cyan3
+ 0 139 139 cyan4
+0 0 139 dark blue
+0 139 139 dark cyan
+184 134 11 dark goldenrod
+169 169 169 dark gray
+0 83 0 dark green
+169 169 169 dark grey
+189 183 107 dark khaki
+139 0 139 dark magenta
+79 79 47 dark olive green
+255 127 0 dark orange
+106 37 102 dark orchid
+139 0 0 dark red
+233 150 122 dark salmon
+143 188 143 dark sea green
+51 62 99 dark slate blue
+60 64 74 dark slate gray
+60 64 74 dark slate grey
+29 111 117 dark turquoise
+148 0 211 dark violet
+255 20 147 deep pink
+ 0 191 255 deep sky blue
+105 105 105 dim gray
+105 105 105 dim grey
+ 30 144 255 dodger blue
+136 18 13 firebrick
+255 48 48 firebrick1
+238 44 44 firebrick2
+205 38 38 firebrick3
+139 26 26 firebrick4
+ 58 95 205 flat medium blue
+143 188 143 flat medium green
+255 250 240 floral white
+85 192 52 forest green
+220 220 220 gainsboro
+248 248 255 ghost white
+254 197 68 gold
+255 215 0 gold1
+238 201 0 gold2
+205 173 0 gold3
+139 117 0 gold4
+218 165 32 goldenrod
+255 193 37 goldenrod1
+238 180 34 goldenrod2
+205 155 29 goldenrod3
+139 105 20 goldenrod4
+174 174 174 gray
+0 0 0 gray0
+3 3 3 gray1
+26 26 26 gray10
+255 255 255 gray100
+28 28 28 gray11
+31 31 31 gray12
+33 33 33 gray13
+36 36 36 gray14
+38 38 38 gray15
+41 41 41 gray16
+43 43 43 gray17
+46 46 46 gray18
+48 48 48 gray19
+5 5 5 gray2
+51 51 51 gray20
+54 54 54 gray21
+56 56 56 gray22
+59 59 59 gray23
+61 61 61 gray24
+64 64 64 gray25
+66 66 66 gray26
+69 69 69 gray27
+71 71 71 gray28
+74 74 74 gray29
+8 8 8 gray3
+77 77 77 gray30
+79 79 79 gray31
+82 82 82 gray32
+84 84 84 gray33
+87 87 87 gray34
+89 89 89 gray35
+92 92 92 gray36
+94 94 94 gray37
+97 97 97 gray38
+99 99 99 gray39
+10 10 10 gray4
+102 102 102 gray40
+105 105 105 gray41
+107 107 107 gray42
+110 110 110 gray43
+112 112 112 gray44
+115 115 115 gray45
+117 117 117 gray46
+120 120 120 gray47
+122 122 122 gray48
+125 125 125 gray49
+13 13 13 gray5
+127 127 127 gray50
+130 130 130 gray51
+133 133 133 gray52
+135 135 135 gray53
+138 138 138 gray54
+140 140 140 gray55
+143 143 143 gray56
+145 145 145 gray57
+148 148 148 gray58
+150 150 150 gray59
+15 15 15 gray6
+153 153 153 gray60
+156 156 156 gray61
+158 158 158 gray62
+161 161 161 gray63
+163 163 163 gray64
+166 166 166 gray65
+168 168 168 gray66
+171 171 171 gray67
+173 173 173 gray68
+176 176 176 gray69
+18 18 18 gray7
+179 179 179 gray70
+181 181 181 gray71
+184 184 184 gray72
+186 186 186 gray73
+189 189 189 gray74
+191 191 191 gray75
+194 194 194 gray76
+196 196 196 gray77
+199 199 199 gray78
+201 201 201 gray79
+20 20 20 gray8
+204 204 204 gray80
+207 207 207 gray81
+209 209 209 gray82
+212 212 212 gray83
+214 214 214 gray84
+217 217 217 gray85
+219 219 219 gray86
+222 222 222 gray87
+224 224 224 gray88
+227 227 227 gray89
+23 23 23 gray9
+229 229 229 gray90
+232 232 232 gray91
+235 235 235 gray92
+237 237 237 gray93
+240 240 240 gray94
+242 242 242 gray95
+245 245 245 gray96
+247 247 247 gray97
+250 250 250 gray98
+252 252 252 gray99
+0 255 0 green
+159 211 0 green yellow
+ 0 255 0 green1
+ 0 238 0 green2
+ 0 205 0 green3
+ 0 139 0 green4
+174 174 174 grey
+0 0 0 grey0
+3 3 3 grey1
+26 26 26 grey10
+255 255 255 grey100
+28 28 28 grey11
+31 31 31 grey12
+33 33 33 grey13
+36 36 36 grey14
+38 38 38 grey15
+41 41 41 grey16
+43 43 43 grey17
+46 46 46 grey18
+48 48 48 grey19
+5 5 5 grey2
+51 51 51 grey20
+54 54 54 grey21
+56 56 56 grey22
+59 59 59 grey23
+61 61 61 grey24
+64 64 64 grey25
+66 66 66 grey26
+69 69 69 grey27
+71 71 71 grey28
+74 74 74 grey29
+8 8 8 grey3
+77 77 77 grey30
+79 79 79 grey31
+82 82 82 grey32
+84 84 84 grey33
+87 87 87 grey34
+89 89 89 grey35
+92 92 92 grey36
+94 94 94 grey37
+97 97 97 grey38
+99 99 99 grey39
+10 10 10 grey4
+102 102 102 grey40
+105 105 105 grey41
+107 107 107 grey42
+110 110 110 grey43
+112 112 112 grey44
+115 115 115 grey45
+117 117 117 grey46
+120 120 120 grey47
+122 122 122 grey48
+125 125 125 grey49
+13 13 13 grey5
+127 127 127 grey50
+130 130 130 grey51
+133 133 133 grey52
+135 135 135 grey53
+138 138 138 grey54
+140 140 140 grey55
+143 143 143 grey56
+145 145 145 grey57
+148 148 148 grey58
+150 150 150 grey59
+15 15 15 grey6
+153 153 153 grey60
+156 156 156 grey61
+158 158 158 grey62
+161 161 161 grey63
+163 163 163 grey64
+166 166 166 grey65
+168 168 168 grey66
+171 171 171 grey67
+173 173 173 grey68
+176 176 176 grey69
+18 18 18 grey7
+179 179 179 grey70
+181 181 181 grey71
+184 184 184 grey72
+186 186 186 grey73
+189 189 189 grey74
+191 191 191 grey75
+194 194 194 grey76
+196 196 196 grey77
+199 199 199 grey78
+201 201 201 grey79
+20 20 20 grey8
+204 204 204 grey80
+207 207 207 grey81
+209 209 209 grey82
+212 212 212 grey83
+214 214 214 grey84
+217 217 217 grey85
+219 219 219 grey86
+222 222 222 grey87
+224 224 224 grey88
+227 227 227 grey89
+23 23 23 grey9
+229 229 229 grey90
+232 232 232 grey91
+235 235 235 grey92
+237 237 237 grey93
+240 240 240 grey94
+242 242 242 grey95
+245 245 245 grey96
+247 247 247 grey97
+250 250 250 grey98
+252 252 252 grey99
+240 255 240 honeydew
+240 255 240 honeydew1
+224 238 224 honeydew2
+193 205 193 honeydew3
+131 139 131 honeydew4
+255 105 180 hot pink
+101 46 46 indian red
+255 255 240 ivory
+255 255 240 ivory1
+238 238 224 ivory2
+205 205 193 ivory3
+139 139 131 ivory4
+189 167 107 khaki
+255 246 143 khaki1
+238 230 133 khaki2
+205 198 115 khaki3
+139 134 78 khaki4
+230 230 250 lavender
+255 240 245 lavender blush
+124 252 0 lawn green
+255 250 205 lemon chiffon
+171 197 255 light blue
+240 128 128 light coral
+224 255 255 light cyan
+238 221 130 light goldenrod
+250 250 210 light goldenrod yellow
+211 211 211 light gray
+144 238 144 light green
+211 211 211 light grey
+255 174 185 light pink
+255 160 122 light salmon
+ 32 178 170 light sea green
+176 226 255 light sky blue
+132 112 255 light slate blue
+119 136 153 light slate gray
+119 136 153 light slate grey
+52 152 202 light steel blue
+255 255 224 light yellow
+46 155 28 lime green
+250 240 230 linen
+255 0 211 magenta
+255 0 255 magenta1
+238 0 238 magenta2
+205 0 205 magenta3
+139 0 139 magenta4
+103 7 72 maroon
+255 52 179 maroon1
+238 48 167 maroon2
+205 41 144 maroon3
+139 28 98 maroon4
+21 135 118 medium aquamarine
+61 98 208 medium blue
+107 142 35 medium forest green
+184 134 11 medium goldenrod
+172 77 166 medium orchid
+255 125 179 medium pink
+147 112 219 medium purple
+27 134 86 medium sea green
+95 109 154 medium slate blue
+60 141 35 medium spring green
+62 172 181 medium turquoise
+199 21 133 medium violet red
+12 62 99 midnight blue
+245 255 250 mint cream
+255 228 225 misty rose
+255 228 181 moccasin
+255 222 173 navajo white
+0 0 142 navy
+0 0 142 navy blue
+238 221 130 old goldenrod
+253 245 230 old lace
+238 238 175 old medium goldenrod
+107 142 35 olive drab
+255 138 0 orange
+226 65 42 orange red
+255 165 0 orange1
+238 154 0 orange2
+205 133 0 orange3
+139 90 0 orange4
+218 107 212 orchid
+255 131 250 orchid1
+238 122 233 orchid2
+205 105 201 orchid3
+139 71 137 orchid4
+238 232 170 pale goldenrod
+152 255 152 pale green
+255 170 200 pale pink
+175 238 238 pale turquoise
+219 112 147 pale violet red
+255 239 213 papaya whip
+255 218 185 peach puff
+205 133 63 peru
+255 174 185 pink
+255 181 197 pink1
+238 169 184 pink2
+205 145 158 pink3
+139 99 108 pink4
+76 46 87 plum
+255 187 255 plum1
+238 174 238 plum2
+205 150 205 plum3
+139 102 139 plum4
+176 224 230 powder blue
+138 43 226 purple
+155 48 255 purple1
+145 44 238 purple2
+125 38 205 purple3
+ 85 26 139 purple4
+255 0 0 red
+255 0 0 red1
+238 0 0 red2
+205 0 0 red3
+139 0 0 red4
+188 143 143 rosy brown
+ 65 105 225 royal blue
+139 69 19 saddle brown
+248 109 104 salmon
+255 140 105 salmon1
+238 130 98 salmon2
+205 112 84 salmon3
+139 76 57 salmon4
+178 143 86 sandy brown
+43 167 112 sea green
+255 245 238 seashell
+255 245 238 seashell1
+238 229 222 seashell2
+205 197 191 seashell3
+139 134 130 seashell4
+142 107 35 sienna
+255 130 71 sienna1
+238 121 66 sienna2
+205 104 57 sienna3
+139 71 38 sienna4
+0 138 255 sky blue
+117 134 190 slate blue
+112 128 144 slate gray
+112 128 144 slate grey
+255 250 250 snow
+255 250 250 snow1
+238 233 233 snow2
+205 201 201 snow3
+139 137 137 snow4
+0 255 159 spring green
+55 121 153 steel blue
+176 155 125 tan
+255 165 79 tan1
+238 154 73 tan2
+205 133 63 tan3
+139 90 43 tan4
+146 62 112 thistle
+255 225 255 thistle1
+238 210 238 thistle2
+205 181 205 thistle3
+139 123 139 thistle4
+255 99 71 tomato
+255 99 71 tomato1
+238 92 66 tomato2
+205 79 57 tomato3
+139 54 38 tomato4
+72 209 204 turquoise
+ 0 245 255 turquoise1
+ 0 229 238 turquoise2
+ 0 197 205 turquoise3
+ 0 134 139 turquoise4
+148 0 211 violet
+255 0 148 violet red
+229 199 117 wheat
+255 231 186 wheat1
+238 216 174 wheat2
+205 186 150 wheat3
+139 126 102 wheat4
+255 255 255 white
+245 245 245 white smoke
+255 255 0 yellow
+75 211 0 yellow green
+255 255 0 yellow1
+238 238 0 yellow2
+205 205 0 yellow3
+139 139 0 yellow4
diff --git a/t/gimpsetup.pl b/t/gimpsetup.pl
index 1ee64a6..d3e63eb 100644
--- a/t/gimpsetup.pl
+++ b/t/gimpsetup.pl
@@ -30,10 +30,14 @@ write_plugin($DEBUG, $perlserver, $s);
map {
die "symlink $_: $!" unless symlink("$sysplugins/$_", "$myplugins/$_");
} qw(script-fu sharpen);
-die "output gimprc: $!"
- unless io("$dir/gimprc")->print("(plug-in-path \"$myplugins\")\n");
map { die "mkdir $dir/$_: $!" unless mkdir "$dir/$_"; }
qw(palettes gradients patterns brushes dynamics);
+my %files = (
+ 'tags.xml' => "<?xml version='1.0' encoding='UTF-8'?><tags></tags>\n",
+ 'gimprc' => "(plug-in-path \"$myplugins\")\n",
+);
+map { die "write $dir/$_: $!" unless io("$dir/$_")->print($files{$_}); }
+ keys %files;
$ENV{GIMP2_DIRECTORY} = $dir;
diff --git a/t/load.t b/t/load.t
index df66d91..2585796 100644
--- a/t/load.t
+++ b/t/load.t
@@ -1,7 +1,42 @@
-$|=1;
-print "1..2\n";
+use strict;
+use Test::More;
-use Gimp qw(:consts);
-print "ok 1\n";
+#BEGIN { $Gimp::verbose = 1; }
+BEGIN { use_ok('Gimp', qw(:auto canonicalise_color)); }
+require 't/gimpsetup.pl';
+#Gimp::set_trace(TRACE_ALL);
+Gimp::init("spawn/");
-print "ok 2\n" if SHARPEN_CONVOLVE;
+my %CONST_DATA = (
+ PDB_FLOAT => 3,
+ PDB_PATH => 19,
+ ABSOLUTE_CONVOL => 1,
+ PDB_PASS_THROUGH => 2,
+ GRADIENT_SPIRAL_ANTICLOCKWISE => 10,
+ HISTOGRAM_BLUE => 3,
+ STACK_TRACE_QUERY => 1,
+ DISSOLVE_MODE => 1,
+ UNIT_POINT => 3,
+ MAGENTA_HUES => 6,
+ RUN_INTERACTIVE => 0,
+ CLIP_TO_IMAGE => 1,
+ COMPRESSION_LZW => 1,
+ TRACE_ALL => 255,
+ ROTATE_90 => 0,
+ TRUE => 1,
+ BLACK => 2,
+ EXPORT_CAN_HANDLE_GRAY => 2,
+);
+
+{
+no strict 'refs';
+map { is(&{$_}, $CONST_DATA{$_}, "const $_ correct"); } sort keys %CONST_DATA;
+}
+
+is_deeply(
+ canonicalise_color('DarkRed'),
+ [ map {$_/255} 139, 0, 0, ],
+ "canonicalise_color"
+);
+
+done_testing;
diff --git a/t/perlplugin.t b/t/perlplugin.t
index f1e43a2..b8ff83b 100644
--- a/t/perlplugin.t
+++ b/t/perlplugin.t
@@ -1,8 +1,8 @@
use strict;
use Test::More;
#BEGIN { $Gimp::verbose = 1; }
-#Gimp::set_trace(TRACE_ALL);
use Gimp qw(:auto);
+#Gimp::set_trace(TRACE_ALL);
use Config;
our $dir;
@@ -98,6 +98,17 @@ sub boilerplate_params {
}
);
+®ister(
+ "test_dialogs",
+ boilerplate_params('filter', '<None>'),
+ [
+ [ PF_COLOR, "colour", "Image colour", [255, 127, 0], ],
+ [ PF_FONT, "font", "Font", 'Arial', ],
+ [ PF_INT, "size", "Size", 100],
+ ],
+ sub { }
+);
+
exit main;
EOF
@@ -111,7 +122,7 @@ ok(
ok(!$i->insert_layer($l0,0,0), 'insert layer');
ok(!$i->test_perl_filter(undef, 'value'), 'call filter'); # 1st param drawable
my ($tl) = $i->get_layers;
-is('value', $tl->get_name, 'layer name');
+is($tl->get_name, 'value', 'layer name');
is(Gimp::Plugin->test_return_text('text'), 'text', 'return text');
my $incolour = [6, 6, 6, 1];
is_deeply(
@@ -132,5 +143,8 @@ is_deeply(
[ [1, 2], [3, 4] ],
'return array'
);
+# if enable next line, brings up script dialog
+# color one works, font doesn't - speculate is due to being in "batch mode"
+#Gimp::Plugin->test_dialogs(RUN_INTERACTIVE, [0,0,0], "Arial", 150, );
done_testing;
diff --git a/t/run.t b/t/run.t
index 4305cff..a427029 100644
--- a/t/run.t
+++ b/t/run.t
@@ -1,8 +1,8 @@
use strict;
use Test::More tests => 15;
#BEGIN { $Gimp::verbose = 1; }
-#Gimp::set_trace(TRACE_ALL);
use Gimp qw(:auto);
+#Gimp::set_trace(TRACE_ALL);
our $dir;
our $DEBUG = 0;
@@ -16,7 +16,7 @@ ok(
'Different OO syntax for creating a layer',
);
ok(!Gimp->image_insert_layer($l,0,0), 'Yet another OO syntax');
-is("new layer", $l->get_name, 'layer name');
+is($l->get_name, "new layer", 'layer name');
ok(
!$l->paintbrush(50,[1,1,2,2,5,3,7,4,2,8],PAINT_CONSTANT,0),
'some painting with variable length arrays, default value',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]