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

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

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

pattern PointList :: forall a. (Eq a, Num a) => a
pattern $bPointList :: a
$mPointList :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
PointList = 0x00000000

pattern LineList :: forall a. (Eq a, Num a) => a
pattern $bLineList :: a
$mLineList :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
LineList = 0x00000001

pattern LineStrip :: forall a. (Eq a, Num a) => a
pattern $bLineStrip :: a
$mLineStrip :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
LineStrip = 0x00000002

pattern TriangleList :: forall a. (Eq a, Num a) => a
pattern $bTriangleList :: a
$mTriangleList :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
TriangleList = 0x00000003

pattern TriangleStrip :: forall a. (Eq a, Num a) => a
pattern $bTriangleStrip :: a
$mTriangleStrip :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
TriangleStrip = 0x00000004