{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Graphics.GPipe.Internal.IDs where

newtype WinId = WinId { WinId -> Int
unWinId :: Int }
    deriving (Integer -> WinId
WinId -> WinId
WinId -> WinId -> WinId
(WinId -> WinId -> WinId)
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId)
-> (WinId -> WinId)
-> (WinId -> WinId)
-> (Integer -> WinId)
-> Num WinId
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> WinId
$cfromInteger :: Integer -> WinId
signum :: WinId -> WinId
$csignum :: WinId -> WinId
abs :: WinId -> WinId
$cabs :: WinId -> WinId
negate :: WinId -> WinId
$cnegate :: WinId -> WinId
* :: WinId -> WinId -> WinId
$c* :: WinId -> WinId -> WinId
- :: WinId -> WinId -> WinId
$c- :: WinId -> WinId -> WinId
+ :: WinId -> WinId -> WinId
$c+ :: WinId -> WinId -> WinId
Num, Int -> WinId
WinId -> Int
WinId -> [WinId]
WinId -> WinId
WinId -> WinId -> [WinId]
WinId -> WinId -> WinId -> [WinId]
(WinId -> WinId)
-> (WinId -> WinId)
-> (Int -> WinId)
-> (WinId -> Int)
-> (WinId -> [WinId])
-> (WinId -> WinId -> [WinId])
-> (WinId -> WinId -> [WinId])
-> (WinId -> WinId -> WinId -> [WinId])
-> Enum WinId
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: WinId -> WinId -> WinId -> [WinId]
$cenumFromThenTo :: WinId -> WinId -> WinId -> [WinId]
enumFromTo :: WinId -> WinId -> [WinId]
$cenumFromTo :: WinId -> WinId -> [WinId]
enumFromThen :: WinId -> WinId -> [WinId]
$cenumFromThen :: WinId -> WinId -> [WinId]
enumFrom :: WinId -> [WinId]
$cenumFrom :: WinId -> [WinId]
fromEnum :: WinId -> Int
$cfromEnum :: WinId -> Int
toEnum :: Int -> WinId
$ctoEnum :: Int -> WinId
pred :: WinId -> WinId
$cpred :: WinId -> WinId
succ :: WinId -> WinId
$csucc :: WinId -> WinId
Enum, Num WinId
Ord WinId
Num WinId -> Ord WinId -> (WinId -> Rational) -> Real WinId
WinId -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: WinId -> Rational
$ctoRational :: WinId -> Rational
$cp2Real :: Ord WinId
$cp1Real :: Num WinId
Real, WinId -> WinId -> Bool
(WinId -> WinId -> Bool) -> (WinId -> WinId -> Bool) -> Eq WinId
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WinId -> WinId -> Bool
$c/= :: WinId -> WinId -> Bool
== :: WinId -> WinId -> Bool
$c== :: WinId -> WinId -> Bool
Eq, Eq WinId
Eq WinId
-> (WinId -> WinId -> Ordering)
-> (WinId -> WinId -> Bool)
-> (WinId -> WinId -> Bool)
-> (WinId -> WinId -> Bool)
-> (WinId -> WinId -> Bool)
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId -> WinId)
-> Ord WinId
WinId -> WinId -> Bool
WinId -> WinId -> Ordering
WinId -> WinId -> WinId
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: WinId -> WinId -> WinId
$cmin :: WinId -> WinId -> WinId
max :: WinId -> WinId -> WinId
$cmax :: WinId -> WinId -> WinId
>= :: WinId -> WinId -> Bool
$c>= :: WinId -> WinId -> Bool
> :: WinId -> WinId -> Bool
$c> :: WinId -> WinId -> Bool
<= :: WinId -> WinId -> Bool
$c<= :: WinId -> WinId -> Bool
< :: WinId -> WinId -> Bool
$c< :: WinId -> WinId -> Bool
compare :: WinId -> WinId -> Ordering
$ccompare :: WinId -> WinId -> Ordering
$cp1Ord :: Eq WinId
Ord, Enum WinId
Real WinId
Real WinId
-> Enum WinId
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId -> WinId)
-> (WinId -> WinId -> (WinId, WinId))
-> (WinId -> WinId -> (WinId, WinId))
-> (WinId -> Integer)
-> Integral WinId
WinId -> Integer
WinId -> WinId -> (WinId, WinId)
WinId -> WinId -> WinId
forall a.
Real a
-> Enum a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
toInteger :: WinId -> Integer
$ctoInteger :: WinId -> Integer
divMod :: WinId -> WinId -> (WinId, WinId)
$cdivMod :: WinId -> WinId -> (WinId, WinId)
quotRem :: WinId -> WinId -> (WinId, WinId)
$cquotRem :: WinId -> WinId -> (WinId, WinId)
mod :: WinId -> WinId -> WinId
$cmod :: WinId -> WinId -> WinId
div :: WinId -> WinId -> WinId
$cdiv :: WinId -> WinId -> WinId
rem :: WinId -> WinId -> WinId
$crem :: WinId -> WinId -> WinId
quot :: WinId -> WinId -> WinId
$cquot :: WinId -> WinId -> WinId
$cp2Integral :: Enum WinId
$cp1Integral :: Real WinId
Integral)

