packages feed

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 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