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
$c== :: BufferIx -> BufferIx -> Bool
== :: BufferIx -> BufferIx -> Bool
$c/= :: BufferIx -> BufferIx -> Bool
/= :: 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
$ccompare :: BufferIx -> BufferIx -> Ordering
compare :: BufferIx -> BufferIx -> Ordering
$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
>= :: BufferIx -> BufferIx -> Bool
$cmax :: BufferIx -> BufferIx -> BufferIx
max :: BufferIx -> BufferIx -> BufferIx
$cmin :: BufferIx -> BufferIx -> BufferIx
min :: BufferIx -> BufferIx -> 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
$cshowsPrec :: Int -> BufferIx -> ShowS
showsPrec :: Int -> BufferIx -> ShowS
$cshow :: BufferIx -> String
show :: BufferIx -> String
$cshowList :: [BufferIx] -> ShowS
showList :: [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
$cparseJSON :: Value -> Parser BufferIx
parseJSON :: Value -> Parser BufferIx
$cparseJSONList :: Value -> Parser [BufferIx]
parseJSONList :: Value -> Parser [BufferIx]
FromJSON, [BufferIx] -> Value
[BufferIx] -> Encoding
BufferIx -> Value
BufferIx -> Encoding
(BufferIx -> Value)
-> (BufferIx -> Encoding)
-> ([BufferIx] -> Value)
-> ([BufferIx] -> Encoding)
-> ToJSON BufferIx
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: BufferIx -> Value
toJSON :: BufferIx -> Value
$ctoEncoding :: BufferIx -> Encoding
toEncoding :: BufferIx -> Encoding
$ctoJSONList :: [BufferIx] -> Value
toJSONList :: [BufferIx] -> Value
$ctoEncodingList :: [BufferIx] -> Encoding
toEncodingList :: [BufferIx] -> Encoding
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
$cfrom :: forall x. BufferIx -> Rep BufferIx x
from :: forall x. BufferIx -> Rep BufferIx x
$cto :: forall x. Rep BufferIx x -> BufferIx
to :: forall x. Rep BufferIx x -> BufferIx
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
$c== :: Buffer -> Buffer -> Bool
== :: Buffer -> Buffer -> Bool
$c/= :: Buffer -> Buffer -> Bool
/= :: 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
$cshowsPrec :: Int -> Buffer -> ShowS
showsPrec :: Int -> Buffer -> ShowS
$cshow :: Buffer -> String
show :: Buffer -> String
$cshowList :: [Buffer] -> ShowS
showList :: [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
$cfrom :: forall x. Buffer -> Rep Buffer x
from :: forall x. Buffer -> Rep Buffer x
$cto :: forall x. Rep Buffer x -> Buffer
to :: forall x. Rep Buffer x -> Buffer
Generic)
instance FromJSON Buffer
instance ToJSON Buffer