@@ -8,6 +8,8 @@ foreign import data CanvasElement :: *
8
8
9
9
foreign import data Context2D :: *
10
10
11
+ foreign import data ImageData :: *
12
+
11
13
foreign import getCanvasElementById
12
14
" function getCanvasElementById(id) {\
13
15
\ return function() {\
@@ -463,3 +465,52 @@ withContext ctx action = do
463
465
restore ctx
464
466
return a
465
467
468
+ foreign import getImageData
469
+ " function getImageData(ctx) {\
470
+ \ return function(x) {\
471
+ \ return function(y) {\
472
+ \ return function(w) {\
473
+ \ return function(h) {\
474
+ \ return function() { return ctx.getImageData(x, y, w, h); };\
475
+ \ };\
476
+ \ };\
477
+ \ };\
478
+ \ };\
479
+ \}" :: forall eff . Context2D -> Number -> Number -> Number -> Number -> Eff (canvas :: Canvas | eff ) ImageData
480
+
481
+ foreign import putImageDataFull
482
+ " function putImageDataFull(ctx) {\
483
+ \ return function(image_data) {\
484
+ \ return function(x) {\
485
+ \ return function(y) {\
486
+ \ return function(dx) {\
487
+ \ return function(dy) {\
488
+ \ return function(dw) {\
489
+ \ return function(dh) {\
490
+ \ return function() {\
491
+ \ ctx.putImageData(image_data, x, y, dx, dy, dw, dh);\
492
+ \ return ctx;\
493
+ \ };\
494
+ \ };\
495
+ \ };\
496
+ \ };\
497
+ \ };\
498
+ \ };\
499
+ \ };\
500
+ \ };\
501
+ \}" :: forall eff . Context2D -> ImageData -> Number -> Number -> Number -> Number -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
502
+
503
+ foreign import putImageData
504
+ " function putImageData(ctx) {\
505
+ \ return function(image_data) {\
506
+ \ return function(x) {\
507
+ \ return function(y) {\
508
+ \ return function() {\
509
+ \ ctx.putImageData(image_data, x, y);\
510
+ \ return ctx;\
511
+ \ };\
512
+ \ };\
513
+ \ };\
514
+ \ };\
515
+ \}" :: forall eff . Context2D -> ImageData -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
516
+
0 commit comments