0.6
Finally, approximately a month since the first public Pixel release, we're releasing Pixel 0.6.
Big thanks to everyone who contributed by sharing ideas, opening issues, or sending pull requests.
Stats
- Pixel 0.5 was released on April 25
- Since then we added 1981 LOC and deleted 469 LOC in 105 commits
- Gained 478 GitHub stars
- Closed 19 issues
New features
The main goal of 0.6 was text drawing. This goal was quickly accomplished and perfected over the last month. Few more features landed too.
- Text drawing using the new text package. Accompanied by the new tutorial and the new typewriter example
- Added ability to set Window icon
- Added ability to hide the mouse cursor
- New Rect.Union method
- New advanced Canvas.Frame method
Breaking changes
Unfortunately, there are a few very important breaking changes in this release too. I decided to included them, because the old ways were starting to annoy me and I felt like these were the right changes to do. Hopefully, there will be no more breaking changes after this.
All tutorials and examples were updated according to the breaking changes.
- Changed Vec implementation from
complex128
to a simplestruct
. This choice was made because although thecomplex128
implementation allowed for a very nice addition and subtraction using+
and-
operators, it complicated pretty much every other operation. - Removed
SetMatrix
andSetColorMask
fromSprite
and replaced the simplesprite.Draw(target)
signature withsprite.Draw(target, matrix)
andsprite.DrawColorMask(target, matrix, mask)
methods. This choice was made, because it avoids a lot of typing and eliminates some state. The same change was done forCanvas
, althoughSetMatrix
andSetColorMask
methods were kept there, because they serve a different purpose. IMDraw
properties were changed from methods to fields. So now, instead ofimd.Color(colornames.Red)
you writeimd.Color = colornames.Red
. This is more convenient and allows for retrieving the value easily.
Improvements
- Added
examples/community
directory, for community examples: right now, there's a maze generator by Stephen Chavez - Improved documentation in several places
- Fixed numerous bugs