{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.WebGPUTextureDescriptor
(newWebGPUTextureDescriptor, setTextureType, getTextureType,
setWidth, getWidth, setHeight, getHeight, setSampleCount,
getSampleCount, setStorageMode, getStorageMode, setUsage, getUsage,
WebGPUTextureDescriptor(..), gTypeWebGPUTextureDescriptor)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newWebGPUTextureDescriptor ::
(MonadDOM m) =>
Word -> Word -> Word -> Bool -> m WebGPUTextureDescriptor
newWebGPUTextureDescriptor :: forall (m :: * -> *).
MonadDOM m =>
Word -> Word -> Word -> Bool -> m WebGPUTextureDescriptor
newWebGPUTextureDescriptor Word
pixelFormat Word
width Word
height Bool
mipmapped
= DOM WebGPUTextureDescriptor -> m WebGPUTextureDescriptor
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> WebGPUTextureDescriptor
WebGPUTextureDescriptor (JSVal -> WebGPUTextureDescriptor)
-> JSM JSVal -> DOM WebGPUTextureDescriptor
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSM JSVal -> [JSM JSVal] -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new (String -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg String
"WebGPUTextureDescriptor")
[Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
pixelFormat, Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
width, Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
height,
Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
mipmapped])
setTextureType ::
(MonadDOM m) => WebGPUTextureDescriptor -> Word -> m ()
setTextureType :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> Word -> m ()
setTextureType WebGPUTextureDescriptor
self Word
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (DOM ()) WebGPUTextureDescriptor (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"textureType" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getTextureType :: (MonadDOM m) => WebGPUTextureDescriptor -> m Word
getTextureType :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> m Word
getTextureType WebGPUTextureDescriptor
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (JSM JSVal) WebGPUTextureDescriptor (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WebGPUTextureDescriptor (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"textureType") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setWidth :: (MonadDOM m) => WebGPUTextureDescriptor -> Word -> m ()
setWidth :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> Word -> m ()
setWidth WebGPUTextureDescriptor
self Word
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (DOM ()) WebGPUTextureDescriptor (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"width" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getWidth :: (MonadDOM m) => WebGPUTextureDescriptor -> m Word
getWidth :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> m Word
getWidth WebGPUTextureDescriptor
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (JSM JSVal) WebGPUTextureDescriptor (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WebGPUTextureDescriptor (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"width") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setHeight ::
(MonadDOM m) => WebGPUTextureDescriptor -> Word -> m ()
setHeight :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> Word -> m ()
setHeight WebGPUTextureDescriptor
self Word
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (DOM ()) WebGPUTextureDescriptor (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"height" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getHeight :: (MonadDOM m) => WebGPUTextureDescriptor -> m Word
getHeight :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> m Word
getHeight WebGPUTextureDescriptor
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (JSM JSVal) WebGPUTextureDescriptor (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WebGPUTextureDescriptor (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"height") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setSampleCount ::
(MonadDOM m) => WebGPUTextureDescriptor -> Word -> m ()
setSampleCount :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> Word -> m ()
setSampleCount WebGPUTextureDescriptor
self Word
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (DOM ()) WebGPUTextureDescriptor (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"sampleCount" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getSampleCount :: (MonadDOM m) => WebGPUTextureDescriptor -> m Word
getSampleCount :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> m Word
getSampleCount WebGPUTextureDescriptor
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (JSM JSVal) WebGPUTextureDescriptor (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WebGPUTextureDescriptor (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"sampleCount") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setStorageMode ::
(MonadDOM m) => WebGPUTextureDescriptor -> Word -> m ()
setStorageMode :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> Word -> m ()
setStorageMode WebGPUTextureDescriptor
self Word
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (DOM ()) WebGPUTextureDescriptor (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"storageMode" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getStorageMode :: (MonadDOM m) => WebGPUTextureDescriptor -> m Word
getStorageMode :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> m Word
getStorageMode WebGPUTextureDescriptor
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (JSM JSVal) WebGPUTextureDescriptor (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WebGPUTextureDescriptor (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"storageMode") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setUsage :: (MonadDOM m) => WebGPUTextureDescriptor -> Word -> m ()
setUsage :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> Word -> m ()
setUsage WebGPUTextureDescriptor
self Word
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (DOM ()) WebGPUTextureDescriptor (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"usage" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getUsage :: (MonadDOM m) => WebGPUTextureDescriptor -> m Word
getUsage :: forall (m :: * -> *).
MonadDOM m =>
WebGPUTextureDescriptor -> m Word
getUsage WebGPUTextureDescriptor
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WebGPUTextureDescriptor
self WebGPUTextureDescriptor
-> Getting (JSM JSVal) WebGPUTextureDescriptor (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WebGPUTextureDescriptor (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"usage") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))