Browse Source

make g++ stop bitching

v1.x
Tj Holowaychuk 14 years ago
parent
commit
13e4ecf68c
  1. 2
      src/CanvasRenderingContext2d.cc
  2. 9
      src/CanvasRenderingContext2d.h
  3. 314
      src/color.h

2
src/CanvasRenderingContext2d.cc

@ -1018,7 +1018,7 @@ Context2d::SetFillColor(const Arguments &args) {
HandleScope scope; HandleScope scope;
if (!args[0]->IsString()) return Undefined(); if (!args[0]->IsString()) return Undefined();
String::AsciiValue str(args[0]); String::AsciiValue str(args[0]);
printf("%s\n", *str); uint32_t color = rgba_from_string(*str);
Context2d *context = ObjectWrap::Unwrap<Context2d>(args.This()); Context2d *context = ObjectWrap::Unwrap<Context2d>(args.This());
context->state->fillPattern = NULL; context->state->fillPattern = NULL;
//RGBA(context->state->fill,r,g,b,a); //RGBA(context->state->fill,r,g,b,a);

9
src/CanvasRenderingContext2d.h

@ -8,17 +8,10 @@
#ifndef __NODE_CONTEXT2D_H__ #ifndef __NODE_CONTEXT2D_H__
#define __NODE_CONTEXT2D_H__ #define __NODE_CONTEXT2D_H__
#include "color.h"
#include "Canvas.h" #include "Canvas.h"
#include "CanvasGradient.h" #include "CanvasGradient.h"
/*
* RGBA struct used to retain values of fill/stroke.
*/
typedef struct {
double r, g, b, a;
} rgba_t;
/* /*
* State struct. * State struct.
* *

314
src/color.h

@ -9,6 +9,14 @@
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
/*
* RGBA struct.
*/
typedef struct {
double r, g, b, a;
} rgba_t;
/* /*
* Consume whitespace. * Consume whitespace.
*/ */
@ -36,154 +44,154 @@
*/ */
static struct named_color { static struct named_color {
char *name; const char *name;
uint32_t val; uint32_t val;
} named_colors[] = { } named_colors[] = {
"transparent", 0xffffff00 {"transparent", 0xffffff00}
, "aliceblue", 0xf0f8ffff , {"aliceblue", 0xf0f8ffff}
, "antiquewhite", 0xfaebd7ff , {"antiquewhite", 0xfaebd7ff}
, "aqua", 0x00ffffff , {"aqua", 0x00ffffff}
, "aquamarine", 0x7fffd4ff , {"aquamarine", 0x7fffd4ff}
, "azure", 0xf0ffffff , {"azure", 0xf0ffffff}
, "beige", 0xf5f5dcff , {"beige", 0xf5f5dcff}
, "bisque", 0xffe4c4ff , {"bisque", 0xffe4c4ff}
, "black", 0x000000ff , {"black", 0x000000ff}
, "blanchedalmond", 0xffebcdff , {"blanchedalmond", 0xffebcdff}
, "blue", 0x0000ffff , {"blue", 0x0000ffff}
, "blueviolet", 0x8a2be2ff , {"blueviolet", 0x8a2be2ff}
, "brown", 0xa52a2aff , {"brown", 0xa52a2aff}
, "burlywood", 0xdeb887ff , {"burlywood", 0xdeb887ff}
, "cadetblue", 0x5f9ea0ff , {"cadetblue", 0x5f9ea0ff}
, "chartreuse", 0x7fff00ff , {"chartreuse", 0x7fff00ff}
, "chocolate", 0xd2691eff , {"chocolate", 0xd2691eff}
, "coral", 0xff7f50ff , {"coral", 0xff7f50ff}
, "cornflowerblue", 0x6495edff , {"cornflowerblue", 0x6495edff}
, "cornsilk", 0xfff8dcff , {"cornsilk", 0xfff8dcff}
, "crimson", 0xdc143cff , {"crimson", 0xdc143cff}
, "cyan", 0x00ffffff , {"cyan", 0x00ffffff}
, "darkblue", 0x00008bff , {"darkblue", 0x00008bff}
, "darkcyan", 0x008b8bff , {"darkcyan", 0x008b8bff}
, "darkgoldenrod", 0xb8860bff , {"darkgoldenrod", 0xb8860bff}
, "darkgray", 0xa9a9a9ff , {"darkgray", 0xa9a9a9ff}
, "darkgreen", 0x006400ff , {"darkgreen", 0x006400ff}
, "darkkhaki", 0xbdb76bff , {"darkkhaki", 0xbdb76bff}
, "darkmagenta", 0x8b008bff , {"darkmagenta", 0x8b008bff}
, "darkolivegreen", 0x556b2fff , {"darkolivegreen", 0x556b2fff}
, "darkorange", 0xff8c00ff , {"darkorange", 0xff8c00ff}
, "darkorchid", 0x9932ccff , {"darkorchid", 0x9932ccff}
, "darkred", 0x8b0000ff , {"darkred", 0x8b0000ff}
, "darksalmon", 0xe9967aff , {"darksalmon", 0xe9967aff}
, "darkseagreen", 0x8fbc8fff , {"darkseagreen", 0x8fbc8fff}
, "darkslateblue", 0x483d8bff , {"darkslateblue", 0x483d8bff}
, "darkslategray", 0x2f4f4fff , {"darkslategray", 0x2f4f4fff}
, "darkturquoise", 0x00ced1ff , {"darkturquoise", 0x00ced1ff}
, "darkviolet", 0x9400d3ff , {"darkviolet", 0x9400d3ff}
, "deeppink", 0xff1493ff , {"deeppink", 0xff1493ff}
, "deepskyblue", 0x00bfffff , {"deepskyblue", 0x00bfffff}
, "dimgray", 0x696969ff , {"dimgray", 0x696969ff}
, "dodgerblue", 0x1e90ffff , {"dodgerblue", 0x1e90ffff}
, "feldspar", 0xd19275ff , {"feldspar", 0xd19275ff}
, "firebrick", 0xb22222ff , {"firebrick", 0xb22222ff}
, "floralwhite", 0xfffaf0ff , {"floralwhite", 0xfffaf0ff}
, "forestgreen", 0x228b22ff , {"forestgreen", 0x228b22ff}
, "fuchsia", 0xff00ffff , {"fuchsia", 0xff00ffff}
, "gainsboro", 0xdcdcdcff , {"gainsboro", 0xdcdcdcff}
, "ghostwhite", 0xf8f8ffff , {"ghostwhite", 0xf8f8ffff}
, "gold", 0xffd700ff , {"gold", 0xffd700ff}
, "goldenrod", 0xdaa520ff , {"goldenrod", 0xdaa520ff}
, "gray", 0x808080ff , {"gray", 0x808080ff}
, "green", 0x008000ff , {"green", 0x008000ff}
, "greenyellow", 0xadff2fff , {"greenyellow", 0xadff2fff}
, "honeydew", 0xf0fff0ff , {"honeydew", 0xf0fff0ff}
, "hotpink", 0xff69b4ff , {"hotpink", 0xff69b4ff}
, "indianred ", 0xcd5c5cff , {"indianred ", 0xcd5c5cff}
, "indigo ", 0x4b0082ff , {"indigo ", 0x4b0082ff}
, "ivory", 0xfffff0ff , {"ivory", 0xfffff0ff}
, "khaki", 0xf0e68cff , {"khaki", 0xf0e68cff}
, "lavender", 0xe6e6faff , {"lavender", 0xe6e6faff}
, "lavenderblush", 0xfff0f5ff , {"lavenderblush", 0xfff0f5ff}
, "lawngreen", 0x7cfc00ff , {"lawngreen", 0x7cfc00ff}
, "lemonchiffon", 0xfffacdff , {"lemonchiffon", 0xfffacdff}
, "lightblue", 0xadd8e6ff , {"lightblue", 0xadd8e6ff}
, "lightcoral", 0xf08080ff , {"lightcoral", 0xf08080ff}
, "lightcyan", 0xe0ffffff , {"lightcyan", 0xe0ffffff}
, "lightgoldenrodyellow", 0xfafad2ff , {"lightgoldenrodyellow", 0xfafa}
, "lightgrey", 0xd3d3d3ff , {"lightgrey", 0xd3d3d3ff}
, "lightgreen", 0x90ee90ff , {"lightgreen", 0x90ee90ff}
, "lightpink", 0xffb6c1ff , {"lightpink", 0xffb6c1ff}
, "lightsalmon", 0xffa07aff , {"lightsalmon", 0xffa07aff}
, "lightseagreen", 0x20b2aaff , {"lightseagreen", 0x20b2aaff}
, "lightskyblue", 0x87cefaff , {"lightskyblue", 0x87cefaff}
, "lightslateblue", 0x8470ffff , {"lightslateblue", 0x8470ffff}
, "lightslategray", 0x778899ff , {"lightslategray", 0x778899ff}
, "lightsteelblue", 0xb0c4deff , {"lightsteelblue", 0xb0c4deff}
, "lightyellow", 0xffffe0ff , {"lightyellow", 0xffffe0ff}
, "lime", 0x00ff00ff , {"lime", 0x00ff00ff}
, "limegreen", 0x32cd32ff , {"limegreen", 0x32cd32ff}
, "linen", 0xfaf0e6ff , {"linen", 0xfaf0e6ff}
, "magenta", 0xff00ffff , {"magenta", 0xff00ffff}
, "maroon", 0x800000ff , {"maroon", 0x800000ff}
, "mediumaquamarine", 0x66cdaaff , {"mediumaquamarine", 0x66cdaaff}
, "mediumblue", 0x0000cdff , {"mediumblue", 0x0000cdff}
, "mediumorchid", 0xba55d3ff , {"mediumorchid", 0xba55d3ff}
, "mediumpurple", 0x9370d8ff , {"mediumpurple", 0x9370d8ff}
, "mediumseagreen", 0x3cb371ff , {"mediumseagreen", 0x3cb371ff}
, "mediumslateblue", 0x7b68eeff , {"mediumslateblue", 0x7b68eeff}
, "mediumspringgreen", 0x00fa9aff , {"mediumspringgreen", 0x00fa9af}
, "mediumturquoise", 0x48d1ccff , {"mediumturquoise", 0x48d1ccff}
, "mediumvioletred", 0xc71585ff , {"mediumvioletred", 0xc71585ff}
, "midnightblue", 0x191970ff , {"midnightblue", 0x191970ff}
, "mintcream", 0xf5fffaff , {"mintcream", 0xf5fffaff}
, "mistyrose", 0xffe4e1ff , {"mistyrose", 0xffe4e1ff}
, "moccasin", 0xffe4b5ff , {"moccasin", 0xffe4b5ff}
, "navajowhite", 0xffdeadff , {"navajowhite", 0xffdeadff}
, "navy", 0x000080ff , {"navy", 0x000080ff}
, "oldlace", 0xfdf5e6ff , {"oldlace", 0xfdf5e6ff}
, "olive", 0x808000ff , {"olive", 0x808000ff}
, "olivedrab", 0x6b8e23ff , {"olivedrab", 0x6b8e23ff}
, "orange", 0xffa500ff , {"orange", 0xffa500ff}
, "orangered", 0xff4500ff , {"orangered", 0xff4500ff}
, "orchid", 0xda70d6ff , {"orchid", 0xda70d6ff}
, "palegoldenrod", 0xeee8aaff , {"palegoldenrod", 0xeee8aaff}
, "palegreen", 0x98fb98ff , {"palegreen", 0x98fb98ff}
, "paleturquoise", 0xafeeeeff , {"paleturquoise", 0xafeeeeff}
, "palevioletred", 0xd87093ff , {"palevioletred", 0xd87093ff}
, "papayawhip", 0xffefd5ff , {"papayawhip", 0xffefd5ff}
, "peachpuff", 0xffdab9ff , {"peachpuff", 0xffdab9ff}
, "peru", 0xcd853fff , {"peru", 0xcd853fff}
, "pink", 0xffc0cbff , {"pink", 0xffc0cbff}
, "plum", 0xdda0ddff , {"plum", 0xdda0ddff}
, "powderblue", 0xb0e0e6ff , {"powderblue", 0xb0e0e6ff}
, "purple", 0x800080ff , {"purple", 0x800080ff}
, "red", 0xff0000ff , {"red", 0xff0000ff}
, "rosybrown", 0xbc8f8fff , {"rosybrown", 0xbc8f8fff}
, "royalblue", 0x4169e1ff , {"royalblue", 0x4169e1ff}
, "saddlebrown", 0x8b4513ff , {"saddlebrown", 0x8b4513ff}
, "salmon", 0xfa8072ff , {"salmon", 0xfa8072ff}
, "sandybrown", 0xf4a460ff , {"sandybrown", 0xf4a460ff}
, "seagreen", 0x2e8b57ff , {"seagreen", 0x2e8b57ff}
, "seashell", 0xfff5eeff , {"seashell", 0xfff5eeff}
, "sienna", 0xa0522dff , {"sienna", 0xa0522dff}
, "silver", 0xc0c0c0ff , {"silver", 0xc0c0c0ff}
, "skyblue", 0x87ceebff , {"skyblue", 0x87ceebff}
, "slateblue", 0x6a5acdff , {"slateblue", 0x6a5acdff}
, "slategray", 0x708090ff , {"slategray", 0x708090ff}
, "snow", 0xfffafaff , {"snow", 0xfffafaff}
, "springgreen", 0x00ff7fff , {"springgreen", 0x00ff7fff}
, "steelblue", 0x4682b4ff , {"steelblue", 0x4682b4ff}
, "tan", 0xd2b48cff , {"tan", 0xd2b48cff}
, "teal", 0x008080ff , {"teal", 0x008080ff}
, "thistle", 0xd8bfd8ff , {"thistle", 0xd8bfd8ff}
, "tomato", 0xff6347ff , {"tomato", 0xff6347ff}
, "turquoise", 0x40e0d0ff , {"turquoise", 0x40e0d0ff}
, "violet", 0xee82eeff , {"violet", 0xee82eeff}
, "violetred", 0xd02090ff , {"violetred", 0xd02090ff}
, "wheat", 0xf5deb3ff , {"wheat", 0xf5deb3ff}
, "white", 0xffffffff , {"white", 0xffffffff}
, "whitesmoke", 0xf5f5f5ff , {"whitesmoke", 0xf5f5f5ff}
, "yellow", 0xffff00ff , {"yellow", 0xffff00ff}
, "yellowgreen", 0x9acd32ff , {"yellowgreen", 0x9acd32ff}
, NULL, NULL , {NULL, NULL}
}; };
/* /*
@ -222,6 +230,20 @@ h(char c) {
return 0; return 0;
} }
/*
* Return rgba_t from rgba.
*/
rgba_t
rgba_create(uint32_t rgba) {
rgba_t color;
color.r = rgba >> 24;
color.g = rgba >> 16;
color.b = rgba >> 8;
color.a = rgba;
return color;
}
/* /*
* Return rgba from (r,g,b,a). * Return rgba from (r,g,b,a).
*/ */

Loading…
Cancel
Save