From fb4cbda0cc40bbc5c5413161bd405358a39a0c69 Mon Sep 17 00:00:00 2001 From: nojaf Date: Sat, 26 Apr 2025 17:48:38 +0200 Subject: [PATCH 1/3] Rename drawImage overloads --- src/DOMAPI/CanvasRenderingContext2D.res | 40 ++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/DOMAPI/CanvasRenderingContext2D.res b/src/DOMAPI/CanvasRenderingContext2D.res index 94bfbf0..b52b56a 100644 --- a/src/DOMAPI/CanvasRenderingContext2D.res +++ b/src/DOMAPI/CanvasRenderingContext2D.res @@ -362,7 +362,7 @@ external drawImage: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage2: ( +external drawImageWithSvg: ( canvasRenderingContext2D, ~image: svgImageElement, ~dx: float, @@ -373,7 +373,7 @@ external drawImage2: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage3: ( +external drawImageWithVideo: ( canvasRenderingContext2D, ~image: htmlVideoElement, ~dx: float, @@ -384,7 +384,7 @@ external drawImage3: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage4: ( +external drawImageWithCanvas: ( canvasRenderingContext2D, ~image: htmlCanvasElement, ~dx: float, @@ -395,7 +395,7 @@ external drawImage4: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage5: ( +external drawImageWithImageBitmap: ( canvasRenderingContext2D, ~image: imageBitmap, ~dx: float, @@ -406,7 +406,7 @@ external drawImage5: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage6: ( +external drawImageWithOffscreenCanvas: ( canvasRenderingContext2D, ~image: offscreenCanvas, ~dx: float, @@ -417,7 +417,7 @@ external drawImage6: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage7: ( +external drawImageWithVideoFrame: ( canvasRenderingContext2D, ~image: videoFrame, ~dx: float, @@ -428,7 +428,7 @@ external drawImage7: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage8: ( +external drawImageWithDimensions: ( canvasRenderingContext2D, ~image: htmlImageElement, ~dx: float, @@ -441,7 +441,7 @@ external drawImage8: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage9: ( +external drawImageWithSvgDimensions: ( canvasRenderingContext2D, ~image: svgImageElement, ~dx: float, @@ -454,7 +454,7 @@ external drawImage9: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage10: ( +external drawImageWithVideoDimensions: ( canvasRenderingContext2D, ~image: htmlVideoElement, ~dx: float, @@ -467,7 +467,7 @@ external drawImage10: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage11: ( +external drawImageWithCanvasDimensions: ( canvasRenderingContext2D, ~image: htmlCanvasElement, ~dx: float, @@ -480,7 +480,7 @@ external drawImage11: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage12: ( +external drawImageWithImageBitmapDimensions: ( canvasRenderingContext2D, ~image: imageBitmap, ~dx: float, @@ -493,7 +493,7 @@ external drawImage12: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage13: ( +external drawImageWithOffscreenCanvasDimensions: ( canvasRenderingContext2D, ~image: offscreenCanvas, ~dx: float, @@ -506,7 +506,7 @@ external drawImage13: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage14: ( +external drawImageWithVideoFrameDimensions: ( canvasRenderingContext2D, ~image: videoFrame, ~dx: float, @@ -519,7 +519,7 @@ external drawImage14: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage15: ( +external drawImageWithSubRectangle: ( canvasRenderingContext2D, ~image: htmlImageElement, ~sx: float, @@ -536,7 +536,7 @@ external drawImage15: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage16: ( +external drawImageWithSvgSubRectangle: ( canvasRenderingContext2D, ~image: svgImageElement, ~sx: float, @@ -553,7 +553,7 @@ external drawImage16: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage17: ( +external drawImageWithVideoSubRectangle: ( canvasRenderingContext2D, ~image: htmlVideoElement, ~sx: float, @@ -570,7 +570,7 @@ external drawImage17: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage18: ( +external drawImageWithCanvasSubRectangle: ( canvasRenderingContext2D, ~image: htmlCanvasElement, ~sx: float, @@ -587,7 +587,7 @@ external drawImage18: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage19: ( +external drawImageWithImageBitmapSubRectangle: ( canvasRenderingContext2D, ~image: imageBitmap, ~sx: float, @@ -604,7 +604,7 @@ external drawImage19: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage20: ( +external drawImageWithOffscreenCanvasSubRectangle: ( canvasRenderingContext2D, ~image: offscreenCanvas, ~sx: float, @@ -621,7 +621,7 @@ external drawImage20: ( [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/drawImage) */ @send -external drawImage21: ( +external drawImageWithVideoFrameSubRectangle: ( canvasRenderingContext2D, ~image: videoFrame, ~sx: float, From 161e4558375ad19d5febf3b4e4345531f2d5a8e7 Mon Sep 17 00:00:00 2001 From: nojaf Date: Sat, 26 Apr 2025 17:48:53 +0200 Subject: [PATCH 2/3] Remove localName parameter --- src/DOMAPI/Document.res | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/DOMAPI/Document.res b/src/DOMAPI/Document.res index 60cef5b..4748a5f 100644 --- a/src/DOMAPI/Document.res +++ b/src/DOMAPI/Document.res @@ -155,8 +155,7 @@ Creates an instance of the element for the specified tag. [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/createElement) */ @send -external createElement: (document, ~localName: string, ~options: string=?) => element = - "createElement" +external createElement: (document, string, ~options: string=?) => element = "createElement" /** Creates an instance of the element for the specified tag. From aca7383a4b0f544d375d442b9e0477090a0a95a2 Mon Sep 17 00:00:00 2001 From: nojaf Date: Sat, 26 Apr 2025 17:49:08 +0200 Subject: [PATCH 3/3] Update test to include binding change --- tests/DOMAPI/HTMLCanvasElement__test.js | 5 +++++ tests/DOMAPI/HTMLCanvasElement__test.res | 3 +++ tests/DOMAPI/HTMLInputElement__test.res | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/DOMAPI/HTMLCanvasElement__test.js b/tests/DOMAPI/HTMLCanvasElement__test.js index c135597..1b4ec3b 100644 --- a/tests/DOMAPI/HTMLCanvasElement__test.js +++ b/tests/DOMAPI/HTMLCanvasElement__test.js @@ -32,8 +32,13 @@ switch (color.TAG) { break; } +let img = document.createElement("img"); + +ctx.drawImage(img, 0, 0, 200, 200); + export { myCanvas, ctx, + img, } /* myCanvas Not a pure module */ diff --git a/tests/DOMAPI/HTMLCanvasElement__test.res b/tests/DOMAPI/HTMLCanvasElement__test.res index 920340b..15f9b73 100644 --- a/tests/DOMAPI/HTMLCanvasElement__test.res +++ b/tests/DOMAPI/HTMLCanvasElement__test.res @@ -17,3 +17,6 @@ switch ctx.fillStyle->FillStyle.decode { | FillStyle.CanvasGradient(_) => Console.log("CanvasGradient") | FillStyle.CanvasPattern(_) => Console.log("CanvasPattern") } + +let img: DOMAPI.htmlImageElement = document->Document.createElement("img")->Obj.magic +ctx->CanvasRenderingContext2D.drawImageWithDimensions(~image=img, ~dx=0., ~dy=0., ~dw=200., ~dh=200.) diff --git a/tests/DOMAPI/HTMLInputElement__test.res b/tests/DOMAPI/HTMLInputElement__test.res index da8eef1..899e49e 100644 --- a/tests/DOMAPI/HTMLInputElement__test.res +++ b/tests/DOMAPI/HTMLInputElement__test.res @@ -1,5 +1,5 @@ open Global let input: DOMAPI.htmlInputElement = - document->Document.createElement(~localName="input")->Prelude.unsafeConversation + document->Document.createElement("input")->Prelude.unsafeConversation let value = input.value