jsaddle-dom-0.10.0.0: src/JSDOM/Generated/HTMLCanvasElement.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.HTMLCanvasElement
(captureStream, captureStream_, getContext, getContext_, getContextUnsafe, getContextUnchecked, toBlob, toDataURL, toDataURL_, toDataURL', toDataURL'_, transferControlToOffscreen, transferControlToOffscreen_, setWidth, getWidth, setHeight, getHeight, webglcontextcreationerror, webglcontextlost, webglcontextrestored, HTMLCanvasElement(..), gTypeHTMLCanvasElement)
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 hiding (toBlob)
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/captureStream MDN HTMLCanvasElement.captureStream documentation>
captureStream :: (MonadDOM m) => HTMLCanvasElement -> Maybe Double -> m MediaStream
captureStream self frameRequestRate = liftDOM (((self ^. jsf "captureStream" [P.maybe (P.return jsUndefined) toJSVal frameRequestRate]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/captureStream MDN HTMLCanvasElement.captureStream documentation>
captureStream_ :: (MonadDOM m) => HTMLCanvasElement -> Maybe Double -> m ()
captureStream_ self frameRequestRate = liftDOM (void (self ^. jsf "captureStream" [P.maybe (P.return jsUndefined) toJSVal frameRequestRate]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/getContext MDN HTMLCanvasElement.getContext documentation>
getContext :: (MonadDOM m, ToJSString contextId) => HTMLCanvasElement -> contextId -> JSVal -> m (Maybe RenderingContext)
getContext self contextId options = liftDOM (((self ^. jsf "getContext" [toJSVal contextId, toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/getContext MDN HTMLCanvasElement.getContext documentation>
getContext_ :: (MonadDOM m, ToJSString contextId) => HTMLCanvasElement -> contextId -> JSVal -> m ()
getContext_ self contextId options = liftDOM (void (self ^. jsf "getContext" [toJSVal contextId, toJSVal options]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/getContext MDN HTMLCanvasElement.getContext documentation>
getContextUnsafe :: (MonadDOM m, ToJSString contextId, HasCallStack) => HTMLCanvasElement -> contextId -> JSVal -> m RenderingContext
getContextUnsafe self contextId options = liftDOM ((((self ^. jsf "getContext" [toJSVal contextId, toJSVal options]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/getContext MDN HTMLCanvasElement.getContext documentation>
getContextUnchecked :: (MonadDOM m, ToJSString contextId) => HTMLCanvasElement -> contextId -> JSVal -> m RenderingContext
getContextUnchecked self contextId options = liftDOM (((self ^. jsf "getContext" [toJSVal contextId, toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toBlob MDN HTMLCanvasElement.toBlob documentation>
toBlob :: (MonadDOM m, ToJSString type') => HTMLCanvasElement -> BlobCallback -> Maybe type' -> JSVal -> m ()
toBlob self callback' type' quality = liftDOM (void (self ^. jsf "toBlob" [toJSVal callback', P.maybe (P.return jsUndefined) toJSVal type', toJSVal quality]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toDataURL MDN HTMLCanvasElement.toDataURL documentation>
toDataURL :: (MonadDOM m, ToJSString type', FromJSString result) => HTMLCanvasElement -> Maybe type' -> m result
toDataURL self type' = liftDOM (((self ^. jsf "toDataURL" [P.maybe (P.return jsUndefined) toJSVal type']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toDataURL MDN HTMLCanvasElement.toDataURL documentation>
toDataURL_ :: (MonadDOM m, ToJSString type') => HTMLCanvasElement -> Maybe type' -> m ()
toDataURL_ self type' = liftDOM (void (self ^. jsf "toDataURL" [P.maybe (P.return jsUndefined) toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toDataURL MDN HTMLCanvasElement.toDataURL documentation>
toDataURL' :: (MonadDOM m, ToJSString type', FromJSString result) => HTMLCanvasElement -> Maybe type' -> JSVal -> m result
toDataURL' self type' quality = liftDOM (((self ^. jsf "toDataURL" [P.maybe (P.return jsUndefined) toJSVal type', toJSVal quality]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toDataURL MDN HTMLCanvasElement.toDataURL documentation>
toDataURL'_ :: (MonadDOM m, ToJSString type') => HTMLCanvasElement -> Maybe type' -> JSVal -> m ()
toDataURL'_ self type' quality = liftDOM (void (self ^. jsf "toDataURL" [P.maybe (P.return jsUndefined) toJSVal type', toJSVal quality]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen MDN HTMLCanvasElement.transferControlToOffscreen documentation>
transferControlToOffscreen :: (MonadDOM m) => HTMLCanvasElement -> m OffscreenCanvas
transferControlToOffscreen self = liftDOM (((self ^. jsf "transferControlToOffscreen" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen MDN HTMLCanvasElement.transferControlToOffscreen documentation>
transferControlToOffscreen_ :: (MonadDOM m) => HTMLCanvasElement -> m ()
transferControlToOffscreen_ self = liftDOM (void (self ^. jsf "transferControlToOffscreen" ()))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/width MDN HTMLCanvasElement.width documentation>
setWidth :: (MonadDOM m) => HTMLCanvasElement -> Word -> m ()
setWidth self val = liftDOM (void (self ^. jss "width" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/width MDN HTMLCanvasElement.width documentation>
getWidth :: (MonadDOM m) => HTMLCanvasElement -> m Word
getWidth self = liftDOM ((P.round <$> ((self ^. js "width") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/height MDN HTMLCanvasElement.height documentation>
setHeight :: (MonadDOM m) => HTMLCanvasElement -> Word -> m ()
setHeight self val = liftDOM (void (self ^. jss "height" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/height MDN HTMLCanvasElement.height documentation>
getHeight :: (MonadDOM m) => HTMLCanvasElement -> m Word
getHeight self = liftDOM ((P.round <$> ((self ^. js "height") >>= valToNumber)))
webglcontextcreationerror :: EventName HTMLCanvasElement WebGLContextEvent
webglcontextcreationerror = unsafeEventName (toJSString "webglcontextcreationerror")
webglcontextlost :: EventName HTMLCanvasElement WebGLContextEvent
webglcontextlost = unsafeEventName (toJSString "webglcontextlost")
webglcontextrestored :: EventName HTMLCanvasElement WebGLContextEvent
webglcontextrestored = unsafeEventName (toJSString "webglcontextrestored")