Skip to content

Releases: tversteeg/blit

blit-v0.8.5

07 Mar 20:42
6f08bbd
Compare
Choose a tag to compare

Fixed

  • (deps) update rust crate image to 0.24.9
  • (deps) update rust crate serde to 1.0.197
  • (deps) update rust crate num-traits to 0.2.18 (#67)
  • (deps) update rust crate thiserror to 1.0.57 (#68)
  • (ci) remove OS-specific tests, since no part of the libarry is OS-specific
  • (deps) update rust crate thiserror to 1.0.56 (#63)
  • (deps) update rust crate serde to 1.0.196 (#64)
  • (deps) update rust crate image to 0.24.8 (#66)
  • (deps) update pixel-game-lib to 0.4

Other

  • (deps) update rust crate pixel-game-lib to 0.8
  • (deps) update rust crate pixel-game-lib to 0.7
  • (deps) update rust crate pixel-game-lib to 0.6
  • (deps) update rust crate pixel-game-lib to 0.5
  • (deps) update swatinem/rust-cache action to v2.7.3 (#65)
  • (deps) update swatinem/rust-cache action to v2.7.1 (#56)
  • (example) simplify by moving to pixel-game-lib
  • (deps) update dependencies

blit-v0.8.4

13 Oct 19:23
9f716bc
Compare
Choose a tag to compare

Added

  • implement serde for options and slices

Fixed

  • (deps) update rust crate serde to 1.0.189
  • (deps) update rust crate num-traits to 0.2.17
  • (deps) update rust crate thiserror to 1.0.49

Other

  • (ci) fix release branch
  • (ci) automate README generation and releases
  • (deps) update rust crate web-time to 0.2.2
  • (deps) update rust crate web-time to 0.2.1
  • (deps) update rust crate winit to 0.28.7
  • (deps) update actions/checkout digest to 8ade135

v0.8.3

22 Sep 20:22
Compare
Choose a tag to compare

Changed

  • Updated dependencies

Full Changelog: v0.8.2...v0.8.3

v0.8.2

07 Jul 16:54
Compare
Choose a tag to compare

Fixed

  • Negative coordinates clipped wrong edge

Full Changelog: v0.8.1...v0.8.2

v0.8.1

13 May 15:44
Compare
Choose a tag to compare

Added

  • BlitOptions::with_mask & BlitOptions::set_mask for defining a mask on the destination buffer

Fixed

  • 9 slice axes being flipped

Full Changelog: v0.8.0...v0.8.1

v0.8.0

01 May 15:30
Compare
Choose a tag to compare

I've made a complete rewrite of the API. I've removed all blit_* functions in favor of a single blit function where the different options are passed with a BlitOptions struct. Furthermore, I've also removed all Aseprite functionality, since it was a bit inelegant and shouldn't be too hard to add yourself. If I can find some time in the future to make it integrate in a cleaner way, I'll might re-add it, ideally with a combination of both the aseprite and asefile crates.

Breaking Changes

  • Removed blit_rectin favor of the BlitOptions struct
  • Blit trait must now be included for all *BlitBuffer types (use blit::Blit)
  • Blit::blit requires the full size of the destination buffer, and the BlitOptions to draw it with
  • Removed Aseprite integration
  • BlitExt has been renamed to ToBlitBuffer
  • Color integration from the palette crate has been removed, color arguments are now a single u32 again

Added

  • An interactive tutorial/showcase you can view here: https://tversteeg.nl/blit/showcase/
  • Tiling implementation, when passing an area bigger than the image or the sub-rectangle the image will be scaled in a tiling way to fit it
  • Slice implementation, the simplest of which is BlitOptions::with_slice9: https://en.wikipedia.org/wiki/9-slice_scaling, it's also possible to change the slicing more granularly for each of the axes with BlitOptions::with_horizontal_slice and BlitOptions::with_vertical_slice

Changed

  • Most functions/methods accepting numbers are generic over num_traits::ToPrimitive which allows passing any number primitive to it
  • Debug implementation for BlitBuffer doesn't print all buffer bytes

Removed

  • Different examples in favor of a single showcase tutorial, which shows the relevant code as part of the demo

Performance

  • Performance of blitting tiny sprites has regressed a bit, due to extra boundary checks and different rendering options

v0.7.1

07 Apr 08:50
Compare
Choose a tag to compare

Added

  • BlitBuffer::pixels & BlitBuffer::pixels_mut to get a reference to the internal data

Removed

  • Unused bincode dependency

Full Changelog: v0.7.0...v0.7.1

v0.7.0

06 Apr 18:57
Compare
Choose a tag to compare

Breaking Changes

  • Many .blit functions have been removed in favor of BlitBuffer::blit and BlitBuffer::blit_rect
  • All file operations have been removed, including related to binary serialization
  • All serde functionality is now behind the ["serde"] feature flag
  • Removed the Color struct, now any Color from the palette library can be used
  • Image and Aseprite structs are not re-exported from the highest level
  • BlitExt::to_blit_buffer has been split into BlitExt::to_blit_buffer_with_alpha and BlitExt::to_blit_buffer_with_mask_color
  • AnimationError has been changed to a global Error struct

Performance

  • Reduced memory usage of blitbuffers by 50%
  • Optimized sub-rectangle blitting operation to be just as fast as regular blitting operation

Added

  • Implement BlitExt for all ImageBuffer types, making it easier to use the results of the image crate
  • WebAssembly examples you can view in your browser
  • BlitBuffer::from_buffer and BlitBuffer::from_iter functions

Changed

  • Better error handling
  • Debug doesn't print all bytes

Full Changelog: v0.6.1...v0.7.0

v0.6.1

26 Feb 15:11
Compare
Choose a tag to compare

Added

  • Clone trait impl on BlitBuffer

Full Changelog: v0.6.0...v0.6.1

v0.6.0

17 Feb 16:03
Compare
Choose a tag to compare

Breaking

  • Update image dependency to 0.24

Performance

  • Improve image conversion speed

Added

  • Color::white(), Color::black() and Color::alpha() static functions

Docs

New Contributors

Full Changelog: v0.5.12...v0.6.0