Skip to content

Commit 5152523

Browse files
author
jdeseno
committed
Complete ImageData api
1 parent 4de1b8b commit 5152523

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

src/Graphics/Canvas.purs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ foreign import data Context2D :: *
1010

1111
foreign import data ImageData :: *
1212

13+
foreign import data CanvasPixelArray :: *
14+
1315
foreign 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

Comments
 (0)