From 73ace49c5a12b556e873252032d3117152d90a3f Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Sat, 4 Dec 2010 21:52:26 +0000 Subject: Fix colours svn path=/trunk/netsurf/; revision=10989 --- css/select.c | 306 +++++++++++++++++++++++++++++------------------------------ css/utils.h | 10 +- 2 files changed, 159 insertions(+), 157 deletions(-) diff --git a/css/select.c b/css/select.c index c859f37e3..835f14f53 100644 --- a/css/select.c +++ b/css/select.c @@ -383,7 +383,7 @@ bool nscss_parse_colour(const char *data, css_color *result) g |= (g << 4); b |= (b << 4); - *result = (r << 24) | (g << 16) | (b << 8); + *result = (0xff << 24) | (r << 16) | (g << 8) | b; return true; } else if (len == 6 && isHex(data[0]) && isHex(data[1]) && @@ -393,7 +393,7 @@ bool nscss_parse_colour(const char *data, css_color *result) g = (charToHex(data[2]) << 4) | charToHex(data[3]); b = (charToHex(data[4]) << 4) | charToHex(data[5]); - *result = (r << 24) | (g << 16) | (b << 8); + *result = (0xff << 24) | (r << 16) | (g << 8) | b; return true; } @@ -1956,7 +1956,7 @@ css_error node_presentational_hint(void *pw, void *node, css_error ua_default_for_property(void *pw, uint32_t property, css_hint *hint) { if (property == CSS_PROP_COLOR) { - hint->data.color = 0x00000000; + hint->data.color = 0xff000000; hint->status = CSS_COLOR_COLOR; } else if (property == CSS_PROP_FONT_FAMILY) { hint->data.strings = NULL; @@ -2027,156 +2027,156 @@ int cmp_colour_name(const void *a, const void *b) bool parse_named_colour(const char *name, css_color *result) { static const struct colour_map named_colours[] = { - { "aliceblue", 0xf0f8ff00 }, - { "antiquewhite", 0xfaebd700 }, - { "aqua", 0x00ffff00 }, - { "aquamarine", 0x7fffd400 }, - { "azure", 0xf0ffff00 }, - { "beige", 0xf5f5dc00 }, - { "bisque", 0xffe4c400 }, - { "black", 0x00000000 }, - { "blanchedalmond", 0xffebcd00 }, - { "blue", 0x0000ff00 }, - { "blueviolet", 0x8a2be200 }, - { "brown", 0xa52a2a00 }, - { "burlywood", 0xdeb88700 }, - { "cadetblue", 0x5f9ea000 }, - { "chartreuse", 0x7fff0000 }, - { "chocolate", 0xd2691e00 }, - { "coral", 0xff7f5000 }, - { "cornflowerblue", 0x6495ed00 }, - { "cornsilk", 0xfff8dc00 }, - { "crimson", 0xdc143c00 }, - { "cyan", 0x00ffff00 }, - { "darkblue", 0x00008b00 }, - { "darkcyan", 0x008b8b00 }, - { "darkgoldenrod", 0xb8860b00 }, - { "darkgray", 0xa9a9a900 }, - { "darkgreen", 0x00640000 }, - { "darkgrey", 0xa9a9a900 }, - { "darkkhaki", 0xbdb76b00 }, - { "darkmagenta", 0x8b008b00 }, - { "darkolivegreen", 0x556b2f00 }, - { "darkorange", 0xff8c0000 }, - { "darkorchid", 0x9932cc00 }, - { "darkred", 0x8b000000 }, - { "darksalmon", 0xe9967a00 }, - { "darkseagreen", 0x8fbc8f00 }, - { "darkslateblue", 0x483d8b00 }, - { "darkslategray", 0x2f4f4f00 }, - { "darkslategrey", 0x2f4f4f00 }, - { "darkturquoise", 0x00ced100 }, - { "darkviolet", 0x9400d300 }, - { "deeppink", 0xff149300 }, - { "deepskyblue", 0x00bfff00 }, - { "dimgray", 0x69696900 }, - { "dimgrey", 0x69696900 }, - { "dodgerblue", 0x1e90ff00 }, - { "feldspar", 0xd1927500 }, - { "firebrick", 0xb2222200 }, - { "floralwhite", 0xfffaf000 }, - { "forestgreen", 0x228b2200 }, - { "fuchsia", 0xff00ff00 }, - { "gainsboro", 0xdcdcdc00 }, - { "ghostwhite", 0xf8f8ff00 }, - { "gold", 0xffd70000 }, - { "goldenrod", 0xdaa52000 }, - { "gray", 0x80808000 }, - { "green", 0x00800000 }, - { "greenyellow", 0xadff2f00 }, - { "grey", 0x80808000 }, - { "honeydew", 0xf0fff000 }, - { "hotpink", 0xff69b400 }, - { "indianred", 0xcd5c5c00 }, - { "indigo", 0x4b008200 }, - { "ivory", 0xfffff000 }, - { "khaki", 0xf0e68c00 }, - { "lavender", 0xe6e6fa00 }, - { "lavenderblush", 0xfff0f500 }, - { "lawngreen", 0x7cfc0000 }, - { "lemonchiffon", 0xfffacd00 }, - { "lightblue", 0xadd8e600 }, - { "lightcoral", 0xf0808000 }, - { "lightcyan", 0xe0ffff00 }, - { "lightgoldenrodyellow", 0xfafad200 }, - { "lightgray", 0xd3d3d300 }, - { "lightgreen", 0x90ee9000 }, - { "lightgrey", 0xd3d3d300 }, - { "lightpink", 0xffb6c100 }, - { "lightsalmon", 0xffa07a00 }, - { "lightseagreen", 0x20b2aa00 }, - { "lightskyblue", 0x87cefa00 }, - { "lightslateblue", 0x8470ff00 }, - { "lightslategray", 0x77889900 }, - { "lightslategrey", 0x77889900 }, - { "lightsteelblue", 0xb0c4de00 }, - { "lightyellow", 0xffffe000 }, - { "lime", 0x00ff0000 }, - { "limegreen", 0x32cd3200 }, - { "linen", 0xfaf0e600 }, - { "magenta", 0xff00ff00 }, - { "maroon", 0x80000000 }, - { "mediumaquamarine", 0x66cdaa00 }, - { "mediumblue", 0x0000cd00 }, - { "mediumorchid", 0xba55d300 }, - { "mediumpurple", 0x9370db00 }, - { "mediumseagreen", 0x3cb37100 }, - { "mediumslateblue", 0x7b68ee00 }, - { "mediumspringgreen", 0x00fa9a00 }, - { "mediumturquoise", 0x48d1cc00 }, - { "mediumvioletred", 0xc7158500 }, - { "midnightblue", 0x19197000 }, - { "mintcream", 0xf5fffa00 }, - { "mistyrose", 0xffe4e100 }, - { "moccasin", 0xffe4b500 }, - { "navajowhite", 0xffdead00 }, - { "navy", 0x00008000 }, - { "oldlace", 0xfdf5e600 }, - { "olive", 0x80800000 }, - { "olivedrab", 0x6b8e2300 }, - { "orange", 0xffa50000 }, - { "orangered", 0xff450000 }, - { "orchid", 0xda70d600 }, - { "palegoldenrod", 0xeee8aa00 }, - { "palegreen", 0x98fb9800 }, - { "paleturquoise", 0xafeeee00 }, - { "palevioletred", 0xdb709300 }, - { "papayawhip", 0xffefd500 }, - { "peachpuff", 0xffdab900 }, - { "peru", 0xcd853f00 }, - { "pink", 0xffc0cb00 }, - { "plum", 0xdda0dd00 }, - { "powderblue", 0xb0e0e600 }, - { "purple", 0x80008000 }, - { "red", 0xff000000 }, - { "rosybrown", 0xbc8f8f00 }, - { "royalblue", 0x4169e100 }, - { "saddlebrown", 0x8b451300 }, - { "salmon", 0xfa807200 }, - { "sandybrown", 0xf4a46000 }, - { "seagreen", 0x2e8b5700 }, - { "seashell", 0xfff5ee00 }, - { "sienna", 0xa0522d00 }, - { "silver", 0xc0c0c000 }, - { "skyblue", 0x87ceeb00 }, - { "slateblue", 0x6a5acd00 }, - { "slategray", 0x70809000 }, - { "slategrey", 0x70809000 }, - { "snow", 0xfffafa00 }, - { "springgreen", 0x00ff7f00 }, - { "steelblue", 0x4682b400 }, - { "tan", 0xd2b48c00 }, - { "teal", 0x00808000 }, - { "thistle", 0xd8bfd800 }, - { "tomato", 0xff634700 }, - { "turquoise", 0x40e0d000 }, - { "violet", 0xee82ee00 }, - { "violetred", 0xd0209000 }, - { "wheat", 0xf5deb300 }, - { "white", 0xffffff00 }, - { "whitesmoke", 0xf5f5f500 }, - { "yellow", 0xffff0000 }, - { "yellowgreen", 0x9acd3200 } + { "aliceblue", 0xfff0f8ff }, + { "antiquewhite", 0xfffaebd7 }, + { "aqua", 0xff00ffff }, + { "aquamarine", 0xff7fffd4 }, + { "azure", 0xfff0ffff }, + { "beige", 0xfff5f5dc }, + { "bisque", 0xffffe4c4 }, + { "black", 0xff000000 }, + { "blanchedalmond", 0xffffebcd }, + { "blue", 0xff0000ff }, + { "blueviolet", 0xff8a2be2 }, + { "brown", 0xffa52a2a }, + { "burlywood", 0xffdeb887 }, + { "cadetblue", 0xff5f9ea0 }, + { "chartreuse", 0xff7fff00 }, + { "chocolate", 0xffd2691e }, + { "coral", 0xffff7f50 }, + { "cornflowerblue", 0xff6495ed }, + { "cornsilk", 0xfffff8dc }, + { "crimson", 0xffdc143c }, + { "cyan", 0xff00ffff }, + { "darkblue", 0xff00008b }, + { "darkcyan", 0xff008b8b }, + { "darkgoldenrod", 0xffb8860b }, + { "darkgray", 0xffa9a9a9 }, + { "darkgreen", 0xff006400 }, + { "darkgrey", 0xffa9a9a9 }, + { "darkkhaki", 0xffbdb76b }, + { "darkmagenta", 0xff8b008b }, + { "darkolivegreen", 0xff556b2f }, + { "darkorange", 0xffff8c00 }, + { "darkorchid", 0xff9932cc }, + { "darkred", 0xff8b0000 }, + { "darksalmon", 0xffe9967a }, + { "darkseagreen", 0xff8fbc8f }, + { "darkslateblue", 0xff483d8b }, + { "darkslategray", 0xff2f4f4f }, + { "darkslategrey", 0xff2f4f4f }, + { "darkturquoise", 0xff00ced1 }, + { "darkviolet", 0xff9400d3 }, + { "deeppink", 0xffff1493 }, + { "deepskyblue", 0xff00bfff }, + { "dimgray", 0xff696969 }, + { "dimgrey", 0xff696969 }, + { "dodgerblue", 0xff1e90ff }, + { "feldspar", 0xffd19275 }, + { "firebrick", 0xffb22222 }, + { "floralwhite", 0xfffffaf0 }, + { "forestgreen", 0xff228b22 }, + { "fuchsia", 0xffff00ff }, + { "gainsboro", 0xffdcdcdc }, + { "ghostwhite", 0xfff8f8ff }, + { "gold", 0xffffd700 }, + { "goldenrod", 0xffdaa520 }, + { "gray", 0xff808080 }, + { "green", 0xff008000 }, + { "greenyellow", 0xffadff2f }, + { "grey", 0xff808080 }, + { "honeydew", 0xfff0fff0 }, + { "hotpink", 0xffff69b4 }, + { "indianred", 0xffcd5c5c }, + { "indigo", 0xff4b0082 }, + { "ivory", 0xfffffff0 }, + { "khaki", 0xfff0e68c }, + { "lavender", 0xffe6e6fa }, + { "lavenderblush", 0xfffff0f5 }, + { "lawngreen", 0xff7cfc00 }, + { "lemonchiffon", 0xfffffacd }, + { "lightblue", 0xffadd8e6 }, + { "lightcoral", 0xfff08080 }, + { "lightcyan", 0xffe0ffff }, + { "lightgoldenrodyellow", 0xfffafad2 }, + { "lightgray", 0xffd3d3d3 }, + { "lightgreen", 0xff90ee90 }, + { "lightgrey", 0xffd3d3d3 }, + { "lightpink", 0xffffb6c1 }, + { "lightsalmon", 0xffffa07a }, + { "lightseagreen", 0xff20b2aa }, + { "lightskyblue", 0xff87cefa }, + { "lightslateblue", 0xff8470ff }, + { "lightslategray", 0xff778899 }, + { "lightslategrey", 0xff778899 }, + { "lightsteelblue", 0xffb0c4de }, + { "lightyellow", 0xffffffe0 }, + { "lime", 0xff00ff00 }, + { "limegreen", 0xff32cd32 }, + { "linen", 0xfffaf0e6 }, + { "magenta", 0xffff00ff }, + { "maroon", 0xff800000 }, + { "mediumaquamarine", 0xff66cdaa }, + { "mediumblue", 0xff0000cd }, + { "mediumorchid", 0xffba55d3 }, + { "mediumpurple", 0xff9370db }, + { "mediumseagreen", 0xff3cb371 }, + { "mediumslateblue", 0xff7b68ee }, + { "mediumspringgreen", 0xff00fa9a }, + { "mediumturquoise", 0xff48d1cc }, + { "mediumvioletred", 0xffc71585 }, + { "midnightblue", 0xff191970 }, + { "mintcream", 0xfff5fffa }, + { "mistyrose", 0xffffe4e1 }, + { "moccasin", 0xffffe4b5 }, + { "navajowhite", 0xffffdead }, + { "navy", 0xff000080 }, + { "oldlace", 0xfffdf5e6 }, + { "olive", 0xff808000 }, + { "olivedrab", 0xff6b8e23 }, + { "orange", 0xffffa500 }, + { "orangered", 0xffff4500 }, + { "orchid", 0xffda70d6 }, + { "palegoldenrod", 0xffeee8aa }, + { "palegreen", 0xff98fb98 }, + { "paleturquoise", 0xffafeeee }, + { "palevioletred", 0xffdb7093 }, + { "papayawhip", 0xffffefd5 }, + { "peachpuff", 0xffffdab9 }, + { "peru", 0xffcd853f }, + { "pink", 0xffffc0cb }, + { "plum", 0xffdda0dd }, + { "powderblue", 0xffb0e0e6 }, + { "purple", 0xff800080 }, + { "red", 0xffff0000 }, + { "rosybrown", 0xffbc8f8f }, + { "royalblue", 0xff4169e1 }, + { "saddlebrown", 0xff8b4513 }, + { "salmon", 0xfffa8072 }, + { "sandybrown", 0xfff4a460 }, + { "seagreen", 0xff2e8b57 }, + { "seashell", 0xfffff5ee }, + { "sienna", 0xffa0522d }, + { "silver", 0xffc0c0c0 }, + { "skyblue", 0xff87ceeb }, + { "slateblue", 0xff6a5acd }, + { "slategray", 0xff708090 }, + { "slategrey", 0xff708090 }, + { "snow", 0xfffffafa }, + { "springgreen", 0xff00ff7f }, + { "steelblue", 0xff4682b4 }, + { "tan", 0xffd2b48c }, + { "teal", 0xff008080 }, + { "thistle", 0xffd8bfd8 }, + { "tomato", 0xffff6347 }, + { "turquoise", 0xff40e0d0 }, + { "violet", 0xffee82ee }, + { "violetred", 0xffd02090 }, + { "wheat", 0xfff5deb3 }, + { "white", 0xffffffff }, + { "whitesmoke", 0xfff5f5f5 }, + { "yellow", 0xffffff00 }, + { "yellowgreen", 0xff9acd32 } }; const struct colour_map *entry; diff --git a/css/utils.h b/css/utils.h index 71da8a41a..11403b5da 100644 --- a/css/utils.h +++ b/css/utils.h @@ -28,14 +28,16 @@ extern css_fixed nscss_screen_dpi; /** * Convert a CSS color to a NetSurf colour primitive * + * ARGB -> (1-A)BGR + * * \param color The CSS color to convert * \return Corresponding NetSurf colour primitive */ #define nscss_color_to_ns(color) \ - (((color) & 0xff000000) >> 24) | \ - (((color) & 0xff0000) >> 8) | \ - (((color) & 0xff00) << 8) | \ - (((color) & 0xff) << 24) + (0xff000000 - ((color) & 0xff000000)) | \ + (((color) & 0xff0000) >> 16) | \ + ((color) & 0xff00) | \ + (((color) & 0xff) << 16) css_fixed nscss_len2pt(css_fixed length, css_unit unit); css_fixed nscss_len2px(css_fixed length, css_unit unit, -- cgit v1.2.3