{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE NoImplicitPrelude #-}

-- This file was generated by wgpu-raw-hs-codegen on:
--   2021-08-25T10:02:03.522705
-- Using wgpu-native git hash:
--   b10496e7eed9349f0fd541e6dfe5029cb436de74 wgpu-native (v0.9.2.2)

module WGPU.Raw.Generated.Enum.WGPUTextureUsage where

import Data.Word (Word32)
import Foreign (Storable)
import Prelude (Eq, Num, Show)

newtype WGPUTextureUsage = WGPUTextureUsage Word32
  deriving (WGPUTextureUsage -> WGPUTextureUsage -> Bool
(WGPUTextureUsage -> WGPUTextureUsage -> Bool)
-> (WGPUTextureUsage -> WGPUTextureUsage -> Bool)
-> Eq WGPUTextureUsage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WGPUTextureUsage -> WGPUTextureUsage -> Bool
$c/= :: WGPUTextureUsage -> WGPUTextureUsage -> Bool
== :: WGPUTextureUsage -> WGPUTextureUsage -> Bool
$c== :: WGPUTextureUsage -> WGPUTextureUsage -> Bool
Eq, Int -> WGPUTextureUsage -> ShowS
[WGPUTextureUsage] -> ShowS
WGPUTextureUsage -> String
(Int -> WGPUTextureUsage -> ShowS)
-> (WGPUTextureUsage -> String)
-> ([WGPUTextureUsage] -> ShowS)
-> Show WGPUTextureUsage
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WGPUTextureUsage] -> ShowS
$cshowList :: [WGPUTextureUsage] -> ShowS
show :: WGPUTextureUsage -> String
$cshow :: WGPUTextureUsage -> String
showsPrec :: Int -> WGPUTextureUsage -> ShowS
$cshowsPrec :: Int -> WGPUTextureUsage -> ShowS
Show, Integer -> WGPUTextureUsage
WGPUTextureUsage -> WGPUTextureUsage
WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
(WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage)
-> (WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage)
-> (WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage)
-> (WGPUTextureUsage -> WGPUTextureUsage)
-> (WGPUTextureUsage -> WGPUTextureUsage)
-> (WGPUTextureUsage -> WGPUTextureUsage)
-> (Integer -> WGPUTextureUsage)
-> Num WGPUTextureUsage
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> WGPUTextureUsage
$cfromInteger :: Integer -> WGPUTextureUsage
signum :: WGPUTextureUsage -> WGPUTextureUsage
$csignum :: WGPUTextureUsage -> WGPUTextureUsage
abs :: WGPUTextureUsage -> WGPUTextureUsage
$cabs :: WGPUTextureUsage -> WGPUTextureUsage
negate :: WGPUTextureUsage -> WGPUTextureUsage
$cnegate :: WGPUTextureUsage -> WGPUTextureUsage
* :: WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
$c* :: WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
- :: WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
$c- :: WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
+ :: WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
$c+ :: WGPUTextureUsage -> WGPUTextureUsage -> WGPUTextureUsage
Num, Ptr b -> Int -> IO WGPUTextureUsage
Ptr b -> Int -> WGPUTextureUsage -> IO ()
Ptr WGPUTextureUsage -> IO WGPUTextureUsage
Ptr WGPUTextureUsage -> Int -> IO WGPUTextureUsage
Ptr WGPUTextureUsage -> Int -> WGPUTextureUsage -> IO ()
Ptr WGPUTextureUsage -> WGPUTextureUsage -> IO ()
WGPUTextureUsage -> Int
(WGPUTextureUsage -> Int)
-> (WGPUTextureUsage -> Int)
-> (Ptr WGPUTextureUsage -> Int -> IO WGPUTextureUsage)
-> (Ptr WGPUTextureUsage -> Int -> WGPUTextureUsage -> IO ())
-> (forall b. Ptr b -> Int -> IO WGPUTextureUsage)
-> (forall b. Ptr b -> Int -> WGPUTextureUsage -> IO ())
-> (Ptr WGPUTextureUsage -> IO WGPUTextureUsage)
-> (Ptr WGPUTextureUsage -> WGPUTextureUsage -> IO ())
-> Storable WGPUTextureUsage
forall b. Ptr b -> Int -> IO WGPUTextureUsage
forall b. Ptr b -> Int -> WGPUTextureUsage -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr WGPUTextureUsage -> WGPUTextureUsage -> IO ()
$cpoke :: Ptr WGPUTextureUsage -> WGPUTextureUsage -> IO ()
peek :: Ptr WGPUTextureUsage -> IO WGPUTextureUsage
$cpeek :: Ptr WGPUTextureUsage -> IO WGPUTextureUsage
pokeByteOff :: Ptr b -> Int -> WGPUTextureUsage -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> WGPUTextureUsage -> IO ()
peekByteOff :: Ptr b -> Int -> IO WGPUTextureUsage
$cpeekByteOff :: forall b. Ptr b -> Int -> IO WGPUTextureUsage
pokeElemOff :: Ptr WGPUTextureUsage -> Int -> WGPUTextureUsage -> IO ()
$cpokeElemOff :: Ptr WGPUTextureUsage -> Int -> WGPUTextureUsage -> IO ()
peekElemOff :: Ptr WGPUTextureUsage -> Int -> IO WGPUTextureUsage
$cpeekElemOff :: Ptr WGPUTextureUsage -> Int -> IO WGPUTextureUsage
alignment :: WGPUTextureUsage -> Int
$calignment :: WGPUTextureUsage -> Int
sizeOf :: WGPUTextureUsage -> Int
$csizeOf :: WGPUTextureUsage -> Int
Storable)

pattern None :: forall a. (Eq a, Num a) => a
pattern $bNone :: a
$mNone :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
None = 0x00000000

pattern CopySrc :: forall a. (Eq a, Num a) => a
pattern $bCopySrc :: a
$mCopySrc :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
CopySrc = 0x00000001

pattern CopyDst :: forall a. (Eq a, Num a) => a
pattern $bCopyDst :: a
$mCopyDst :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
CopyDst = 0x00000002

pattern Sampled :: forall a. (Eq a, Num a) => a
pattern $bSampled :: a
$mSampled :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Sampled = 0x00000004

pattern Storage :: forall a. (Eq a, Num a) => a
pattern $bStorage :: a
$mStorage :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Storage = 0x00000008

pattern RenderAttachment :: forall a. (Eq a, Num a) => a
pattern $bRenderAttachment :: a
$mRenderAttachment :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
RenderAttachment = 0x00000010