ktx-codec 0.0.1.1 → 0.0.1.2
raw patch · 3 files changed
+18/−3 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Codec.Ktx: fromByteString :: ByteString -> Either (ByteOffset, String) Ktx
Files
- ChangeLog.md +6/−0
- ktx-codec.cabal +2/−2
- src/Codec/Ktx.hs +10/−1
ChangeLog.md view
@@ -1,5 +1,11 @@ # Changelog for ktx-codec +## [0.0.1.2] - 2021-01-18++* Add `fromByteString`++[0.0.1.2]: https://gitlab.com/dpwiz/ktx/-/tree/v0.0.1.2-codec+ ## [0.0.1.1] - 2020-08-24 * Debug traces removed.
ktx-codec.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: b3d919b1cb108455f9f11c9c1d401b54550721d77b0af43ef70d021927dd3bf3+-- hash: 90f4385af1027f93ec529bb24d6a8c8435eb753ead4b549c7885a3b1005e21b6 name: ktx-codec-version: 0.0.1.1+version: 0.0.1.2 synopsis: Khronos texture format description: 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
src/Codec/Ktx.hs view
@@ -1,6 +1,6 @@ module Codec.Ktx where -import Data.Binary (Binary(..), decodeFileOrFail)+import Data.Binary (Binary(..), decodeFileOrFail, decodeOrFail) import Data.Binary.Get (Get, ByteOffset, getWord32le, getWord32be, getByteString, skip) import Data.Binary.Put (Put, putByteString, putWord32le) import Data.ByteString (ByteString)@@ -16,6 +16,15 @@ import qualified Data.Map.Strict as Map import qualified Data.Vector as Vector import qualified Data.ByteString as BS+import qualified Data.ByteString.Lazy as BSL++fromByteString :: ByteString -> Either (ByteOffset, String) Ktx+fromByteString bs =+ case decodeOrFail (BSL.fromStrict bs) of+ Right (_leftovers, _bytesLeft, ktx) ->+ Right ktx+ Left (_leftovers, bytesLeft, err) ->+ Left (bytesLeft, err) fromFile :: FilePath -> IO (Either (ByteOffset, String) Ktx) fromFile = decodeFileOrFail