module Codec.GlTF.Buffer
( BufferIx(..)
, Buffer(..)
) where
import Codec.GlTF.Prelude
import Codec.GlTF.URI (URI)
newtype BufferIx = BufferIx { BufferIx -> Int
unBufferIx :: Int }
deriving (BufferIx -> BufferIx -> Bool
(BufferIx -> BufferIx -> Bool)
-> (BufferIx -> BufferIx -> Bool) -> Eq BufferIx
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferIx -> BufferIx -> Bool
$c/= :: BufferIx -> BufferIx -> Bool
== :: BufferIx -> BufferIx -> Bool
$c== :: BufferIx -> BufferIx -> Bool
Eq, Eq BufferIx
Eq BufferIx
-> (BufferIx -> BufferIx -> Ordering)
-> (BufferIx -> BufferIx -> Bool)
-> (BufferIx -> BufferIx -> Bool)
-> (BufferIx -> BufferIx -> Bool)
-> (BufferIx -> BufferIx -> Bool)
-> (BufferIx -> BufferIx -> BufferIx)
-> (BufferIx -> BufferIx -> BufferIx)
-> Ord BufferIx
BufferIx -> BufferIx -> Bool
BufferIx -> BufferIx -> Ordering
BufferIx -> BufferIx -> BufferIx
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 :: BufferIx -> BufferIx -> BufferIx
$cmin :: BufferIx -> BufferIx -> BufferIx
max :: BufferIx -> BufferIx -> BufferIx
$cmax :: BufferIx -> BufferIx -> BufferIx
>= :: BufferIx -> BufferIx -> Bool
$c>= :: BufferIx -> BufferIx -> Bool
> :: BufferIx -> BufferIx -> Bool
$c> :: BufferIx -> BufferIx -> Bool
<= :: BufferIx -> BufferIx -> Bool
$c<= :: BufferIx -> BufferIx -> Bool
< :: BufferIx -> BufferIx -> Bool
$c< :: BufferIx -> BufferIx -> Bool
compare :: BufferIx -> BufferIx -> Ordering
$ccompare :: BufferIx -> BufferIx -> Ordering
$cp1Ord :: Eq BufferIx
Ord, Int -> BufferIx -> ShowS
[BufferIx] -> ShowS
BufferIx -> String
(Int -> BufferIx -> ShowS)
-> (BufferIx -> String) -> ([BufferIx] -> ShowS) -> Show BufferIx
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BufferIx] -> ShowS
$cshowList :: [BufferIx] -> ShowS
show :: BufferIx -> String
$cshow :: BufferIx -> String
showsPrec :: Int -> BufferIx -> ShowS
$cshowsPrec :: Int -> BufferIx -> ShowS
Show, Value -> Parser [BufferIx]
Value -> Parser BufferIx
(Value -> Parser BufferIx)
-> (Value -> Parser [BufferIx]) -> FromJSON BufferIx
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [BufferIx]
$cparseJSONList :: Value -> Parser [BufferIx]
parseJSON :: Value -> Parser BufferIx
$cparseJSON :: Value -> Parser BufferIx
FromJSON, [BufferIx] -> Encoding
[BufferIx] -> Value
BufferIx -> Encoding
BufferIx -> Value
(BufferIx -> Value)
-> (BufferIx -> Encoding)
-> ([BufferIx] -> Value)
-> ([BufferIx] -> Encoding)
-> ToJSON BufferIx
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [BufferIx] -> Encoding
$ctoEncodingList :: [BufferIx] -> Encoding
toJSONList :: [BufferIx] -> Value
$ctoJSONList :: [BufferIx] -> Value
toEncoding :: BufferIx -> Encoding
$ctoEncoding :: BufferIx -> Encoding
toJSON :: BufferIx -> Value
$ctoJSON :: BufferIx -> Value
ToJSON, (forall x. BufferIx -> Rep BufferIx x)
-> (forall x. Rep BufferIx x -> BufferIx) -> Generic BufferIx
forall x. Rep BufferIx x -> BufferIx
forall x. BufferIx -> Rep BufferIx x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep BufferIx x -> BufferIx
$cfrom :: forall x. BufferIx -> Rep BufferIx x
Generic)
data Buffer = Buffer
{ Buffer -> Int
byteLength :: Size
, Buffer -> Maybe URI
uri :: Maybe URI
, Buffer -> Maybe Text
name :: Maybe Text
, Buffer -> Maybe Object
extensions :: Maybe Object
, :: Maybe Value
} deriving (Buffer -> Buffer -> Bool
(Buffer -> Buffer -> Bool)
-> (Buffer -> Buffer -> Bool) -> Eq Buffer
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Buffer -> Buffer -> Bool
$c/= :: Buffer -> Buffer -> Bool
== :: Buffer -> Buffer -> Bool
$c== :: Buffer -> Buffer -> Bool
Eq, Int -> Buffer -> ShowS
[Buffer] -> ShowS
Buffer -> String
(Int -> Buffer -> ShowS)
-> (Buffer -> String) -> ([Buffer] -> ShowS) -> Show Buffer
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Buffer] -> ShowS
$cshowList :: [Buffer] -> ShowS
show :: Buffer -> String
$cshow :: Buffer -> String
showsPrec :: Int -> Buffer -> ShowS
$cshowsPrec :: Int -> Buffer -> ShowS
Show, (forall x. Buffer -> Rep Buffer x)
-> (forall x. Rep Buffer x -> Buffer) -> Generic Buffer
forall x. Rep Buffer x -> Buffer
forall x. Buffer -> Rep Buffer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Buffer x -> Buffer
$cfrom :: forall x. Buffer -> Rep Buffer x
Generic)
instance FromJSON Buffer
instance ToJSON Buffer