static CanvasStyle toHTMLCanvasStyle(ExecState*, JSValue value) { if (!value.isObject()) return CanvasStyle(); JSObject* object = asObject(value); if (object->inherits(&JSCanvasGradient::s_info)) return CanvasStyle(jsCast<JSCanvasGradient*>(object)->impl()); if (object->inherits(&JSCanvasPattern::s_info)) return CanvasStyle(jsCast<JSCanvasPattern*>(object)->impl()); return CanvasStyle(); }
CanvasStyle CanvasStyle::createFromStringWithOverrideAlpha(const String& color, float alpha) { RGBA32 rgba; ColorParseResult parseResult = parseColor(rgba, color); switch (parseResult) { case ParsedRGBA: return CanvasStyle(colorWithOverrideAlpha(rgba, alpha)); case ParsedCurrentColor: return CanvasStyle(CurrentColorWithOverrideAlpha, alpha); case ParseFailed: return CanvasStyle(); default: ASSERT_NOT_REACHED(); return CanvasStyle(); } }
CanvasStyle CanvasStyle::createFromString(const String& color, Document* document) { RGBA32 rgba; ColorParseResult parseResult = parseColor(rgba, color, document); switch (parseResult) { case ParsedRGBA: case ParsedSystemColor: return CanvasStyle(rgba); case ParsedCurrentColor: return CanvasStyle(ConstructCurrentColor); case ParseFailed: return CanvasStyle(); default: ASSERT_NOT_REACHED(); return CanvasStyle(); } }