{-# 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.WGPUBlendFactor where

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

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

pattern Zero :: forall a. (Eq a, Num a) => a
pattern $bZero :: a
$mZero :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Zero = 0x00000000

pattern One :: forall a. (Eq a, Num a) => a
pattern $bOne :: a
$mOne :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
One = 0x00000001

pattern Src :: forall a. (Eq a, Num a) => a
pattern $bSrc :: a
$mSrc :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Src = 0x00000002

pattern OneMinusSrc :: forall a. (Eq a, Num a) => a
pattern $bOneMinusSrc :: a
$mOneMinusSrc :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
OneMinusSrc = 0x00000003

pattern SrcAlpha :: forall a. (Eq a, Num a) => a
pattern $bSrcAlpha :: a
$mSrcAlpha :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SrcAlpha = 0x00000004

pattern OneMinusSrcAlpha :: forall a. (Eq a, Num a) => a
pattern $bOneMinusSrcAlpha :: a
$mOneMinusSrcAlpha :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
OneMinusSrcAlpha = 0x00000005

pattern Dst :: forall a. (Eq a, Num a) => a
pattern $bDst :: a
$mDst :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Dst = 0x00000006

pattern OneMinusDst :: forall a. (Eq a, Num a) => a
pattern $bOneMinusDst :: a
$mOneMinusDst :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
OneMinusDst = 0x00000007

pattern DstAlpha :: forall a. (Eq a, Num a) => a
pattern $bDstAlpha :: a
$mDstAlpha :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
DstAlpha = 0x00000008

pattern OneMinusDstAlpha :: forall a. (Eq a, Num a) => a
pattern $bOneMinusDstAlpha :: a
$mOneMinusDstAlpha :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
OneMinusDstAlpha = 0x00000009

pattern SrcAlphaSaturated :: forall a. (Eq a, Num a) => a
pattern $bSrcAlphaSaturated :: a
$mSrcAlphaSaturated :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SrcAlphaSaturated = 0x0000000A

pattern Constant :: forall a. (Eq a, Num a) => a
pattern $bConstant :: a
$mConstant :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Constant = 0x0000000B

pattern OneMinusConstant :: forall a. (Eq a, Num a) => a
pattern $bOneMinusConstant :: a
$mOneMinusConstant :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
OneMinusConstant = 0x0000000C