ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/GPU.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgpu (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.GPU
(js_getPreferredCanvasFormat, js_requestAdapter, js_getWgslLanguageFeatures, getPreferredCanvasFormat, getPreferredCanvasFormat_, requestAdapter, requestAdapter_, requestAdapterUnsafe, requestAdapterUnchecked, getWgslLanguageFeatures, GPU(..), gTypeGPU)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(($1) => { return $1[\"getPreferredCanvasFormat\"](); })"
js_getPreferredCanvasFormat :: GPU -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat MDN GPU.getPreferredCanvasFormat documentation>
getPreferredCanvasFormat :: (MonadDOM m) => GPU -> m GPUTextureFormat
getPreferredCanvasFormat self = liftDOM (((js_getPreferredCanvasFormat (self)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat MDN GPU.getPreferredCanvasFormat documentation>
getPreferredCanvasFormat_ :: (MonadDOM m) => GPU -> m ()
getPreferredCanvasFormat_ self = liftDOM (void ((js_getPreferredCanvasFormat (self))))
foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"requestAdapter\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_requestAdapter :: GPU -> JSVal -> IO (JSVal, JSVal)
-- | <https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter MDN GPU.requestAdapter documentation>
requestAdapter :: (MonadDOM m) => GPU -> Maybe GPURequestAdapterOptions -> m (Maybe GPUAdapter)
requestAdapter self options = liftDOM (((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_requestAdapter (self) a2') >>= checkPromiseResult) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter MDN GPU.requestAdapter documentation>
requestAdapter_ :: (MonadDOM m) => GPU -> Maybe GPURequestAdapterOptions -> m ()
requestAdapter_ self options = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_requestAdapter (self) a2') >>= checkPromiseResult)))
-- | <https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter MDN GPU.requestAdapter documentation>
requestAdapterUnsafe :: (MonadDOM m, HasCallStack) => GPU -> Maybe GPURequestAdapterOptions -> m GPUAdapter
requestAdapterUnsafe self options = liftDOM ((((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_requestAdapter (self) a2') >>= checkPromiseResult) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter MDN GPU.requestAdapter documentation>
requestAdapterUnchecked :: (MonadDOM m) => GPU -> Maybe GPURequestAdapterOptions -> m GPUAdapter
requestAdapterUnchecked self options = liftDOM ((pFromJSVal <$> (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_requestAdapter (self) a2') >>= checkPromiseResult)))
foreign import javascript unsafe "(($1) => { return $1[\"wgslLanguageFeatures\"]; })"
js_getWgslLanguageFeatures :: GPU -> IO WGSLLanguageFeatures
-- | <https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures MDN GPU.wgslLanguageFeatures documentation>
getWgslLanguageFeatures :: (MonadDOM m) => GPU -> m WGSLLanguageFeatures
getWgslLanguageFeatures self = liftDOM ((js_getWgslLanguageFeatures (self)))