fpvectorial: Add more named svg colors, speed up finding of named colors.

git-svn-id: trunk@50905 -
This commit is contained in:
wp 2015-12-18 16:37:57 +00:00
parent e9d1b1acd4
commit 12d7086128

View File

@ -503,327 +503,212 @@ begin
// Support for named colors
// List here: http://www.december.com/html/spec/colorsvghex.html
case lValue of
'black': Result := colBlack;
'navy': Result.Blue := $8080;
'darkblue':Result.Blue := $8B8B;
'mediumblue':Result.Blue := $CDCD;
'blue': Result := colBlue;
'darkgreen':Result.Green := $6464;
'green': Result.Green := $8080;
'teal':
begin
Result.Green := $8080;
Result.Blue := $8080;
end;
'darkcyan':
begin
Result.Green := $8B8B;
Result.Blue := $8B8B;
end;
'deepskyblue':
begin
Result.Green := $BFBF;
Result.Blue := $FFFF;
end;
'darkturquoise':
begin
Result.Green := $CECE;
Result.Blue := $D1D1;
end;
'mediumspringgreen':
begin
Result.Green := $FAFA;
Result.Blue := $9A9A;
end;
'lime': Result := colGreen;
'springgreen':
begin
Result.Green := $FFFF;
Result.Blue := $7F7F;
end;
'cyan': Result := colCyan;
'aqua': Result := colCyan;
'midnightblue':
begin
Result.Red := $1919;
Result.Green := $1919;
Result.Blue := $7070;
end;
'dodgerblue':
begin
Result.Red := $1E1E;
Result.Green := $9090;
Result.Blue := $FFFF;
end;
'lightseagreen':
begin
Result.Red := $2020;
Result.Green := $B2B2;
Result.Blue := $AAAA;
end;
'forestgreen':
begin
Result.Red := $2222;
Result.Green := $8B8B;
Result.Blue := $2222;
end;
'seagreen':
begin
Result.Red := $2E2E;
Result.Green := $8B8B;
Result.Blue := $5757;
end;
'darkslategray', 'darkslategrey':
begin
Result.Red := $2F2F;
Result.Green := $4F4F;
Result.Blue := $4F4F;
end;
'limegreen':
begin
Result.Red := $3232;
Result.Green := $CDCD;
Result.Blue := $3232;
end;
'mediumseagreen':
begin
Result.Red := $3C3C;
Result.Green := $CBCB;
Result.Blue := $7171;
end;
'turquoise':
begin
Result.Red := $4040;
Result.Green := $E0E0;
Result.Blue := $D0D0;
end;
'royalblue':
begin
Result.Red := $4141;
Result.Green := $6969;
Result.Blue := $E1E1;
end;
'steelblue':
begin
Result.Red := $4646;
Result.Green := $8282;
Result.Blue := $B4B4;
end;
'darkslateblue':
begin
Result.Red := $4848;
Result.Green := $3D3D;
Result.Blue := $8B8B;
end;
'mediumturquoise':
begin
Result.Red := $4848;
Result.Green := $D1D1;
Result.Blue := $CCCC;
end;
{
indigo #4B0082
darkolivegreen #556B2F cadetblue #5F9EA0
cornflowerblue #6495ED
mediumaquamarine #66CDAA dimgrey #696969
dimgray #696969
slateblue #6A5ACD olivedrab #6B8E23
slategrey #708090
slategray #708090 lightslategray(Hex3) #778899
lightslategrey(Hex3) #778899
mediumslateblue #7B68EE lawngreen #7CFC00
chartreuse #7FFF00
}
'aquamarine':
begin
Result.Red := $7F7F;
Result.Green := $FFFF;
Result.Blue := $D4D4;
end;
'maroon': Result.Red := $8080;
'purple': Result := colPurple;
'olive': Result := colOlive;
'gray', 'grey': Result := colGray;
'skyblue':
begin
Result.Red := $8787;
Result.Green := $CECE;
Result.Blue := $EBEB;
end;
'lightskyblue':
begin
Result.Red := $8787;
Result.Green := $CECE;
Result.Blue := $FAFA;
end;
'blueviolet':
begin
Result.Red := $8A8A;
Result.Green := $2B2B;
Result.Blue := $E2E2;
end;
'darkred': Result.Red := $8B8B;
'darkmagenta':
begin
Result.Red := $8B8B;
Result.Blue := $8B8B;
end;
{
saddlebrown #8B4513
darkseagreen #8FBC8F lightgreen #90EE90
mediumpurple #9370DB
darkviolet #9400D3 palegreen #98FB98
darkorchid #9932CC
yellowgreen #9ACD32 sienna #A0522D
brown #A52A2A
darkgray #A9A9A9 darkgrey #A9A9A9
lightblue #ADD8E6
greenyellow #ADFF2F paleturquoise #AFEEEE
lightsteelblue #B0C4DE
powderblue #B0E0E6 firebrick #B22222
darkgoldenrod #B8860B
mediumorchid #BA55D3 rosybrown #BC8F8F
darkkhaki #BDB76B
}
'silver': Result := colSilver;
'mediumvioletred':
begin
Result.Red := $C7C7;
Result.Green := $1515;
Result.Blue := $8585;
end;
'indianred':
begin
Result.Red := $CDCD;
Result.Green := $5C5C;
Result.Blue := $5C5C;
end;
'peru':
begin
Result.Red := $CDCD;
Result.Green := $8585;
Result.Blue := $3F3F;
end;
'chocolate':
begin
Result.Red := $D2D2;
Result.Green := $6969;
Result.Blue := $1E1E;
end;
{
tan #D2B48C
lightgray #D3D3D3 lightgrey #D3D3D3
thistle #D8BFD8
orchid #DA70D6 goldenrod #DAA520
palevioletred #DB7093
crimson #DC143C gainsboro #DCDCDC
plum #DDA0DD
burlywood #DEB887 lightcyan #E0FFFF
lavender #E6E6FA
}
'darksalmon':
begin
Result.Red := $E9E9;
Result.Green := $9696;
Result.Blue := $7A7A;
end;
'violet':
begin
Result.Red := $EEEE;
Result.Green := $8282;
Result.Blue := $EEEE;
end;
'palegoldenrod':
begin
Result.Red := $EEEE;
Result.Green := $E8E8;
Result.Blue := $AAAA;
end;
'lightcoral':
begin
Result.Red := $F0F0;
Result.Green := $8080;
Result.Blue := $8080;
end;
'khaki':
begin
Result.Red := $F0F0;
Result.Green := $E6E6;
Result.Blue := $8C8C;
end;
'aliceblue':
begin
Result.Red := $F0F0;
Result.Green := $F8F8;
Result.Blue := $FFFF;
end;
'honeydew':
begin
Result.Red := $F0F0;
Result.Green := $FFFF;
Result.Blue := $F0F0;
end;
'azure':
begin
Result.Red := $F0F0;
Result.Green := $FFFF;
Result.Blue := $FFFF;
end;
'sandybrown':
begin
Result.Red := $F4F4;
Result.Green := $A4A4;
Result.Blue := $6060;
end;
{
wheat #F5DEB3 beige #F5F5DC
whitesmoke #F5F5F5
mintcream #F5FFFA ghostwhite #F8F8FF
salmon #FA8072
antiquewhite #FAEBD7 linen #FAF0E6
lightgoldenrodyellow #FAFAD2
oldlace #FDF5E6
}
'red': Result := colRed;
'fuchsia': Result := colFuchsia;
'magenta': Result := colMagenta;
{ deeppink #FF1493
orangered #FF4500
tomato #FF6347 hotpink #FF69B4
coral #FF7F50
darkorange #FF8C00 lightsalmon #FFA07A
orange #FFA500
lightpink #FFB6C1 pink #FFC0CB
gold #FFD700
peachpuff #FFDAB9 navajowhite #FFDEAD
moccasin #FFE4B5
bisque #FFE4C4 mistyrose #FFE4E1
blanchedalmond #FFEBCD
papayawhip #FFEFD5 lavenderblush #FFF0F5
seashell #FFF5EE
cornsilk #FFF8DC lemonchiffon #FFFACD
floralwhite #FFFAF0
}
'snow':
begin
Result.Red := $FFFF;
Result.Green := $FAFA;
Result.Blue := $FAFA;
end;
'yellow': Result := colYellow;
'lightyellow':
begin
Result.Red := $FFFF;
Result.Green := $FEFE;
end;
'ivory':
begin
Result.Red := $FFFF;
Result.Green := $FFFF;
Result.Blue := $F0F0;
end;
'white': Result := colWhite;
case lValue[1] of
'a': case lValue of
'aliceblue' : Result := FPColor($F0F0, $F8F8, $FFFF);
'antiquewhite' : Result := FPColor($FAFA, $EBEB, $D7D7);
'aqua' : Result := colCyan;
'aquamarine' : Result := FPColor($7F7F, $FFFF, $D4D4);
'azure' : Result := FPColor($F0F0, $FFFF, $FFFF);
end;
'b': case lValue of
'beige' : Result := FPColor($F5F5, $F5F5, $DCDC);
'bisque' : Result := FPColor($FFFF, $E4E4, $C4C4);
'black' : Result := colBlack;
'blanchedalmond' : Result := FPColor($FFFF, $EBEB, $CDCD);
'blue' : Result := colBlue;
'blueviolet' : Result := FPColor($8A8A, $2B2B, $E2E2);
'brown' : Result := FPColor($A5A5, $2A2A, $2A2A);
'burlywood' : Result := FPColor($DEDE, $B8B8, $8787);
end;
'c': case lValue of
'cadetblue' : Result := FPColor($5F5F, $9E9E, $A0A0);
'chartreuse' : Result := FPColor($7F7F, $FFFF, $0000);
'chocolate' : Result := FPColor($D2D2, $6969, $1E1E);
'coral' : Result := FPColor($FFFF, $7F7F, $5050);
'cornflowerblue' : Result := FPColor($6464, $9595, $EDED);
'cornsilk' : Result := FPColor($FFFF, $F8F8, $DCDC);
'crimson' : Result := FPColor($DCDC, $1414, $3C3C);
'cyan' : Result := colCyan;
end;
'd': case lValue of
'darkblue' : Result.Blue := $8B8B;
'darkcyan' : Result := FPColor($0000, $8B8B, $8B8B);
'darkgoldenrod' : Result := FPColor($B8B8, $8686, $0B0B);
'darkgray',
'darkgrey' : Result := FPColor($A9A9, $A9A9, $A9A9);
'darkgreen' : Result.Green := $6464;
'darkkhaki' : Result := FPColor($BDBD, $B7B7, $6B6B);
'darkmagenta' : Result := FPColor($8B8B, $0000, $8B8B);
'darkolivegreen' : Result := FPColor($5555, $6B6B, $2F2F);
'darkorange' : Result := FPColor($FFFF, $8C8C, $0000);
'darkorchid' : Result := FPColor($9999, $3232, $CCCC);
'darkred' : Result.Red := $8B8B;
'darksalmon' : Result := FPColor($E9E9, $9696, $7A7A);
'darkseagreen' : Result := FPColor($8F8F, $BCBC, $8F8F);
'darkslateblue' : Result := FPColor($4848, $3D3D, $8B8B);
'darkslategray',
'darkslategrey' : Result := FPColor($2F2F, $4F4F, $4F4F);
'darkturquoise' : Result := FPColor($0000, $CECE, $D1D1);
'darkviolet' : Result := FPColor($9494, $0000, $D3D3);
'deeppink' : Result := FPColor($FFFF, $1414, $9393);
'deepskyblue' : Result := FPColor($0000, $BFBF, $FFFF);
'dimgray',
'dimgrey' : Result := FPColor($6969, $6969, $6969);
'dodgerblue' : Result := FPColor($1E1E, $9090, $FFFF);
end;
'f': case lValue of
'firebrick' : Result := FPColor($B2B2, $2222, $2222);
'floralwhite' : Result := FPColor($FFFF, $FAFA, $F0F0);
'forestgreen' : Result := FPColor($2222, $8B8B, $2222);
'fuchsia' : Result := colFuchsia;
end;
'g': case lValue of
'gainsboro' : Result := FPColor($DCDC, $DCDC, $DCDC);
'ghostwhite' : Result := FPColor($F8F8, $F8F8, $FFFF);
'gold' : Result := FPColor($FFFF, $D7D7, $0000);
'goldenrod' : Result := FPColor($DADA, $A5A5, $2020);
'gray', 'grey' : Result := colGray;
'green' : Result.Green := $8080;
'greenyellow' : Result := FPColor($ADAD, $FFFF, $2F2F);
end;
'h': case lValue of
'honeydew' : Result := FPColor($F0F0, $FFFF, $F0F0);
'hotpink' : Result := FPColor($FFFF, $6969, $B4B4);
end;
'i': case lValue of
'indianred' : Result := FPColor($CDCD, $5C5C, $5C5C);
'indigo' : Result := FPColor($4B4B, $0000, $8282);
'ivory' : Result := FPColor($FFFF, $FFFF, $F0F0);
end;
'k': case lValue of
'khaki' : Result := FPColor($F0F0, $E6E6, $8C8C);
end;
'l': case lValue of
'lavender' : Result := FPColor($E6E6, $E6E6, $FAFA);
'lavenderblush' : Result := FPColor($FFFF, $F0F0, $F5F5);
'lawngreen' : Result := FPColor($7C7C, $FCFE, $0000);
'lemonchiffon' : Result := FPColor($FFFF, $FAFA, $CDCD);
'lightblue' : Result := FPColor($ADAD, $D8D8, $E6E6);
'lightcoral' : Result := FPColor($F0F0, $8080, $8080);
'lightcyan' : Result := FPColor($E0E0, $FFFF, $FFFF);
'lightgoldenrodyellow': Result := FPColor($FAFA, $FAFA, $D2D2);
'lightgray',
'lightgrey' : Result := FPColor($D3D3, $D3D3, $D3D3);
'lightgreen' : Result := FPColor($9090, $EEEE, $9090);
'lightpink' : Result := FPColor($FFFF, $B6B6, $C1C1);
'lightsalmon' : Result := FPColor($FFFF, $A0A0, $7A7A);
'lightseagreen' : Result := FPColor($2020, $B2B2, $AAAA);
'lightskyblue' : Result := FPColor($8787, $CECE, $FAFA);
'lightslategray',
'lightslategrey' : Result := FPColor($7777, $8888, $9999);
'lightsteelblue' : Result := FPColor($B0B0, $C4C4, $DEDE);
'lightyellow' : Result := FPColor($FFFF, $FEFE, $0000);
'lime' : Result := colGreen;
'limegreen' : Result := FPColor($3232, $CDCD, $3232);
'linen' : Result := FPColor($FAFA, $F0F0, $E6E6);
end;
'm': case lValue of
'magenta' : Result := colMagenta;
'maroon' : Result.Red := $8080;
'mediumaquamarine' : Result := FPColor($6666, $CDCD, $AAAA);
'mediumblue' : Result.Blue := $CDCD;
'mediumorchid' : Result := FPColor($BABA, $5555, $D3D3);
'mediumpurple' : Result := FPColor($9393, $7070, $DBDB);
'mediumseagreen' : Result := FPColor($3C3C, $CBCB, $7171);
'mediumslateblue' : Result := FPColor($7B7B, $6868, $EEEE);
'mediumspringgreen' : Result := FPColor($0000, $FAFA, $9A9A);
'mediumturquoise' : Result := FPColor($4848, $D1D1, $CCCC);
'mediumvioletred' : Result := FPColor($C7C7, $1515, $8585);
'midnightblue' : Result := FPColor($1919, $1919, $7070);
'mintcream' : Result := FPColor($F5F5, $FFFF, $FAFA);
'mistyrose' : Result := FPColor($FFFF, $E4E4, $E1E1);
'moccasin' : Result := FPColor($FFFF, $E4E4, $B5B5);
end;
'n': case lValue of
'navajowhite' : Result := FPColor($FFFF, $DEDE, $ADAD);
'navy' : Result.Blue := $8080;
end;
'o': case lValue of
'oldlace' : Result := FPColor($FDFD, $F5F5, $E6E6);
'olive' : Result := colOlive;
'olivedrab' : Result := FPColor($6B6B, $8E8E, $2323);
'orange' : Result := FPColor($FFFF, $A5A5, $0000);
'orangered' : Result := FPColor($FFFF, $4545, $0000);
'orchid' : Result := FPColor($DADA, $7070, $D6D6);
end;
'p': case lValue of
'palegreen' : Result := FPColor($9898, $FBFB, $9898);
'palegoldenrod' : Result := FPColor($EEEE, $E8E8, $AAAA);
'paleturquoise' : Result := FPColor($AFAF, $EEEE, $EEEE);
'palevioletred' : Result := FPColor($DBDB, $7070, $9393);
'papayawhip' : Result := FPColor($FFFF, $EFEF, $D5D5);
'peachpuff' : Result := FPColor($FFFF, $DADA, $B9B9);
'peru' : Result := FPColor($CDCD, $8585, $3F3F);
'pink' : Result := FPColor($FFFF, $C0C0, $CBCB);
'plum' : Result := FPColor($DDDD, $A0A0, $DDDD);
'powderblue' : Result := FPColor($B0B0, $E0E0, $E6E6);
'purple' : Result := colPurple;
end;
'r': case lValue of
'red' : Result := colRed;
'rosybrown' : Result := FPColor($BCBC, $8F8F, $8F8F);
'royalblue' : Result := FPColor($4141, $6969, $E1E1);
end;
's': case lValue of
'saddlebrown' : Result := FPColor($8B8B, $4545, $1313);
'salmon' : Result := FPColor($FAFA, $8080, $7272);
'sandybrown' : Result := FPColor($F4F4, $A4A4, $6060);
'seagreen' : Result := FPColor($2E2E, $8B8B, $5757);
'seashell' : Result := FPColor($FFFF, $F5F5, $EEEE);
'sienna' : Result := FPColor($A0A0, $5252, $2D2D);
'silver' : Result := colSilver;
'skyblue' : Result := FPColor($8787, $CECE, $EBEB);
'slateblue' : Result := FPCOlor($6A6A, $5A5A, $CDCD);
'slategray',
'slategrey' : Result := FPColor($7070, $8080, $9090);
'snow' : Result := FPColor($FFFF, $FAFA, $FAFA);
'springgreen' : Result := FPColor($0000, $FFFF, $7F7F);
'steelblue' : Result := FPColor($4646, $8282, $B4B4);
end;
't': case lValue of
'tan' : Result := FPColor($D2D2, $B4B4, $8C8C);
'teal' : Result := FPColor($0000, $8080, $8080);
'thistle' : Result := FPColor($D8D8, $BFBF, $D8D8);
'tomato' : Result := FPColor($FFFF, $6363, $4747);
'turquoise' : Result := FPColor($4040, $E0E0, $D0D0);
end;
'v': case lValue of
'violet' : Result := FPColor($EEEE, $8282, $EEEE);
end;
'w': case lValue of
'wheat' : Result := FPColor($F5F5, $DEDE, $B3B3);
'white' : Result := colWhite;
'whitesmoke' : Result := FPColor($F5F5, $F5F5, $F5F5);
end;
'y': case lValue of
'yellow' : Result := colYellow;
'yellowgreen' : Result := FPColor($9A9A, $CDCD, $3232);
end;
end;
end;