newtype UniformId = UniformId { UniformId -> Int
unUniformId :: Int }
    deriving (Integer -> UniformId
UniformId -> UniformId
UniformId -> UniformId -> UniformId
(UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId)
-> (UniformId -> UniformId)
-> (UniformId -> UniformId)
-> (Integer -> UniformId)
-> Num UniformId
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> UniformId
$cfromInteger :: Integer -> UniformId
signum :: UniformId -> UniformId
$csignum :: UniformId -> UniformId
abs :: UniformId -> UniformId
$cabs :: UniformId -> UniformId
negate :: UniformId -> UniformId
$cnegate :: UniformId -> UniformId
* :: UniformId -> UniformId -> UniformId
$c* :: UniformId -> UniformId -> UniformId
- :: UniformId -> UniformId -> UniformId
$c- :: UniformId -> UniformId -> UniformId
+ :: UniformId -> UniformId -> UniformId
$c+ :: UniformId -> UniformId -> UniformId
Num, Int -> UniformId
UniformId -> Int
UniformId -> [UniformId]
UniformId -> UniformId
UniformId -> UniformId -> [UniformId]
UniformId -> UniformId -> UniformId -> [UniformId]
(UniformId -> UniformId)
-> (UniformId -> UniformId)
-> (Int -> UniformId)
-> (UniformId -> Int)
-> (UniformId -> [UniformId])
-> (UniformId -> UniformId -> [UniformId])
-> (UniformId -> UniformId -> [UniformId])
-> (UniformId -> UniformId -> UniformId -> [UniformId])
-> Enum UniformId
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: UniformId -> UniformId -> UniformId -> [UniformId]
$cenumFromThenTo :: UniformId -> UniformId -> UniformId -> [UniformId]
enumFromTo :: UniformId -> UniformId -> [UniformId]
$cenumFromTo :: UniformId -> UniformId -> [UniformId]
enumFromThen :: UniformId -> UniformId -> [UniformId]
$cenumFromThen :: UniformId -> UniformId -> [UniformId]
enumFrom :: UniformId -> [UniformId]
$cenumFrom :: UniformId -> [UniformId]
fromEnum :: UniformId -> Int
$cfromEnum :: UniformId -> Int
toEnum :: Int -> UniformId
$ctoEnum :: Int -> UniformId
pred :: UniformId -> UniformId
$cpred :: UniformId -> UniformId
succ :: UniformId -> UniformId
$csucc :: UniformId -> UniformId
Enum, Num UniformId
Ord UniformId
Num UniformId
-> Ord UniformId -> (UniformId -> Rational) -> Real UniformId
UniformId -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: UniformId -> Rational
$ctoRational :: UniformId -> Rational
$cp2Real :: Ord UniformId
$cp1Real :: Num UniformId
Real, UniformId -> UniformId -> Bool
(UniformId -> UniformId -> Bool)
-> (UniformId -> UniformId -> Bool) -> Eq UniformId
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UniformId -> UniformId -> Bool
$c/= :: UniformId -> UniformId -> Bool
== :: UniformId -> UniformId -> Bool
$c== :: UniformId -> UniformId -> Bool
Eq, Eq UniformId
Eq UniformId
-> (UniformId -> UniformId -> Ordering)
-> (UniformId -> UniformId -> Bool)
-> (UniformId -> UniformId -> Bool)
-> (UniformId -> UniformId -> Bool)
-> (UniformId -> UniformId -> Bool)
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> UniformId)
-> Ord UniformId
UniformId -> UniformId -> Bool
UniformId -> UniformId -> Ordering
UniformId -> UniformId -> UniformId
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: UniformId -> UniformId -> UniformId
$cmin :: UniformId -> UniformId -> UniformId
max :: UniformId -> UniformId -> UniformId
$cmax :: UniformId -> UniformId -> UniformId
>= :: UniformId -> UniformId -> Bool
$c>= :: UniformId -> UniformId -> Bool
> :: UniformId -> UniformId -> Bool
$c> :: UniformId -> UniformId -> Bool
<= :: UniformId -> UniformId -> Bool
$c<= :: UniformId -> UniformId -> Bool
< :: UniformId -> UniformId -> Bool
$c< :: UniformId -> UniformId -> Bool
compare :: UniformId -> UniformId -> Ordering
$ccompare :: UniformId -> UniformId -> Ordering
$cp1Ord :: Eq UniformId
Ord, Enum UniformId
Real UniformId
Real UniformId
-> Enum UniformId
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> UniformId)
-> (UniformId -> UniformId -> (UniformId, UniformId))
-> (UniformId -> UniformId -> (UniformId, UniformId))
-> (UniformId -> Integer)
-> Integral UniformId
UniformId -> Integer
UniformId -> UniformId -> (UniformId, UniformId)
UniformId -> UniformId -> UniformId
forall a.
Real a
-> Enum a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
toInteger :: UniformId -> Integer
$ctoInteger :: UniformId -> Integer
divMod :: UniformId -> UniformId -> (UniformId, UniformId)
$cdivMod :: UniformId -> UniformId -> (UniformId, UniformId)
quotRem :: UniformId -> UniformId -> (UniformId, UniformId)
$cquotRem :: UniformId -> UniformId -> (UniformId, UniformId)
mod :: UniformId -> UniformId -> UniformId
$cmod :: UniformId -> UniformId -> UniformId
div :: UniformId -> UniformId -> UniformId
$cdiv :: UniformId -> UniformId -> UniformId
rem :: UniformId -> UniformId -> UniformId
$crem :: UniformId -> UniformId -> UniformId
quot :: UniformId -> UniformId -> UniformId
$cquot :: UniformId -> UniformId -> UniformId
$cp2Integral :: Enum UniformId
$cp1Integral :: Real UniformId
Integral)
instance Show UniformId where show :: UniformId -> String
show = Int -> String
forall a. Show a => a -> String
show (Int -> String) -> (UniformId -> Int) -> UniformId -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. UniformId -> Int
unUniformId

