summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp')
-rw-r--r--WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp358
1 files changed, 0 insertions, 358 deletions
diff --git a/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp b/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
index 9a05d72..26fc626 100644
--- a/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
@@ -98,362 +98,4 @@ void V8CanvasRenderingContext2D::fillStyleAccessorSetter(v8::Local<v8::String> n
impl->setFillStyle(toCanvasStyle(value));
}
-// TODO: SetStrokeColor and SetFillColor are similar except function names,
-// consolidate them into one.
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::setStrokeColorCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.setStrokeColor()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
- switch (args.Length()) {
- case 1:
- if (args[0]->IsString())
- context->setStrokeColor(toWebCoreString(args[0]));
- else
- context->setStrokeColor(toFloat(args[0]));
- break;
- case 2:
- if (args[0]->IsString())
- context->setStrokeColor(toWebCoreString(args[0]), toFloat(args[1]));
- else
- context->setStrokeColor(toFloat(args[0]), toFloat(args[1]));
- break;
- case 4:
- context->setStrokeColor(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]));
- break;
- case 5:
- context->setStrokeColor(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]));
- break;
- default:
- V8Proxy::throwError(V8Proxy::SyntaxError, "setStrokeColor: Invalid number of arguments");
- break;
- }
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::setFillColorCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.setFillColor()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
- switch (args.Length()) {
- case 1:
- if (args[0]->IsString())
- context->setFillColor(toWebCoreString(args[0]));
- else
- context->setFillColor(toFloat(args[0]));
- break;
- case 2:
- if (args[0]->IsString())
- context->setFillColor(toWebCoreString(args[0]), toFloat(args[1]));
- else
- context->setFillColor(toFloat(args[0]), toFloat(args[1]));
- break;
- case 4:
- context->setFillColor(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]));
- break;
- case 5:
- context->setFillColor(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]));
- break;
- default:
- V8Proxy::throwError(V8Proxy::SyntaxError, "setFillColor: Invalid number of arguments");
- break;
- }
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::strokeRectCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.strokeRect()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
- if (args.Length() == 5)
- context->strokeRect(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]));
- else if (args.Length() == 4)
- context->strokeRect(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]));
- else {
- V8Proxy::setDOMException(INDEX_SIZE_ERR);
- return notHandledByInterceptor();
- }
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::setShadowCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.setShadow()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- switch (args.Length()) {
- case 3:
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]));
- break;
- case 4:
- if (args[3]->IsString())
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toWebCoreString(args[3]));
- else
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]));
- break;
- case 5:
- if (args[3]->IsString())
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toWebCoreString(args[3]), toFloat(args[4]));
- else
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]));
- break;
- case 7:
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), toFloat(args[5]), toFloat(args[6]));
- break;
- case 8:
- context->setShadow(toFloat(args[0]), toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), toFloat(args[5]), toFloat(args[6]), toFloat(args[7]));
- break;
- default:
- V8Proxy::throwError(V8Proxy::SyntaxError, "setShadow: Invalid number of arguments");
- break;
- }
-
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::drawImageCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.drawImage()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- v8::Handle<v8::Value> arg = args[0];
-
- if (V8HTMLImageElement::HasInstance(arg)) {
- ExceptionCode ec = 0;
- HTMLImageElement* imageElement = V8HTMLImageElement::toNative(v8::Handle<v8::Object>::Cast(arg));
- switch (args.Length()) {
- case 3:
- context->drawImage(imageElement, toFloat(args[1]), toFloat(args[2]));
- break;
- case 5:
- context->drawImage(imageElement, toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- break;
- case 9:
- context->drawImage(imageElement,
- FloatRect(toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4])),
- FloatRect(toFloat(args[5]), toFloat(args[6]), toFloat(args[7]), toFloat(args[8])),
- ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- break;
- default:
- return throwError("drawImage: Invalid number of arguments", V8Proxy::SyntaxError);
- }
- return v8::Undefined();
- }
-
- // HTMLCanvasElement
- if (V8HTMLCanvasElement::HasInstance(arg)) {
- ExceptionCode ec = 0;
- HTMLCanvasElement* canvasElement = V8HTMLCanvasElement::toNative(v8::Handle<v8::Object>::Cast(arg));
- switch (args.Length()) {
- case 3:
- context->drawImage(canvasElement, toFloat(args[1]), toFloat(args[2]));
- break;
- case 5:
- context->drawImage(canvasElement, toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- break;
- case 9:
- context->drawImage(canvasElement,
- FloatRect(toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4])),
- FloatRect(toFloat(args[5]), toFloat(args[6]), toFloat(args[7]), toFloat(args[8])),
- ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- break;
- default:
- return throwError("drawImage: Invalid number of arguments", V8Proxy::SyntaxError);
- }
- return v8::Undefined();
- }
-
-#if ENABLE(VIDEO)
- // HTMLVideoElement
- if (V8HTMLVideoElement::HasInstance(arg)) {
- ExceptionCode ec = 0;
- HTMLVideoElement* videoElement = V8HTMLVideoElement::toNative(v8::Handle<v8::Object>::Cast(arg));
- switch (args.Length()) {
- case 3:
- context->drawImage(videoElement, toFloat(args[1]), toFloat(args[2]));
- break;
- case 5:
- context->drawImage(videoElement, toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- break;
- case 9:
- context->drawImage(videoElement,
- FloatRect(toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4])),
- FloatRect(toFloat(args[5]), toFloat(args[6]), toFloat(args[7]), toFloat(args[8])),
- ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- break;
- default:
- return throwError("drawImage: Invalid number of arguments", V8Proxy::SyntaxError);
- }
- return v8::Undefined();
- }
-#endif
-
- V8Proxy::setDOMException(TYPE_MISMATCH_ERR);
- return notHandledByInterceptor();
-}
-
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::drawImageFromRectCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.drawImageFromRect()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- v8::Handle<v8::Value> arg = args[0];
-
- if (V8HTMLImageElement::HasInstance(arg)) {
- HTMLImageElement* imageElement = V8HTMLImageElement::toNative(v8::Handle<v8::Object>::Cast(arg));
- context->drawImageFromRect(imageElement, toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), toFloat(args[5]), toFloat(args[6]), toFloat(args[7]), toFloat(args[8]), toWebCoreString(args[9]));
- } else
- V8Proxy::throwError(V8Proxy::TypeError, "drawImageFromRect: Invalid type of arguments");
-
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::createPatternCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.createPattern()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- v8::Handle<v8::Value> arg = args[0];
-
- if (V8HTMLImageElement::HasInstance(arg)) {
- HTMLImageElement* imageElement = V8HTMLImageElement::toNative(v8::Handle<v8::Object>::Cast(arg));
- ExceptionCode ec = 0;
- RefPtr<CanvasPattern> pattern = context->createPattern(imageElement, toWebCoreStringWithNullCheck(args[1]), ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- return toV8(pattern.release());
- }
-
- if (V8HTMLCanvasElement::HasInstance(arg)) {
- HTMLCanvasElement* canvasElement = V8HTMLCanvasElement::toNative(v8::Handle<v8::Object>::Cast(arg));
- ExceptionCode ec = 0;
- RefPtr<CanvasPattern> pattern = context->createPattern(canvasElement, toWebCoreStringWithNullCheck(args[1]), ec);
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
- return toV8(pattern.release());
- }
-
- V8Proxy::setDOMException(TYPE_MISMATCH_ERR);
- return notHandledByInterceptor();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::fillTextCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.fillText()");
-
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- // Two forms:
- // * fillText(text, x, y)
- // * fillText(text, x, y, maxWidth)
- if (args.Length() < 3 || args.Length() > 4) {
- V8Proxy::setDOMException(SYNTAX_ERR);
- return notHandledByInterceptor();
- }
-
- String text = toWebCoreString(args[0]);
- float x = toFloat(args[1]);
- float y = toFloat(args[2]);
-
- if (args.Length() == 4) {
- float maxWidth = toFloat(args[3]);
- context->fillText(text, x, y, maxWidth);
- } else
- context->fillText(text, x, y);
-
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::strokeTextCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.strokeText()");
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- // Two forms:
- // * strokeText(text, x, y)
- // * strokeText(text, x, y, maxWidth)
- if (args.Length() < 3 || args.Length() > 4) {
- V8Proxy::setDOMException(SYNTAX_ERR);
- return notHandledByInterceptor();
- }
-
- String text = toWebCoreString(args[0]);
- float x = toFloat(args[1]);
- float y = toFloat(args[2]);
-
- if (args.Length() == 4) {
- float maxWidth = toFloat(args[3]);
- context->strokeText(text, x, y, maxWidth);
- } else
- context->strokeText(text, x, y);
-
- return v8::Undefined();
-}
-
-v8::Handle<v8::Value> V8CanvasRenderingContext2D::putImageDataCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.CanvasRenderingContext2D.putImageData()");
-
- // Two froms:
- // * putImageData(ImageData, x, y)
- // * putImageData(ImageData, x, y, dirtyX, dirtyY, dirtyWidth, dirtyHeight)
- if (args.Length() != 3 && args.Length() != 7) {
- V8Proxy::setDOMException(SYNTAX_ERR);
- return notHandledByInterceptor();
- }
-
- CanvasRenderingContext2D* context = V8CanvasRenderingContext2D::toNative(args.Holder());
-
- ImageData* imageData = 0;
-
- // Need to check that the argument is of the correct type, since
- // toNative() expects it to be correct. If the argument was incorrect
- // we leave it null, and putImageData() will throw the correct exception
- // (TYPE_MISMATCH_ERR).
- if (V8DOMWrapper::isWrapperOfType(args[0], V8ClassIndex::IMAGEDATA))
- imageData = V8ImageData::toNative(v8::Handle<v8::Object>::Cast(args[0]));
-
- ExceptionCode ec = 0;
-
- if (args.Length() == 7)
- context->putImageData(imageData, toFloat(args[1]), toFloat(args[2]), toFloat(args[3]), toFloat(args[4]), toFloat(args[5]), toFloat(args[6]), ec);
- else
- context->putImageData(imageData, toFloat(args[1]), toFloat(args[2]), ec);
-
- if (ec != 0) {
- V8Proxy::setDOMException(ec);
- return notHandledByInterceptor();
- }
-
- return v8::Undefined();
-}
-
} // namespace WebCore