-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Khronos texture format -- -- KTX is a format for storing textures for OpenGLĀ® and OpenGLĀ® ES -- applications. It is distinguished by the simplicity of the loader -- required to instantiate a GL texture object from the file contents. -- -- -- https://web.archive.org/web/20201116105642/https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ @package ktx-codec @version 0.0.1.3 module Codec.Ktx fromByteStringLazy :: ByteString -> Either (ByteOffset, String) Ktx fromByteString :: ByteString -> Either (ByteOffset, String) Ktx fromFile :: FilePath -> IO (Either (ByteOffset, String) Ktx) toBuilder :: Ktx -> Builder toFile :: FilePath -> Ktx -> IO () data Ktx Ktx :: Header -> KeyValueData -> MipLevels -> Ktx [$sel:header:Ktx] :: Ktx -> Header [$sel:kvs:Ktx] :: Ktx -> KeyValueData [$sel:images:Ktx] :: Ktx -> MipLevels data Header Header :: ByteString -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Header [$sel:identifier:Header] :: Header -> ByteString [$sel:endianness:Header] :: Header -> Word32 [$sel:glType:Header] :: Header -> Word32 [$sel:glTypeSize:Header] :: Header -> Word32 [$sel:glFormat:Header] :: Header -> Word32 [$sel:glInternalFormat:Header] :: Header -> Word32 [$sel:glBaseInternalFormat:Header] :: Header -> Word32 [$sel:pixelWidth:Header] :: Header -> Word32 [$sel:pixelHeight:Header] :: Header -> Word32 [$sel:pixelDepth:Header] :: Header -> Word32 [$sel:numberOfArrayElements:Header] :: Header -> Word32 [$sel:numberOfFaces:Header] :: Header -> Word32 [$sel:numberOfMipmapLevels:Header] :: Header -> Word32 [$sel:bytesOfKeyValueData:Header] :: Header -> Word32 endiannessLE :: Word32 canonicalIdentifier :: ByteString type KeyValueData = Map Key Value newtype Key Key :: Text -> Key newtype Value Value :: ByteString -> Value getKeyValueData :: Header -> Get KeyValueData putKeyValueData :: (Word32 -> Put) -> Map Key Value -> Put type MipLevels = Vector MipLevel data MipLevel MipLevel :: Word32 -> Vector ArrayElement -> MipLevel [$sel:imageSize:MipLevel] :: MipLevel -> Word32 [$sel:arrayElements:MipLevel] :: MipLevel -> Vector ArrayElement newtype ArrayElement ArrayElement :: Vector Face -> ArrayElement [$sel:faces:ArrayElement] :: ArrayElement -> Vector Face newtype Face Face :: Vector ZSlice -> Face [$sel:zSlices:Face] :: Face -> Vector ZSlice newtype ZSlice ZSlice :: ByteString -> ZSlice [$sel:block:ZSlice] :: ZSlice -> ByteString getImages :: Header -> Get MipLevels putImages :: (Word32 -> Put) -> MipLevels -> Put mkPutWord32 :: Word32 -> Word32 -> Put instance GHC.Generics.Generic Codec.Ktx.Header instance GHC.Show.Show Codec.Ktx.Header instance GHC.Generics.Generic Codec.Ktx.Key instance GHC.Show.Show Codec.Ktx.Key instance GHC.Classes.Ord Codec.Ktx.Key instance GHC.Classes.Eq Codec.Ktx.Key instance GHC.Generics.Generic Codec.Ktx.Value instance GHC.Show.Show Codec.Ktx.Value instance GHC.Generics.Generic Codec.Ktx.ZSlice instance GHC.Generics.Generic Codec.Ktx.Face instance GHC.Show.Show Codec.Ktx.Face instance GHC.Generics.Generic Codec.Ktx.ArrayElement instance GHC.Show.Show Codec.Ktx.ArrayElement instance GHC.Generics.Generic Codec.Ktx.MipLevel instance GHC.Show.Show Codec.Ktx.MipLevel instance GHC.Generics.Generic Codec.Ktx.Ktx instance GHC.Show.Show Codec.Ktx.Ktx instance Data.Binary.Class.Binary Codec.Ktx.Ktx instance GHC.Show.Show Codec.Ktx.ZSlice instance Data.Binary.Class.Binary Codec.Ktx.Header