Comments (5)
@chenglou I'm just starting to play around with the bindings from Canvas2dRe.re. The tests in https://github.com/reasonml-community/bs-webapi-incubator/blob/master/tests/canvas/canvas2d_test.re in use |>
for some of the functions, but |>
doesn't work consistently b/c many of the the function take the context as the first arg. I'm curious about why the context isn't always the last arg.
from bs-webapi-incubator.
I think I have a couple of bindings locally (like drawImage
), I'll put up a PR today
from bs-webapi-incubator.
I took a shot at drawImage
but it isn't quite right.
[@bs.send]
external drawImage :
(
t,
~image: HtmlImageElementRe.t,
~dx: float,
~dy: float,
~dWidth: float=?,
~dHeight: float=?,
~sx: float=?,
~sy: float=?,
~sWidth: float=?,
~sHeight: float=?,
unit
) =>
unit =
"";
Not sure how to handle the image type since it can be any of the following:
An element to draw into the context. The specification permits any canvas image source (CanvasImageSource), specifically, a CSSImageValue, an HTMLImageElement, an SVGImageElement, an HTMLVideoElement, an HTMLCanvasElement, an ImageBitmap, or an OffscreenCanvas.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage
Working though this has been very educational in learning reason / converting some JS canvas code, but if you've already done the work, i'd love to see your PR @bloodyowl
thanks!
from bs-webapi-incubator.
You can either make a separate binding for each type, use @bs.unwrap or a gadt with a phantom type. See https://github.com/glennsl/bucklescript-cookbook#bind-to-a-function-overloaded-to-take-an-argument-of-several-different-types-an-untagged-union
from bs-webapi-incubator.
I think this repo has become the de facto home of the Web API bindings. We can always reopen if there is a desire to upstream into bs-platform.
from bs-webapi-incubator.
Related Issues (20)
- Function for converting Node to real type HOT 1
- Project name HOT 2
- Nodelist forEach HOT 2
- Dom.Image does not exist (the current Dom.Image should be Dom.ImageData)?
- adding bindings to HtmlVideoElement HOT 3
- Binding for XHR HOT 1
- Classify for Dom.node HOT 4
- Adding replaceChild
- Canvas2d.putImageData creates erroneous calls when not using all the optionals. HOT 3
- Could be possible to perform auto-generation from WebIDL? HOT 3
- Bsdoc dependency makes contributing a bit difficult on Linux HOT 2
- Binding for URLSearchParams.entries() is incorrect
- Add bindings for HtmlTemplateElement
- unmet peer dependency warning HOT 1
- Regarding document.documentElement.scrollTop HOT 2
- Add functor to type CustomEvent.detail
- How to use HtmlInputElement (focus, select) ? HOT 5
- How to use addEventListener on window HOT 3
- Add DataTransfer bindings
- unsafeAsHtmlInputElement
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bs-webapi-incubator.