@@ -6,7 +6,6 @@ module Graphics.Canvas
66 , CanvasElement ()
77 , Context2D ()
88 , ImageData ()
9- , CanvasPixelArray ()
109 , CanvasImageSource ()
1110 , Arc ()
1211 , Composite (..)
@@ -82,9 +81,6 @@ module Graphics.Canvas
8281
8382 , withImage
8483 , getImageData
85- , getImageDataWidth
86- , getImageDataHeight
87- , getImageDataPixelArray
8884 , putImageData
8985 , putImageDataFull
9086 , createImageData
@@ -106,6 +102,7 @@ module Graphics.Canvas
106102
107103import Prelude
108104
105+ import Data.ArrayBuffer.Types
109106import Data.Function
110107import Data.Maybe
111108import Control.Monad.Eff
@@ -121,10 +118,7 @@ foreign import data CanvasElement :: *
121118foreign import data Context2D :: *
122119
123120-- | An image data object, used to store raster data outside the canvas.
124- foreign import data ImageData :: *
125-
126- -- | An array of pixel data.
127- foreign import data CanvasPixelArray :: *
121+ type ImageData = { width :: Int , height :: Int , data :: Uint8ClampedArray }
128122
129123-- | Opaque object for drawing elements and things to the canvas.
130124foreign import data CanvasImageSource :: *
@@ -462,7 +456,7 @@ foreign import getImageData :: forall eff. Context2D -> Number -> Number -> Numb
462456-- | Set image data for a portion of the canvas.
463457foreign import putImageDataFull :: forall eff . Context2D -> ImageData -> Number -> Number -> Number -> Number -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
464458
465- -- | Get image data for a portion of the canvas.
459+ -- | Set image data for a portion of the canvas.
466460foreign import putImageData :: forall eff . Context2D -> ImageData -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
467461
468462-- | Create an image data object.
@@ -471,15 +465,6 @@ foreign import createImageData :: forall eff. Context2D -> Number -> Number -> E
471465-- | Create a copy of an image data object.
472466foreign import createImageDataCopy :: forall eff . Context2D -> ImageData -> Eff (canvas :: Canvas | eff ) ImageData
473467
474- -- | Get the width of an image data object in pixels.
475- foreign import getImageDataWidth :: forall eff . ImageData -> Eff (canvas :: Canvas | eff ) Number
476-
477- -- | Get the height of an image data object in pixels.
478- foreign import getImageDataHeight :: forall eff . ImageData -> Eff (canvas :: Canvas | eff ) Number
479-
480- -- | Get the pixel data array from an image data object.
481- foreign import getImageDataPixelArray :: forall eff . ImageData -> Eff (canvas :: Canvas | eff ) CanvasPixelArray
482-
483468foreign import drawImage :: forall eff . Context2D -> CanvasImageSource -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
484469
485470foreign import drawImageScale :: forall eff . Context2D -> CanvasImageSource -> Number -> Number -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
0 commit comments