@@ -10,6 +10,8 @@ foreign import data Context2D :: *
1010
1111foreign import data ImageData :: *
1212
13+ foreign import data CanvasPixelArray :: *
14+
1315foreign import getCanvasElementById
1416 " function getCanvasElementById(id) {\
1517 \ return function() {\
@@ -521,3 +523,44 @@ foreign import putImageData
521523 \ };\
522524 \}" :: forall eff . Context2D -> ImageData -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
523525
526+ foreign import createImageData
527+ " function createImageData(ctx) {\
528+ \ return function(sw) {\
529+ \ return function(sh) {\
530+ \ return function() {\
531+ \ return ctx.createImageData(sw, sh);\
532+ \ };\
533+ \ };\
534+ \ };\
535+ \}" :: forall eff . Context2D -> Number -> Number -> Eff (canvas :: Canvas | eff ) ImageData
536+
537+ foreign import createImageDataCopy
538+ " function createImageDataCopy(ctx) {\
539+ \ return function(image_data) {\
540+ \ return function() {\
541+ \ return ctx.createImageData(image_data);\
542+ \ };\
543+ \ };\
544+ \}" :: forall eff . Context2D -> ImageData -> Eff (canvas :: Canvas | eff ) ImageData
545+
546+ foreign import getImageDataWidth
547+ " function getImageDataWidth(image_data) {\
548+ \ return function() {\
549+ \ return image_data.width;\
550+ \ };\
551+ \}" :: forall eff . ImageData -> Eff (canvas :: Canvas | eff ) Number
552+
553+ foreign import getImageDataHeight
554+ " function getImageDataHeight(image_data) {\
555+ \ return function() {\
556+ \ return image_data.height;\
557+ \ };\
558+ \}" :: forall eff . ImageData -> Eff (canvas :: Canvas | eff ) Number
559+
560+ foreign import getImageDataPixelArray
561+ " function getImageDataPixelArray(image_data) {\
562+ \ return function() {\
563+ \ return image_data.data;\
564+ \ };\
565+ \}" :: forall eff . ImageData -> Eff (canvas :: Canvas | eff ) CanvasPixelArray
566+
0 commit comments