diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2009-06-15 09:06:43 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-06-15 09:31:31 (GMT) |
commit | c411f16870f112c3407c28c22b617f613a82cff4 (patch) | |
tree | 29a1bcd590c8b31af2aab445bfe8a978dc5bf582 /src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp | |
parent | 3d77b56b32a0c53ec0bbfaa07236fedb900ff336 (diff) | |
download | Qt-c411f16870f112c3407c28c22b617f613a82cff4.zip Qt-c411f16870f112c3407c28c22b617f613a82cff4.tar.gz Qt-c411f16870f112c3407c28c22b617f613a82cff4.tar.bz2 |
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit-4.6-snapshot-15062009 ( 65232bf00dc494ebfd978f998c88f58d18ecce1e )
Diffstat (limited to 'src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp | 200 |
1 files changed, 100 insertions, 100 deletions
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp index 6eb4fc5..76db871 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp @@ -40,7 +40,7 @@ using namespace JSC; namespace WebCore { -static JSValuePtr toJS(ExecState* exec, CanvasStyle* style) +static JSValue toJS(ExecState* exec, CanvasStyle* style) { if (style->canvasGradient()) return toJS(exec, style->canvasGradient()); @@ -49,11 +49,11 @@ static JSValuePtr toJS(ExecState* exec, CanvasStyle* style) return jsString(exec, style->color()); } -static PassRefPtr<CanvasStyle> toHTMLCanvasStyle(ExecState*, JSValuePtr value) +static PassRefPtr<CanvasStyle> toHTMLCanvasStyle(ExecState*, JSValue value) { - if (value->isString()) + if (value.isString()) return CanvasStyle::create(asString(value)->value()); - if (!value->isObject()) + if (!value.isObject()) return 0; JSObject* object = asObject(value); if (object->inherits(&JSCanvasGradient::s_info)) @@ -63,27 +63,27 @@ static PassRefPtr<CanvasStyle> toHTMLCanvasStyle(ExecState*, JSValuePtr value) return 0; } -JSValuePtr JSCanvasRenderingContext2D::strokeStyle(ExecState* exec) const +JSValue JSCanvasRenderingContext2D::strokeStyle(ExecState* exec) const { return toJS(exec, impl()->strokeStyle()); } -void JSCanvasRenderingContext2D::setStrokeStyle(ExecState* exec, JSValuePtr value) +void JSCanvasRenderingContext2D::setStrokeStyle(ExecState* exec, JSValue value) { impl()->setStrokeStyle(toHTMLCanvasStyle(exec, value)); } -JSValuePtr JSCanvasRenderingContext2D::fillStyle(ExecState* exec) const +JSValue JSCanvasRenderingContext2D::fillStyle(ExecState* exec) const { return toJS(exec, impl()->fillStyle()); } -void JSCanvasRenderingContext2D::setFillStyle(ExecState* exec, JSValuePtr value) +void JSCanvasRenderingContext2D::setFillStyle(ExecState* exec, JSValue value) { impl()->setFillStyle(toHTMLCanvasStyle(exec, value)); } -JSValuePtr JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); @@ -95,24 +95,24 @@ JSValuePtr JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgLi // 5 args = c, m, y, k, a switch (args.size()) { case 1: - if (args.at(exec, 0)->isString()) - context->setFillColor(asString(args.at(exec, 0))->value()); + if (args.at(0).isString()) + context->setFillColor(asString(args.at(0))->value()); else - context->setFillColor(args.at(exec, 0)->toFloat(exec)); + context->setFillColor(args.at(0).toFloat(exec)); break; case 2: - if (args.at(exec, 0)->isString()) - context->setFillColor(asString(args.at(exec, 0))->value(), args.at(exec, 1)->toFloat(exec)); + if (args.at(0).isString()) + context->setFillColor(asString(args.at(0))->value(), args.at(1).toFloat(exec)); else - context->setFillColor(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec)); + context->setFillColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec)); break; case 4: - context->setFillColor(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec)); + context->setFillColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec)); break; case 5: - context->setFillColor(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec)); + context->setFillColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec), args.at(4).toFloat(exec)); break; default: return throwError(exec, SyntaxError); @@ -120,7 +120,7 @@ JSValuePtr JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgLi return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); @@ -132,24 +132,24 @@ JSValuePtr JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const Arg // 5 args = c, m, y, k, a switch (args.size()) { case 1: - if (args.at(exec, 0)->isString()) - context->setStrokeColor(asString(args.at(exec, 0))->value()); + if (args.at(0).isString()) + context->setStrokeColor(asString(args.at(0))->value()); else - context->setStrokeColor(args.at(exec, 0)->toFloat(exec)); + context->setStrokeColor(args.at(0).toFloat(exec)); break; case 2: - if (args.at(exec, 0)->isString()) - context->setStrokeColor(asString(args.at(exec, 0))->value(), args.at(exec, 1)->toFloat(exec)); + if (args.at(0).isString()) + context->setStrokeColor(asString(args.at(0))->value(), args.at(1).toFloat(exec)); else - context->setStrokeColor(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec)); + context->setStrokeColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec)); break; case 4: - context->setStrokeColor(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec)); + context->setStrokeColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec)); break; case 5: - context->setStrokeColor(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec)); + context->setStrokeColor(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec), args.at(4).toFloat(exec)); break; default: return throwError(exec, SyntaxError); @@ -158,21 +158,21 @@ JSValuePtr JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const Arg return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::strokeRect(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::strokeRect(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); if (args.size() <= 4) - context->strokeRect(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec)); + context->strokeRect(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec)); else - context->strokeRect(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec)); + context->strokeRect(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec), args.at(4).toFloat(exec)); return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); @@ -182,8 +182,8 @@ JSValuePtr JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& // drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh) // Composite operation is specified with globalCompositeOperation. // The img parameter can be a <img> or <canvas> element. - JSValuePtr value = args.at(exec, 0); - if (!value->isObject()) + JSValue value = args.at(0); + if (!value.isObject()) return throwError(exec, TypeError); JSObject* o = asObject(value); @@ -192,18 +192,18 @@ JSValuePtr JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& HTMLImageElement* imgElt = static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl()); switch (args.size()) { case 3: - context->drawImage(imgElt, args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec)); + context->drawImage(imgElt, args.at(1).toFloat(exec), args.at(2).toFloat(exec)); break; case 5: - context->drawImage(imgElt, args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), - args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec), ec); + context->drawImage(imgElt, args.at(1).toFloat(exec), args.at(2).toFloat(exec), + args.at(3).toFloat(exec), args.at(4).toFloat(exec), ec); setDOMException(exec, ec); break; case 9: - context->drawImage(imgElt, FloatRect(args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), - args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec)), - FloatRect(args.at(exec, 5)->toFloat(exec), args.at(exec, 6)->toFloat(exec), - args.at(exec, 7)->toFloat(exec), args.at(exec, 8)->toFloat(exec)), ec); + context->drawImage(imgElt, FloatRect(args.at(1).toFloat(exec), args.at(2).toFloat(exec), + args.at(3).toFloat(exec), args.at(4).toFloat(exec)), + FloatRect(args.at(5).toFloat(exec), args.at(6).toFloat(exec), + args.at(7).toFloat(exec), args.at(8).toFloat(exec)), ec); setDOMException(exec, ec); break; default: @@ -213,18 +213,18 @@ JSValuePtr JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLElement*>(o)->impl()); switch (args.size()) { case 3: - context->drawImage(canvas, args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec)); + context->drawImage(canvas, args.at(1).toFloat(exec), args.at(2).toFloat(exec)); break; case 5: - context->drawImage(canvas, args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), - args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec), ec); + context->drawImage(canvas, args.at(1).toFloat(exec), args.at(2).toFloat(exec), + args.at(3).toFloat(exec), args.at(4).toFloat(exec), ec); setDOMException(exec, ec); break; case 9: - context->drawImage(canvas, FloatRect(args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), - args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec)), - FloatRect(args.at(exec, 5)->toFloat(exec), args.at(exec, 6)->toFloat(exec), - args.at(exec, 7)->toFloat(exec), args.at(exec, 8)->toFloat(exec)), ec); + context->drawImage(canvas, FloatRect(args.at(1).toFloat(exec), args.at(2).toFloat(exec), + args.at(3).toFloat(exec), args.at(4).toFloat(exec)), + FloatRect(args.at(5).toFloat(exec), args.at(6).toFloat(exec), + args.at(7).toFloat(exec), args.at(8).toFloat(exec)), ec); setDOMException(exec, ec); break; default: @@ -237,64 +237,64 @@ JSValuePtr JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); - JSValuePtr value = args.at(exec, 0); - if (!value->isObject()) + JSValue value = args.at(0); + if (!value.isObject()) return throwError(exec, TypeError); JSObject* o = asObject(value); if (!o->inherits(&JSHTMLImageElement::s_info)) return throwError(exec, TypeError); context->drawImageFromRect(static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl()), - args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), - args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec), - args.at(exec, 5)->toFloat(exec), args.at(exec, 6)->toFloat(exec), - args.at(exec, 7)->toFloat(exec), args.at(exec, 8)->toFloat(exec), - args.at(exec, 9)->toString(exec)); + args.at(1).toFloat(exec), args.at(2).toFloat(exec), + args.at(3).toFloat(exec), args.at(4).toFloat(exec), + args.at(5).toFloat(exec), args.at(6).toFloat(exec), + args.at(7).toFloat(exec), args.at(8).toFloat(exec), + args.at(9).toString(exec)); return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::setShadow(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::setShadow(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); switch (args.size()) { case 3: - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec)); + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec)); break; case 4: - if (args.at(exec, 3)->isString()) - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), asString(args.at(exec, 3))->value()); + if (args.at(3).isString()) + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), asString(args.at(3))->value()); else - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec)); + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec)); break; case 5: - if (args.at(exec, 3)->isString()) - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), asString(args.at(exec, 3))->value(), - args.at(exec, 4)->toFloat(exec)); + if (args.at(3).isString()) + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), asString(args.at(3))->value(), + args.at(4).toFloat(exec)); else - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec), - args.at(exec, 4)->toFloat(exec)); + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec), + args.at(4).toFloat(exec)); break; case 7: - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec), - args.at(exec, 4)->toFloat(exec), args.at(exec, 5)->toFloat(exec), - args.at(exec, 6)->toFloat(exec)); + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec), + args.at(4).toFloat(exec), args.at(5).toFloat(exec), + args.at(6).toFloat(exec)); break; case 8: - context->setShadow(args.at(exec, 0)->toFloat(exec), args.at(exec, 1)->toFloat(exec), - args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec), - args.at(exec, 4)->toFloat(exec), args.at(exec, 5)->toFloat(exec), - args.at(exec, 6)->toFloat(exec), args.at(exec, 7)->toFloat(exec)); + context->setShadow(args.at(0).toFloat(exec), args.at(1).toFloat(exec), + args.at(2).toFloat(exec), args.at(3).toFloat(exec), + args.at(4).toFloat(exec), args.at(5).toFloat(exec), + args.at(6).toFloat(exec), args.at(7).toFloat(exec)); break; default: return throwError(exec, SyntaxError); @@ -303,28 +303,28 @@ JSValuePtr JSCanvasRenderingContext2D::setShadow(ExecState* exec, const ArgList& return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); - JSValuePtr value = args.at(exec, 0); - if (!value->isObject()) + JSValue value = args.at(0); + if (!value.isObject()) return throwError(exec, TypeError); JSObject* o = asObject(value); if (o->inherits(&JSHTMLImageElement::s_info)) { ExceptionCode ec; - JSValuePtr pattern = toJS(exec, + JSValue pattern = toJS(exec, context->createPattern(static_cast<HTMLImageElement*>(static_cast<JSHTMLElement*>(o)->impl()), - valueToStringWithNullCheck(exec, args.at(exec, 1)), ec).get()); + valueToStringWithNullCheck(exec, args.at(1)), ec).get()); setDOMException(exec, ec); return pattern; } if (o->inherits(&JSHTMLCanvasElement::s_info)) { ExceptionCode ec; - JSValuePtr pattern = toJS(exec, + JSValue pattern = toJS(exec, context->createPattern(static_cast<HTMLCanvasElement*>(static_cast<JSHTMLElement*>(o)->impl()), - valueToStringWithNullCheck(exec, args.at(exec, 1)), ec).get()); + valueToStringWithNullCheck(exec, args.at(1)), ec).get()); setDOMException(exec, ec); return pattern; } @@ -332,7 +332,7 @@ JSValuePtr JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgL return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList& args) { // putImageData has two variants // putImageData(ImageData, x, y) @@ -341,16 +341,16 @@ JSValuePtr JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgLi ExceptionCode ec = 0; if (args.size() >= 7) - context->putImageData(toImageData(args.at(exec, 0)), args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), - args.at(exec, 3)->toFloat(exec), args.at(exec, 4)->toFloat(exec), args.at(exec, 5)->toFloat(exec), args.at(exec, 6)->toFloat(exec), ec); + context->putImageData(toImageData(args.at(0)), args.at(1).toFloat(exec), args.at(2).toFloat(exec), + args.at(3).toFloat(exec), args.at(4).toFloat(exec), args.at(5).toFloat(exec), args.at(6).toFloat(exec), ec); else - context->putImageData(toImageData(args.at(exec, 0)), args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), ec); + context->putImageData(toImageData(args.at(0)), args.at(1).toFloat(exec), args.at(2).toFloat(exec), ec); setDOMException(exec, ec); return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::fillText(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::fillText(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); @@ -362,13 +362,13 @@ JSValuePtr JSCanvasRenderingContext2D::fillText(ExecState* exec, const ArgList& return throwError(exec, SyntaxError); if (args.size() == 4) - context->fillText(args.at(exec, 0)->toString(exec), args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec)); + context->fillText(args.at(0).toString(exec), args.at(1).toFloat(exec), args.at(2).toFloat(exec), args.at(3).toFloat(exec)); else - context->fillText(args.at(exec, 0)->toString(exec), args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec)); + context->fillText(args.at(0).toString(exec), args.at(1).toFloat(exec), args.at(2).toFloat(exec)); return jsUndefined(); } -JSValuePtr JSCanvasRenderingContext2D::strokeText(ExecState* exec, const ArgList& args) +JSValue JSCanvasRenderingContext2D::strokeText(ExecState* exec, const ArgList& args) { CanvasRenderingContext2D* context = impl(); @@ -380,9 +380,9 @@ JSValuePtr JSCanvasRenderingContext2D::strokeText(ExecState* exec, const ArgList return throwError(exec, SyntaxError); if (args.size() == 4) - context->strokeText(args.at(exec, 0)->toString(exec), args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec), args.at(exec, 3)->toFloat(exec)); + context->strokeText(args.at(0).toString(exec), args.at(1).toFloat(exec), args.at(2).toFloat(exec), args.at(3).toFloat(exec)); else - context->strokeText(args.at(exec, 0)->toString(exec), args.at(exec, 1)->toFloat(exec), args.at(exec, 2)->toFloat(exec)); + context->strokeText(args.at(0).toString(exec), args.at(1).toFloat(exec), args.at(2).toFloat(exec)); return jsUndefined(); } |