From 5152523cce27c138f5c27cfcc046c182e84c34e0 Mon Sep 17 00:00:00 2001 From: jdeseno Date: Fri, 12 Sep 2014 07:55:40 +0900 Subject: [PATCH] Complete ImageData api --- src/Graphics/Canvas.purs | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/Graphics/Canvas.purs b/src/Graphics/Canvas.purs index 9c63b08..e889f58 100644 --- a/src/Graphics/Canvas.purs +++ b/src/Graphics/Canvas.purs @@ -10,6 +10,8 @@ foreign import data Context2D :: * foreign import data ImageData :: * +foreign import data CanvasPixelArray :: * + foreign import getCanvasElementById "function getCanvasElementById(id) {\ \ return function() {\ @@ -521,3 +523,44 @@ foreign import putImageData \ };\ \}" :: forall eff. Context2D -> ImageData -> Number -> Number -> Eff (canvas :: Canvas | eff) Context2D +foreign import createImageData + "function createImageData(ctx) {\ + \ return function(sw) {\ + \ return function(sh) {\ + \ return function() {\ + \ return ctx.createImageData(sw, sh);\ + \ };\ + \ };\ + \ };\ + \}" :: forall eff. Context2D -> Number -> Number -> Eff (canvas :: Canvas | eff) ImageData + +foreign import createImageDataCopy + "function createImageDataCopy(ctx) {\ + \ return function(image_data) {\ + \ return function() {\ + \ return ctx.createImageData(image_data);\ + \ };\ + \ };\ + \}" :: forall eff. Context2D -> ImageData-> Eff (canvas :: Canvas | eff) ImageData + +foreign import getImageDataWidth + "function getImageDataWidth(image_data) {\ + \ return function() {\ + \ return image_data.width;\ + \ };\ + \}" :: forall eff. ImageData -> Eff (canvas :: Canvas | eff) Number + +foreign import getImageDataHeight + "function getImageDataHeight(image_data) {\ + \ return function() {\ + \ return image_data.height;\ + \ };\ + \}" :: forall eff. ImageData -> Eff (canvas :: Canvas | eff) Number + +foreign import getImageDataPixelArray + "function getImageDataPixelArray(image_data) {\ + \ return function() {\ + \ return image_data.data;\ + \ };\ + \}" :: forall eff. ImageData -> Eff (canvas :: Canvas | eff) CanvasPixelArray +