@@ -6,7 +6,6 @@ module Graphics.Canvas
6
6
, CanvasElement ()
7
7
, Context2D ()
8
8
, ImageData ()
9
- , CanvasPixelArray ()
10
9
, CanvasImageSource ()
11
10
, Arc ()
12
11
, Composite (..)
@@ -82,9 +81,6 @@ module Graphics.Canvas
82
81
83
82
, withImage
84
83
, getImageData
85
- , getImageDataWidth
86
- , getImageDataHeight
87
- , getImageDataPixelArray
88
84
, putImageData
89
85
, putImageDataFull
90
86
, createImageData
@@ -106,6 +102,7 @@ module Graphics.Canvas
106
102
107
103
import Prelude
108
104
105
+ import Data.ArrayBuffer.Types
109
106
import Data.Function
110
107
import Data.Maybe
111
108
import Control.Monad.Eff
@@ -121,10 +118,7 @@ foreign import data CanvasElement :: *
121
118
foreign import data Context2D :: *
122
119
123
120
-- | 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 }
128
122
129
123
-- | Opaque object for drawing elements and things to the canvas.
130
124
foreign import data CanvasImageSource :: *
@@ -462,7 +456,7 @@ foreign import getImageData :: forall eff. Context2D -> Number -> Number -> Numb
462
456
-- | Set image data for a portion of the canvas.
463
457
foreign import putImageDataFull :: forall eff . Context2D -> ImageData -> Number -> Number -> Number -> Number -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
464
458
465
- -- | Get image data for a portion of the canvas.
459
+ -- | Set image data for a portion of the canvas.
466
460
foreign import putImageData :: forall eff . Context2D -> ImageData -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
467
461
468
462
-- | Create an image data object.
@@ -471,15 +465,6 @@ foreign import createImageData :: forall eff. Context2D -> Number -> Number -> E
471
465
-- | Create a copy of an image data object.
472
466
foreign import createImageDataCopy :: forall eff . Context2D -> ImageData -> Eff (canvas :: Canvas | eff ) ImageData
473
467
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
-
483
468
foreign import drawImage :: forall eff . Context2D -> CanvasImageSource -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
484
469
485
470
foreign import drawImageScale :: forall eff . Context2D -> CanvasImageSource -> Number -> Number -> Number -> Number -> Eff (canvas :: Canvas | eff ) Context2D
0 commit comments