diff options
| author | Alex Valavanis <valavanisalex@gmail.com> | 2013-11-03 11:09:59 +0000 |
|---|---|---|
| committer | Alex Valavanis <valavanisalex@gmail.com> | 2013-11-03 11:09:59 +0000 |
| commit | 0007f22d04863ecad0d4ada063dfa28f553e3fa0 (patch) | |
| tree | 1bb16cbae8cc6cc34992cbcac6d88fb8d9ecc42d /src | |
| parent | Merge upstream libcroco 0.6.3 changes (diff) | |
| download | inkscape-0007f22d04863ecad0d4ada063dfa28f553e3fa0.tar.gz inkscape-0007f22d04863ecad0d4ada063dfa28f553e3fa0.zip | |
libcroco: Merge upstream 0.6.4 changes
(bzr r12766)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libcroco/cr-rgb.c | 330 | ||||
| -rw-r--r-- | src/libcroco/cr-sel-eng.h | 2 |
2 files changed, 171 insertions, 161 deletions
diff --git a/src/libcroco/cr-rgb.c b/src/libcroco/cr-rgb.c index 1a16a2826..a9489e04c 100644 --- a/src/libcroco/cr-rgb.c +++ b/src/libcroco/cr-rgb.c @@ -21,162 +21,164 @@ * See COPYRIGHTS file for copyrights information. */ +#include "config.h" #include <stdio.h> #include <string.h> +#include <stdlib.h> #include "cr-rgb.h" #include "cr-term.h" #include "cr-parser.h" -static CRRgb gv_standard_colors[] = { - {"aliceblue", 240, 248, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"antiquewhite", 250, 235, 215, FALSE, FALSE, FALSE, {0,0,0}}, - {"aqua", 0, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"aquamarine", 127, 255, 212, FALSE, FALSE, FALSE, {0,0,0}}, - {"azure", 240, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"beige", 245, 245, 220, FALSE, FALSE, FALSE, {0,0,0}}, - {"bisque", 255, 228, 196, FALSE, FALSE, FALSE, {0,0,0}}, - {"black", 0, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"blanchedalmond", 255, 235, 205, FALSE, FALSE, FALSE, {0,0,0}}, - {"blue", 0, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"blueviolet", 138, 43, 226, FALSE, FALSE, FALSE, {0,0,0}}, - {"brown", 165, 42, 42, FALSE, FALSE, FALSE, {0,0,0}}, - {"burlywood", 222, 184, 135, FALSE, FALSE, FALSE, {0,0,0}}, - {"cadetblue", 95, 158, 160, FALSE, FALSE, FALSE, {0,0,0}}, - {"chartreuse", 127, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"chocolate", 210, 105, 30, FALSE, FALSE, FALSE, {0,0,0}}, - {"coral", 255, 127, 80, FALSE, FALSE, FALSE, {0,0,0}}, - {"cornflowerblue", 100, 149, 237, FALSE, FALSE, FALSE, {0,0,0}}, - {"cornsilk", 255, 248, 220, FALSE, FALSE, FALSE, {0,0,0}}, - {"crimson", 220, 20, 60, FALSE, FALSE, FALSE, {0,0,0}}, - {"cyan", 0, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkblue", 0, 0, 139, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkcyan", 0, 139, 139, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkgoldenrod", 184, 134, 11, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkgray", 169, 169, 169, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkgreen", 0, 100, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkgrey", 169, 169, 169, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkkhaki", 189, 183, 107, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkmagenta", 139, 0, 139, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkolivegreen", 85, 107, 47, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkorange", 255, 140, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkorchid", 153, 50, 204, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkred", 139, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"darksalmon", 233, 150, 122, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkseagreen", 143, 188, 143, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkslateblue", 72, 61, 139, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkslategray", 47, 79, 79, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkslategrey", 47, 79, 79, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkturquoise", 0, 206, 209, FALSE, FALSE, FALSE, {0,0,0}}, - {"darkviolet", 148, 0, 211, FALSE, FALSE, FALSE, {0,0,0}}, - {"deeppink", 255, 20, 147, FALSE, FALSE, FALSE, {0,0,0}}, - {"deepskyblue", 0, 191, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"dimgray", 105, 105, 105, FALSE, FALSE, FALSE, {0,0,0}}, - {"dimgrey", 105, 105, 105, FALSE, FALSE, FALSE, {0,0,0}}, - {"dodgerblue", 30, 144, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"firebrick", 178, 34, 34, FALSE, FALSE, FALSE, {0,0,0}}, - {"floralwhite", 255, 250, 240, FALSE, FALSE, FALSE, {0,0,0}}, - {"forestgreen", 34, 139, 34, FALSE, FALSE, FALSE, {0,0,0}}, - {"fuchsia", 255, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"gainsboro", 220, 220, 220, FALSE, FALSE, FALSE, {0,0,0}}, - {"ghostwhite", 248, 248, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"gold", 255, 215, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"goldenrod", 218, 165, 32, FALSE, FALSE, FALSE, {0,0,0}}, - {"gray", 128, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, - {"grey", 128, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, - {"green", 0, 128, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"greenyellow", 173, 255, 47, FALSE, FALSE, FALSE, {0,0,0}}, - {"honeydew", 240, 255, 240, FALSE, FALSE, FALSE, {0,0,0}}, - {"hotpink", 255, 105, 180, FALSE, FALSE, FALSE, {0,0,0}}, - {"indianred", 205, 92, 92, FALSE, FALSE, FALSE, {0,0,0}}, - {"indigo", 75, 0, 130, FALSE, FALSE, FALSE, {0,0,0}}, - {"ivory", 255, 255, 240, FALSE, FALSE, FALSE, {0,0,0}}, - {"khaki", 240, 230, 140, FALSE, FALSE, FALSE, {0,0,0}}, - {"lavender", 230, 230, 250, FALSE, FALSE, FALSE, {0,0,0}}, - {"lavenderblush", 255, 240, 245, FALSE, FALSE, FALSE, {0,0,0}}, - {"lawngreen", 124, 252, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"lemonchiffon", 255, 250, 205, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightblue", 173, 216, 230, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightcoral", 240, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightcyan", 224, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightgoldenrodyellow", 250, 250, 210, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightgray", 211, 211, 211, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightgreen", 144, 238, 144, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightgrey", 211, 211, 211, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightpink", 255, 182, 193, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightsalmon", 255, 160, 122, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightseagreen", 32, 178, 170, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightskyblue", 135, 206, 250, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightslategray", 119, 136, 153, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightslategrey", 119, 136, 153, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightsteelblue", 176, 196, 222, FALSE, FALSE, FALSE, {0,0,0}}, - {"lightyellow", 255, 255, 224, FALSE, FALSE, FALSE, {0,0,0}}, - {"lime", 0, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"limegreen", 50, 205, 50, FALSE, FALSE, FALSE, {0,0,0}}, - {"linen", 250, 240, 230, FALSE, FALSE, FALSE, {0,0,0}}, - {"magenta", 255, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"maroon", 128, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumaquamarine", 102, 205, 170, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumblue", 0, 0, 205, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumorchid", 186, 85, 211, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumpurple", 147, 112, 219, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumseagreen", 60, 179, 113, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumslateblue", 123, 104, 238, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumspringgreen", 0, 250, 154, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumturquoise", 72, 209, 204, FALSE, FALSE, FALSE, {0,0,0}}, - {"mediumvioletred", 199, 21, 133, FALSE, FALSE, FALSE, {0,0,0}}, - {"midnightblue", 25, 25, 112, FALSE, FALSE, FALSE, {0,0,0}}, - {"mintcream", 245, 255, 250, FALSE, FALSE, FALSE, {0,0,0}}, - {"mistyrose", 255, 228, 225, FALSE, FALSE, FALSE, {0,0,0}}, - {"moccasin", 255, 228, 181, FALSE, FALSE, FALSE, {0,0,0}}, - {"navajowhite", 255, 222, 173, FALSE, FALSE, FALSE, {0,0,0}}, - {"navy", 0, 0, 128, FALSE, FALSE, FALSE, {0,0,0}}, - {"oldlace", 253, 245, 230, FALSE, FALSE, FALSE, {0,0,0}}, - {"olive", 128, 128, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"olivedrab", 107, 142, 35, FALSE, FALSE, FALSE, {0,0,0}}, - {"orange", 255, 165, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"orangered", 255, 69, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"orchid", 218, 112, 214, FALSE, FALSE, FALSE, {0,0,0}}, - {"palegoldenrod", 238, 232, 170, FALSE, FALSE, FALSE, {0,0,0}}, - {"palegreen", 152, 251, 152, FALSE, FALSE, FALSE, {0,0,0}}, - {"paleturquoise", 175, 238, 238, FALSE, FALSE, FALSE, {0,0,0}}, - {"palevioletred", 219, 112, 147, FALSE, FALSE, FALSE, {0,0,0}}, - {"papayawhip", 255, 239, 213, FALSE, FALSE, FALSE, {0,0,0}}, - {"peachpuff", 255, 218, 185, FALSE, FALSE, FALSE, {0,0,0}}, - {"peru", 205, 133, 63, FALSE, FALSE, FALSE, {0,0,0}}, - {"pink", 255, 192, 203, FALSE, FALSE, FALSE, {0,0,0}}, - {"plum", 221, 160, 221, FALSE, FALSE, FALSE, {0,0,0}}, - {"powderblue", 176, 224, 230, FALSE, FALSE, FALSE, {0,0,0}}, - {"purple", 128, 0, 128, FALSE, FALSE, FALSE, {0,0,0}}, - {"red", 255, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"rosybrown", 188, 143, 143, FALSE, FALSE, FALSE, {0,0,0}}, - {"royalblue", 65, 105, 225, FALSE, FALSE, FALSE, {0,0,0}}, - {"saddlebrown", 139, 69, 19, FALSE, FALSE, FALSE, {0,0,0}}, - {"salmon", 250, 128, 114, FALSE, FALSE, FALSE, {0,0,0}}, - {"sandybrown", 244, 164, 96, FALSE, FALSE, FALSE, {0,0,0}}, - {"seagreen", 46, 139, 87, FALSE, FALSE, FALSE, {0,0,0}}, - {"seashell", 255, 245, 238, FALSE, FALSE, FALSE, {0,0,0}}, - {"sienna", 160, 82, 45, FALSE, FALSE, FALSE, {0,0,0}}, - {"silver", 192, 192, 192, FALSE, FALSE, FALSE, {0,0,0}}, - {"skyblue", 135, 206, 235, FALSE, FALSE, FALSE, {0,0,0}}, - {"slateblue", 106, 90, 205, FALSE, FALSE, FALSE, {0,0,0}}, - {"slategray", 112, 128, 144, FALSE, FALSE, FALSE, {0,0,0}}, - {"slategrey", 112, 128, 144, FALSE, FALSE, FALSE, {0,0,0}}, - {"snow", 255, 250, 250, FALSE, FALSE, FALSE, {0,0,0}}, - {"springgreen", 0, 255, 127, FALSE, FALSE, FALSE, {0,0,0}}, - {"steelblue", 70, 130, 180, FALSE, FALSE, FALSE, {0,0,0}}, - {"tan", 210, 180, 140, FALSE, FALSE, FALSE, {0,0,0}}, - {"teal", 0, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, - {"thistle", 216, 191, 216, FALSE, FALSE, FALSE, {0,0,0}}, - {"tomato", 255, 99, 71, FALSE, FALSE, FALSE, {0,0,0}}, - {"turquoise", 64, 224, 208, FALSE, FALSE, FALSE, {0,0,0}}, - {"violet", 238, 130, 238, FALSE, FALSE, FALSE, {0,0,0}}, - {"wheat", 245, 222, 179, FALSE, FALSE, FALSE, {0,0,0}}, - {"white", 255, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, - {"whitesmoke", 245, 245, 245, FALSE, FALSE, FALSE, {0,0,0}}, - {"yellow", 255, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, - {"yellowgreen", 154, 205, 50, FALSE, FALSE, FALSE, {0,0,0}}, - {"transparent", 255, 255, 255, FALSE, FALSE, TRUE, {0,0,0}} +tatic const CRRgb gv_standard_colors[] = { + {(const guchar*)"aliceblue", 240, 248, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"antiquewhite", 250, 235, 215, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"aqua", 0, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"aquamarine", 127, 255, 212, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"azure", 240, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"beige", 245, 245, 220, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"bisque", 255, 228, 196, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"black", 0, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"blanchedalmond", 255, 235, 205, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"blue", 0, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"blueviolet", 138, 43, 226, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"brown", 165, 42, 42, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"burlywood", 222, 184, 135, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"cadetblue", 95, 158, 160, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"chartreuse", 127, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"chocolate", 210, 105, 30, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"coral", 255, 127, 80, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"cornflowerblue", 100, 149, 237, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"cornsilk", 255, 248, 220, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"crimson", 220, 20, 60, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"cyan", 0, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkblue", 0, 0, 139, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkcyan", 0, 139, 139, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkgoldenrod", 184, 134, 11, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkgray", 169, 169, 169, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkgreen", 0, 100, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkgrey", 169, 169, 169, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkkhaki", 189, 183, 107, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkmagenta", 139, 0, 139, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkolivegreen", 85, 107, 47, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkorange", 255, 140, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkorchid", 153, 50, 204, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkred", 139, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darksalmon", 233, 150, 122, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkseagreen", 143, 188, 143, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkslateblue", 72, 61, 139, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkslategray", 47, 79, 79, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkslategrey", 47, 79, 79, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkturquoise", 0, 206, 209, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"darkviolet", 148, 0, 211, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"deeppink", 255, 20, 147, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"deepskyblue", 0, 191, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"dimgray", 105, 105, 105, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"dimgrey", 105, 105, 105, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"dodgerblue", 30, 144, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"firebrick", 178, 34, 34, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"floralwhite", 255, 250, 240, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"forestgreen", 34, 139, 34, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"fuchsia", 255, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"gainsboro", 220, 220, 220, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"ghostwhite", 248, 248, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"gold", 255, 215, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"goldenrod", 218, 165, 32, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"gray", 128, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"green", 0, 128, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"greenyellow", 173, 255, 47, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"grey", 128, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"honeydew", 240, 255, 240, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"hotpink", 255, 105, 180, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"indianred", 205, 92, 92, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"indigo", 75, 0, 130, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"ivory", 255, 255, 240, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"khaki", 240, 230, 140, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lavender", 230, 230, 250, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lavenderblush", 255, 240, 245, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lawngreen", 124, 252, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lemonchiffon", 255, 250, 205, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightblue", 173, 216, 230, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightcoral", 240, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightcyan", 224, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightgoldenrodyellow", 250, 250, 210, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightgray", 211, 211, 211, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightgreen", 144, 238, 144, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightgrey", 211, 211, 211, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightpink", 255, 182, 193, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightsalmon", 255, 160, 122, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightseagreen", 32, 178, 170, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightskyblue", 135, 206, 250, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightslategray", 119, 136, 153, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightslategrey", 119, 136, 153, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightsteelblue", 176, 196, 222, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lightyellow", 255, 255, 224, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"lime", 0, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"limegreen", 50, 205, 50, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"linen", 250, 240, 230, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"magenta", 255, 0, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"maroon", 128, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumaquamarine", 102, 205, 170, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumblue", 0, 0, 205, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumorchid", 186, 85, 211, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumpurple", 147, 112, 219, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumseagreen", 60, 179, 113, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumslateblue", 123, 104, 238, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumspringgreen", 0, 250, 154, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumturquoise", 72, 209, 204, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mediumvioletred", 199, 21, 133, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"midnightblue", 25, 25, 112, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mintcream", 245, 255, 250, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"mistyrose", 255, 228, 225, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"moccasin", 255, 228, 181, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"navajowhite", 255, 222, 173, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"navy", 0, 0, 128, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"oldlace", 253, 245, 230, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"olive", 128, 128, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"olivedrab", 107, 142, 35, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"orange", 255, 165, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"orangered", 255, 69, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"orchid", 218, 112, 214, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"palegoldenrod", 238, 232, 170, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"palegreen", 152, 251, 152, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"paleturquoise", 175, 238, 238, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"palevioletred", 219, 112, 147, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"papayawhip", 255, 239, 213, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"peachpuff", 255, 218, 185, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"peru", 205, 133, 63, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"pink", 255, 192, 203, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"plum", 221, 160, 221, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"powderblue", 176, 224, 230, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"purple", 128, 0, 128, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"red", 255, 0, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"rosybrown", 188, 143, 143, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"royalblue", 65, 105, 225, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"saddlebrown", 139, 69, 19, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"salmon", 250, 128, 114, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"sandybrown", 244, 164, 96, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"seagreen", 46, 139, 87, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"seashell", 255, 245, 238, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"sienna", 160, 82, 45, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"silver", 192, 192, 192, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"skyblue", 135, 206, 235, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"slateblue", 106, 90, 205, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"slategray", 112, 128, 144, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"slategrey", 112, 128, 144, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"snow", 255, 250, 250, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"springgreen", 0, 255, 127, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"steelblue", 70, 130, 180, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"tan", 210, 180, 140, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"teal", 0, 128, 128, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"thistle", 216, 191, 216, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"tomato", 255, 99, 71, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"transparent", 255, 255, 255, FALSE, FALSE, TRUE, {0,0,0}}, + {(const guchar*)"turquoise", 64, 224, 208, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"violet", 238, 130, 238, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"wheat", 245, 222, 179, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"white", 255, 255, 255, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"whitesmoke", 245, 245, 245, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"yellow", 255, 255, 0, FALSE, FALSE, FALSE, {0,0,0}}, + {(const guchar*)"yellowgreen", 154, 205, 50, FALSE, FALSE, FALSE, {0,0,0}} }; /** @@ -446,30 +448,38 @@ cr_rgb_set_from_rgb (CRRgb * a_this, CRRgb const * a_rgb) return CR_OK; } +static int +cr_rgb_color_name_compare (const void *a, + const void *b) +{ + const char *a_color_name = a; + const CRRgb *rgb = b; + + return g_ascii_strcasecmp (a_color_name, (const char *) rgb->name); +} + /** * cr_rgb_set_from_name: * @a_this: the current instance of #CRRgb * @a_color_name: the color name - * + * * Returns CR_OK upon successful completion, an error code otherwise. */ enum CRStatus cr_rgb_set_from_name (CRRgb * a_this, const guchar * a_color_name) { - gulong i = 0; enum CRStatus status = CR_OK; + CRRgb *result; g_return_val_if_fail (a_this && a_color_name, CR_BAD_PARAM_ERROR); - for (i = 0; i < G_N_ELEMENTS (gv_standard_colors); i++) { - if (!strcmp ((char *)a_color_name, gv_standard_colors[i].name)) { - cr_rgb_set_from_rgb (a_this, &gv_standard_colors[i]); - break; - } - } - - if (i < G_N_ELEMENTS (gv_standard_colors)) - status = CR_OK; + result = bsearch (a_color_name, + gv_standard_colors, + G_N_ELEMENTS (gv_standard_colors), + sizeof (gv_standard_colors[0]), + cr_rgb_color_name_compare); + if (result != NULL) + cr_rgb_set_from_rgb (a_this, result); else status = CR_UNKNOWN_TYPE_ERROR; diff --git a/src/libcroco/cr-sel-eng.h b/src/libcroco/cr-sel-eng.h index af6c84398..4d09f9c95 100644 --- a/src/libcroco/cr-sel-eng.h +++ b/src/libcroco/cr-sel-eng.h @@ -31,7 +31,7 @@ #include "cr-prop-list.h" #include "cr-node-iface.h" - +#include <libxml/tree.h> /** *@file: |
