Updated changelog for Canvas/TextureCreator change

This commit is contained in:
Cobrand
2017-05-02 08:39:30 +02:00
parent 39cd8372f5
commit cddc9a9fa1
+28 -1
View File
@@ -3,6 +3,33 @@ when upgrading from a version of rust-sdl2 to another.
### v0.30
[PR #632](https://github.com/AngryLawyer/rust-sdl2/pull/632)
The path of soundness isn't an easy one; sometimes ease of use has to be sacrificed
for soundness and safety! This change is a breaking change, and a **huge** one at that.
**You will probably have to refactor some parts of your code**, but this is the price to
pay for soundness and runtime safety.
**Breaking Changes:**
* `Renderer` has been renamed and split into `Canvas` and `TextureCreator`.
* `Canvas` can store a `Surface` or a `Window`, and can be used to render into these as well.
`TextureCreator` creates `Texture`s and is used by Texture to make sure they don't live
longer than expected.
* `set_render_target` has been removed and has been replaced with `Canvas::with_target`.
* Deleted `WindowRef`, it wasn't useful anymore.
Other Changes:
* Added `PixelFormatEnum::supports_alpha(&self) -> bool` method.
* A single Game Of Life example has been added to show the basic capabilities of the new `Canvas`
and `TextureCreator` structs, as well as adding a very basic game to show how to handle input / game
changes in a basic game.
You won't have to worry about what target your `Renderer` has at runtime anymore, everything
is done at compile time now !
[PR #628](https://github.com/AngryLawyer/rust-sdl2/pull/628)
* Changed signature of `Surface::fill_rects` ([old](https://docs.rs/sdl2/0.29.1/sdl2/surface/struct.SurfaceRef.html#method.fill_rects) | [new](https://docs.rs/sdl2/0.30.0/sdl2/surface/struct.SurfaceRef.html#method.fill_rects))
@@ -24,7 +51,7 @@ sdl2::hint::get_video_minimize_on_focus_lost() -> bool;
[PR #629](https://github.com/AngryLawyer/rust-sdl2/pull/629)
* Breaking: Changed Color to be a struct rather than an enum.
* **Breaking Change: Changed Color to be a struct rather than an enum.**
* Takes less space, easier to use, old constructors are still available.
* Matching is no longer necessary to read the component values.
* Struct rather than variant construction is required in static initializers.