packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ImageData.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.ImageData
       (newImageData, newImageDataData', getWidth, getHeight, getData, getColorSpace, ImageData(..), gTypeImageData)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://developer.mozilla.org/docs/Web/API/ImageData/ImageData MDN ImageData. documentation>
newImageData :: (MonadDOM m) => Word -> Word -> Maybe ImageDataSettings -> m ImageData
newImageData sw sh settings = liftDOM (((new (jsg "ImageData") [toJSVal sw, toJSVal sh, P.maybe (P.return jsUndefined) toJSVal settings]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageData/ImageData MDN ImageData. documentation>
newImageDataData' :: (MonadDOM m, IsImageDataArray data') => data' -> Word -> Maybe Word -> Maybe ImageDataSettings -> m ImageData
newImageDataData' data' sw sh settings = liftDOM (((new (jsg "ImageData") [toJSVal data', toJSVal sw, P.maybe (P.return jsUndefined) toJSVal sh, P.maybe (P.return jsUndefined) toJSVal settings]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageData/width MDN ImageData.width documentation>
getWidth :: (MonadDOM m) => ImageData -> m Word
getWidth self = liftDOM ((P.round <$> ((self ^. js "width") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageData/height MDN ImageData.height documentation>
getHeight :: (MonadDOM m) => ImageData -> m Word
getHeight self = liftDOM ((P.round <$> ((self ^. js "height") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageData/data MDN ImageData.data documentation>
getData :: (MonadDOM m) => ImageData -> m ImageDataArray
getData self = liftDOM (((self ^. js "data") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageData/colorSpace MDN ImageData.colorSpace documentation>
getColorSpace :: (MonadDOM m) => ImageData -> m PredefinedColorSpace
getColorSpace self = liftDOM (((self ^. js "colorSpace") >>= fromJSValUnchecked))