newtype SamplerId = SamplerId { SamplerId -> Int
unSamplerId :: Int }
    deriving (Integer -> SamplerId
SamplerId -> SamplerId
SamplerId -> SamplerId -> SamplerId
(SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId)
-> (SamplerId -> SamplerId)
-> (SamplerId -> SamplerId)
-> (Integer -> SamplerId)
-> Num SamplerId
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> SamplerId
$cfromInteger :: Integer -> SamplerId
signum :: SamplerId -> SamplerId
$csignum :: SamplerId -> SamplerId
abs :: SamplerId -> SamplerId
$cabs :: SamplerId -> SamplerId
negate :: SamplerId -> SamplerId
$cnegate :: SamplerId -> SamplerId
* :: SamplerId -> SamplerId -> SamplerId
$c* :: SamplerId -> SamplerId -> SamplerId
- :: SamplerId -> SamplerId -> SamplerId
$c- :: SamplerId -> SamplerId -> SamplerId
+ :: SamplerId -> SamplerId -> SamplerId
$c+ :: SamplerId -> SamplerId -> SamplerId
Num, Int -> SamplerId
SamplerId -> Int
SamplerId -> [SamplerId]
SamplerId -> SamplerId
SamplerId -> SamplerId -> [SamplerId]
SamplerId -> SamplerId -> SamplerId -> [SamplerId]
(SamplerId -> SamplerId)
-> (SamplerId -> SamplerId)
-> (Int -> SamplerId)
-> (SamplerId -> Int)
-> (SamplerId -> [SamplerId])
-> (SamplerId -> SamplerId -> [SamplerId])
-> (SamplerId -> SamplerId -> [SamplerId])
-> (SamplerId -> SamplerId -> SamplerId -> [SamplerId])
-> Enum SamplerId
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: SamplerId -> SamplerId -> SamplerId -> [SamplerId]
$cenumFromThenTo :: SamplerId -> SamplerId -> SamplerId -> [SamplerId]
enumFromTo :: SamplerId -> SamplerId -> [SamplerId]
$cenumFromTo :: SamplerId -> SamplerId -> [SamplerId]
enumFromThen :: SamplerId -> SamplerId -> [SamplerId]
$cenumFromThen :: SamplerId -> SamplerId -> [SamplerId]
enumFrom :: SamplerId -> [SamplerId]
$cenumFrom :: SamplerId -> [SamplerId]
fromEnum :: SamplerId -> Int
$cfromEnum :: SamplerId -> Int
toEnum :: Int -> SamplerId
$ctoEnum :: Int -> SamplerId
pred :: SamplerId -> SamplerId
$cpred :: SamplerId -> SamplerId
succ :: SamplerId -> SamplerId
$csucc :: SamplerId -> SamplerId
Enum, Num SamplerId
Ord SamplerId
Num SamplerId
-> Ord SamplerId -> (SamplerId -> Rational) -> Real SamplerId
SamplerId -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
toRational :: SamplerId -> Rational
$ctoRational :: SamplerId -> Rational
$cp2Real :: Ord SamplerId
$cp1Real :: Num SamplerId
Real, SamplerId -> SamplerId -> Bool
(SamplerId -> SamplerId -> Bool)
-> (SamplerId -> SamplerId -> Bool) -> Eq SamplerId
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SamplerId -> SamplerId -> Bool
$c/= :: SamplerId -> SamplerId -> Bool
== :: SamplerId -> SamplerId -> Bool
$c== :: SamplerId -> SamplerId -> Bool
Eq, Eq SamplerId
Eq SamplerId
-> (SamplerId -> SamplerId -> Ordering)
-> (SamplerId -> SamplerId -> Bool)
-> (SamplerId -> SamplerId -> Bool)
-> (SamplerId -> SamplerId -> Bool)
-> (SamplerId -> SamplerId -> Bool)
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> SamplerId)
-> Ord SamplerId
SamplerId -> SamplerId -> Bool
SamplerId -> SamplerId -> Ordering
SamplerId -> SamplerId -> SamplerId
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: SamplerId -> SamplerId -> SamplerId
$cmin :: SamplerId -> SamplerId -> SamplerId
max :: SamplerId -> SamplerId -> SamplerId
$cmax :: SamplerId -> SamplerId -> SamplerId
>= :: SamplerId -> SamplerId -> Bool
$c>= :: SamplerId -> SamplerId -> Bool
> :: SamplerId -> SamplerId -> Bool
$c> :: SamplerId -> SamplerId -> Bool
<= :: SamplerId -> SamplerId -> Bool
$c<= :: SamplerId -> SamplerId -> Bool
< :: SamplerId -> SamplerId -> Bool
$c< :: SamplerId -> SamplerId -> Bool
compare :: SamplerId -> SamplerId -> Ordering
$ccompare :: SamplerId -> SamplerId -> Ordering
$cp1Ord :: Eq SamplerId
Ord, Enum SamplerId
Real SamplerId
Real SamplerId
-> Enum SamplerId
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> SamplerId)
-> (SamplerId -> SamplerId -> (SamplerId, SamplerId))
-> (SamplerId -> SamplerId -> (SamplerId, SamplerId))
-> (SamplerId -> Integer)
-> Integral SamplerId
SamplerId -> Integer
SamplerId -> SamplerId -> (SamplerId, SamplerId)
SamplerId -> SamplerId -> SamplerId
forall a.
Real a
-> Enum a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
toInteger :: SamplerId -> Integer
$ctoInteger :: SamplerId -> Integer
divMod :: SamplerId -> SamplerId -> (SamplerId, SamplerId)
$cdivMod :: SamplerId -> SamplerId -> (SamplerId, SamplerId)
quotRem :: SamplerId -> SamplerId -> (SamplerId, SamplerId)
$cquotRem :: SamplerId -> SamplerId -> (SamplerId, SamplerId)
mod :: SamplerId -> SamplerId -> SamplerId
$cmod :: SamplerId -> SamplerId -> SamplerId
div :: SamplerId -> SamplerId -> SamplerId
$cdiv :: SamplerId -> SamplerId -> SamplerId
rem :: SamplerId -> SamplerId -> SamplerId
$crem :: SamplerId -> SamplerId -> SamplerId
quot :: SamplerId -> SamplerId -> SamplerId
$cquot :: SamplerId -> SamplerId -> SamplerId
$cp2Integral :: Enum SamplerId
$cp1Integral :: Real SamplerId
Integral)
instance Show SamplerId where show :: SamplerId -> String
show = Int -> String
forall a. Show a => a -> String
show (Int -> String) -> (SamplerId -> Int) -> SamplerId -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. SamplerId -> Int
unSamplerId