module Text.GLTF.Loader.Glb
  ( Glb(..),
    _gltf
  ) where

import RIO

import Text.GLTF.Loader.Gltf

-- | A Binary glTF
newtype Glb = Glb { Glb -> Gltf
unGltf :: Gltf }
  deriving (Glb -> Glb -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Glb -> Glb -> Bool
$c/= :: Glb -> Glb -> Bool
== :: Glb -> Glb -> Bool
$c== :: Glb -> Glb -> Bool
Eq, Int -> Glb -> ShowS
[Glb] -> ShowS
Glb -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Glb] -> ShowS
$cshowList :: [Glb] -> ShowS
show :: Glb -> String
$cshow :: Glb -> String
showsPrec :: Int -> Glb -> ShowS
$cshowsPrec :: Int -> Glb -> ShowS
Show)

-- | Embedded glTF root data, from the first chunk
_gltf :: Lens' Glb Gltf
_gltf :: Lens' Glb Gltf
_gltf = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
lens Glb -> Gltf
unGltf (forall a b. a -> b -> a
const Gltf -> Glb
Glb)