summaryrefslogtreecommitdiff
path: root/css
diff options
context:
space:
mode:
Diffstat (limited to 'css')
-rw-r--r--css/select.c306
-rw-r--r--css/utils.h10
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,