packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/GPUTextureBindingLayout.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.GPUTextureBindingLayout
       (js_newGPUTextureBindingLayout, js_setSampleType, js_getSampleType, js_setViewDimension, js_getViewDimension, js_setMultisampled, js_getMultisampled, newGPUTextureBindingLayout, setSampleType, getSampleType, getSampleTypeUnsafe, getSampleTypeUnchecked, setViewDimension, getViewDimension, getViewDimensionUnsafe, getViewDimensionUnchecked, setMultisampled, getMultisampled, getMultisampledUnsafe, getMultisampledUnchecked, GPUTextureBindingLayout(..), gTypeGPUTextureBindingLayout)
       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 "(() => { return ({}); })"
        js_newGPUTextureBindingLayout :: IO GPUTextureBindingLayout
-- | <https://gpuweb.github.io/gpuweb/#dictdef-gputexturebindinglayout GPUTextureBindingLayout specification>
newGPUTextureBindingLayout :: (MonadDOM m) => m GPUTextureBindingLayout
newGPUTextureBindingLayout = liftDOM ((js_newGPUTextureBindingLayout))

foreign import javascript safe "(($1, $2) => { $1[\"sampleType\"] = $2; })"
        js_setSampleType :: GPUTextureBindingLayout -> JSVal -> IO ()
-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-sampletype GPUTextureBindingLayout.sampleType specification>
setSampleType :: (MonadDOM m) => GPUTextureBindingLayout -> GPUTextureSampleType -> m ()
setSampleType self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setSampleType (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"sampleType\"]; })"
        js_getSampleType :: GPUTextureBindingLayout -> IO JSVal
-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-sampletype GPUTextureBindingLayout.sampleType specification>
getSampleType :: (MonadDOM m) => GPUTextureBindingLayout -> m (Maybe GPUTextureSampleType)
getSampleType self = liftDOM (((js_getSampleType (self)) >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-sampletype GPUTextureBindingLayout.sampleType specification>
getSampleTypeUnsafe :: (MonadDOM m, HasCallStack) => GPUTextureBindingLayout -> m GPUTextureSampleType
getSampleTypeUnsafe self = liftDOM ((((js_getSampleType (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-sampletype GPUTextureBindingLayout.sampleType specification>
getSampleTypeUnchecked :: (MonadDOM m) => GPUTextureBindingLayout -> m GPUTextureSampleType
getSampleTypeUnchecked self = liftDOM ((pFromJSVal <$> (js_getSampleType (self))))

foreign import javascript safe "(($1, $2) => { $1[\"viewDimension\"] = $2; })"
        js_setViewDimension :: GPUTextureBindingLayout -> JSVal -> IO ()
-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-viewdimension GPUTextureBindingLayout.viewDimension specification>
setViewDimension :: (MonadDOM m) => GPUTextureBindingLayout -> GPUTextureViewDimension -> m ()
setViewDimension self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setViewDimension (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"viewDimension\"]; })"
        js_getViewDimension :: GPUTextureBindingLayout -> IO JSVal
-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-viewdimension GPUTextureBindingLayout.viewDimension specification>
getViewDimension :: (MonadDOM m) => GPUTextureBindingLayout -> m (Maybe GPUTextureViewDimension)
getViewDimension self = liftDOM (((js_getViewDimension (self)) >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-viewdimension GPUTextureBindingLayout.viewDimension specification>
getViewDimensionUnsafe :: (MonadDOM m, HasCallStack) => GPUTextureBindingLayout -> m GPUTextureViewDimension
getViewDimensionUnsafe self = liftDOM ((((js_getViewDimension (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-viewdimension GPUTextureBindingLayout.viewDimension specification>
getViewDimensionUnchecked :: (MonadDOM m) => GPUTextureBindingLayout -> m GPUTextureViewDimension
getViewDimensionUnchecked self = liftDOM ((pFromJSVal <$> (js_getViewDimension (self))))

foreign import javascript safe "(($1, $2) => { $1[\"multisampled\"] = $2; })"
        js_setMultisampled :: GPUTextureBindingLayout -> Bool -> IO ()
-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-multisampled GPUTextureBindingLayout.multisampled specification>
setMultisampled :: (MonadDOM m) => GPUTextureBindingLayout -> Bool -> m ()
setMultisampled self val = liftDOM (void ((js_setMultisampled (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"multisampled\"]; })"
        js_getMultisampled :: GPUTextureBindingLayout -> IO JSVal
-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-multisampled GPUTextureBindingLayout.multisampled specification>
getMultisampled :: (MonadDOM m) => GPUTextureBindingLayout -> m (Maybe Bool)
getMultisampled self = liftDOM (((js_getMultisampled (self)) >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-multisampled GPUTextureBindingLayout.multisampled specification>
getMultisampledUnsafe :: (MonadDOM m, HasCallStack) => GPUTextureBindingLayout -> m Bool
getMultisampledUnsafe self = liftDOM ((((js_getMultisampled (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexturebindinglayout-multisampled GPUTextureBindingLayout.multisampled specification>
getMultisampledUnchecked :: (MonadDOM m) => GPUTextureBindingLayout -> m Bool
getMultisampledUnchecked self = liftDOM ((pFromJSVal <$> (js_getMultisampled (self))))