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

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

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

pattern Add :: forall a. (Eq a, Num a) => a
pattern $bAdd :: a
$mAdd :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Add = 0x00000000

pattern Subtract :: forall a. (Eq a, Num a) => a
pattern $bSubtract :: a
$mSubtract :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Subtract = 0x00000001

pattern ReverseSubtract :: forall a. (Eq a, Num a) => a
pattern $bReverseSubtract :: a
$mReverseSubtract :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
ReverseSubtract = 0x00000002

pattern Min :: forall a. (Eq a, Num a) => a
pattern $bMin :: a
$mMin :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Min = 0x00000003

pattern Max :: forall a. (Eq a, Num a) => a
pattern $bMax :: a
$mMax :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Max = 0x00000004