Releases: tversteeg/blit
Releases · tversteeg/blit
blit-v0.8.5
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
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
v0.8.2
v0.8.1
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
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_rect
in favor of theBlitOptions
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 theBlitOptions
to draw it with- Removed Aseprite integration
BlitExt
has been renamed toToBlitBuffer
- Color integration from the
palette
crate has been removed, color arguments are now a singleu32
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 withBlitOptions::with_horizontal_slice
andBlitOptions::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 forBlitBuffer
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
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
Breaking Changes
- Many
.blit
functions have been removed in favor ofBlitBuffer::blit
andBlitBuffer::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 anyColor
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 intoBlitExt::to_blit_buffer_with_alpha
andBlitExt::to_blit_buffer_with_mask_color
AnimationError
has been changed to a globalError
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 allImageBuffer
types, making it easier to use the results of the image crate - WebAssembly examples you can view in your browser
BlitBuffer::from_buffer
andBlitBuffer::from_iter
functions
Changed
- Better error handling
Debug
doesn't print all bytes
Full Changelog: v0.6.1...v0.7.0