From cdfb6e906981ac20f8d5e1906ae824354032bc72 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Fri, 22 Jan 2016 15:36:16 +0300 Subject: [PATCH 1/3] Add initial changelog composed from GH releases --- CHANGES.md | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 CHANGES.md diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..e4f31f9 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,160 @@ +# Change Log +All notable changes to this project will be documented in this file. +This project adheres to [Semantic Versioning](http://semver.org/). + +## [0.11.0] - 2015-11-30 +### Added +* GetDrawable{Width,Height,Size} Window functions (@csoren) +* Point and Rect less-than operators and std::hash support +* Rect: more methods, wider constexpr support + +### Fixed +* Rect documentation fixes +* Unused variable warnings (@vladimirgamalian) +* Incorrect return value handling in Surface::SetClipRect + +## [0.10.0] - 2015-10-14 +### Fixed +* Improved cygwin compatibility +* Missing SDL2pp::SDL methods +* Return and argument types to match upstream API (SDL2pp::Window, SDL2pp::Font, SDL2pp::Mixer) +* Infinite loop in StreamRWops +* Documentation improvements +* Build without SDL_mixer support + +## [0.9.0] - 2015-09-07 +### Added +* SDL_mixer support +* more Point operators: remainder; multiplication, division and remainder counterparts which take another Point +* Point and Rect better inlining and constexpr support +* Surface::GetFormat() +* Texture::Update() taking pixels from Surface + +## [0.8.2] - 2015-07-28 +### Fixed +* Add missing Font::IsGlyphProvided implementation (@vladimirgamalian) +* Fix glyph rectangle calculation in Font::GetGlyphRect (@vladimirgamalian) + +## [0.8.1] - 2015-06-29 +### Fixed +* Use correct type flags in RWops::Size, fixing mingw build (@vladimirgamalian) + +## [0.8.0] - 2015-06-10 +### Added +* Render::Copy() overload which takes target Point instead of a Rect +* Render::FillCopy() which fills target rect with repeated texture +* Improved UTF-16 font rendering support +* CMake module file + +## [0.7.1] - 2015-03-27 +### Fixed +* Miscellaneous style, documentation and build system fixes + +## [0.7.0] - 2015-01-22 +### Added +* More Texture, Renderer (both complete now) and Window methods +* Point::Clamp(), Point::Wrap(), Rect::Extend(), Rect::IntersectLine() +* Stream output for Point and Rect + +### Changed +* Most setters now return reference to self to allow method chaining +* Exception now stores both SDL error and name of function which caused it; what() message now contains these both, so SDL2pp exceptions may be conveniently handled with ```catch (std::exception&)``` +* pkg-config file now provides SDL libraries along with SDL2pp, so users don't need to care of SDL2 flags in addition to SDL2pp's. + +### Removed +* Deprecated Point and Rect methods (Null(), IsNull(), Get()) + +### Fixed +* Use move, not copy in constructing RWops from CustomRWops-derived class + +## [0.6.0] - 2015-01-11 + +### Added +* Doxygen documentation for the whole library +* Wrapper over SDL_image initialization/deinitialization +* SDL_Surface wrapper with SDL_image support; it's now possible to construct Texture from Surface +* Bunch of constructors from existing SDL objects (e.g. Window(SDL_Window*)) for Point, Rect, Window, Renderer, Texture +* Complete SDL_ttf support +* Consistent GetWidth()/GetHeight()/GetSize() for Texture and Surface +* More operators, constructors and methods for Point and Rect + +### Fixed +* Added proper error checking for SDL_image-using Texture constructors +* Multiple fixes in build system + +## [0.5.2] - 2014-12-30 +### Fixed +* Added missing include file to installation + +## [0.5.1] - 2014-12-27 +### Fixed +* Potential problems with SDL2 error handling + +## [0.5.0] - 2014-12-26 +### Added +* AudioDevice::LockHandle is now copyable +* + - += -= operators supported to offset a Rect by a Point +* Optional class to pass optional values +* possibility to use c++1y and detection of available useful c++1y features with c++11 +* default argument for Texture::Lock() +* bunch of Window functions (Maximize(), Minimize(), Hide(), Restore(), Raise(), Show(), SetFullscreen(), SetSize()) +* More granular build options for tests and examples + +### Changed +* Point and Rect no longer have invalid (Null) states and are now directly derived from SDL_Point and SDL_Rect. In places where null states were usable (e.g. usually null Rect would mean "whole area", like in Texture::Lock()), Optional is now used. Use SDL2pp::NullOpt instead of SDL2pp::(Point|Rect)::Null(). + +## [0.4.0] - 2014-12-19 +### Added +* StreamRWops which work with STL streams +* AudioDevice and Texture LockHandle's now have empty constructors, so you may create them in one place and initialize later +* (Read|Write)(LE|BE)(16|32|64) RWops functions +* pkg-config file + +### Changed +* Plain ContainerRWops is able to work with both const and non-const containers, so ConstContainerRWops class is no longer needed +* Audio callback is now tied to AudioDevice, not AudioSpec. This is cleaner and easier to use. + +### Fixed +* Exception safety when changing audio callback +* Make -Werror conditional for user convenience + +## [0.3.0] - 2014-11-30 +### Added +* SDL audio functionality + +### Fixed +* Proper self-assignment handling in move assignment operators + +## [0.2.0] - 2014-11-25 +### Added +* Getters for texture properties (width/height/format/access) +* Texture locking +* Rect method to check if it contains a Point + +## [0.1.1] - 2014-09-09 +### Added +* Installation +* Library version + +## [0.1.0] - 2014-09-05 +### Added +* SDL2_image support +* RWops +* New Renderer methods: SetClipRect(), SetScale(), SetViewport(), TargetSupported() +* New SDL methods: WasInit(), InitSubsystem(), QuitSubSystem() +* Basic MSVC support +* Arithmetic operators for Point + +### Fixed +* GUI tests which are sensible to OpenGL implementation behavior are no longer fatal + +## [0.0.2] - 2014-02-11 +### Added +* Tests +* New Window methods: GetSize(), GetWidth(), GetHeight(), SetTitle() +* New Renderer method: ReadPixels() +* Point and Rect setters and comparison operators + +## [0.0.1] - 2014-02-01 +### Added +* Initial release supporting basic Window, Renderer, Texture, Rect and Point handling. From 725ba1c922d1c7e427a39f99ef66cc015aa3cfdd Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Fri, 22 Jan 2016 16:54:07 +0300 Subject: [PATCH 2/3] Markdowinfy changelog, improve wording --- CHANGES.md | 162 +++++++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 80 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e4f31f9..3373ec0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,159 +2,161 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -## [0.11.0] - 2015-11-30 +## 0.11.0 - 2015-11-30 ### Added -* GetDrawable{Width,Height,Size} Window functions (@csoren) -* Point and Rect less-than operators and std::hash support -* Rect: more methods, wider constexpr support +* New ```Window``` methods: ```Window::GetDrawableWidth()```, ```Window::GetDrawableHeight()```, ```Window::GetSize()``` (@csoren) +* ```Point``` and ```Rect``` less-than operators and std::hash support which makes them usable as map/unordered_map/set/unordered_set keys +* More ```Rect``` methods and wider constexpr support ### Fixed -* Rect documentation fixes +* ```Rect``` documentation fixes * Unused variable warnings (@vladimirgamalian) -* Incorrect return value handling in Surface::SetClipRect +* Incorrect return value handling in ```Surface::SetClipRect()``` -## [0.10.0] - 2015-10-14 +## 0.10.0 - 2015-10-14 ### Fixed * Improved cygwin compatibility -* Missing SDL2pp::SDL methods -* Return and argument types to match upstream API (SDL2pp::Window, SDL2pp::Font, SDL2pp::Mixer) -* Infinite loop in StreamRWops +* Missing ```SDL``` method implementations +* Return and argument types to match upstream API for ```Window```, ```Font``` and ```Mixer``` +* Infinite loop in ```StreamRWops``` * Documentation improvements -* Build without SDL_mixer support +* Build without [SDL_mixer](https://www.libsdl.org/projects/SDL_mixer/) support -## [0.9.0] - 2015-09-07 +## 0.9.0 - 2015-09-07 ### Added -* SDL_mixer support -* more Point operators: remainder; multiplication, division and remainder counterparts which take another Point -* Point and Rect better inlining and constexpr support -* Surface::GetFormat() -* Texture::Update() taking pixels from Surface +* [SDL_mixer](https://www.libsdl.org/projects/SDL_mixer/) support +* More ```Point``` operators: ```*```, ```/```, ```%``` for integer multiplication, division and remainder by a number of another ```Point``` +* ```Point``` and ```Rect``` better inlining and constexpr support +* New method: ```Surface::GetFormat()``` +* ```Texture::Update()``` overload which takes Surface as pixel source -## [0.8.2] - 2015-07-28 +## 0.8.2 - 2015-07-28 ### Fixed -* Add missing Font::IsGlyphProvided implementation (@vladimirgamalian) -* Fix glyph rectangle calculation in Font::GetGlyphRect (@vladimirgamalian) +* Add missing ```Font::IsGlyphProvided()``` implementation (@vladimirgamalian) +* Fix glyph rectangle calculation in ```Font::GetGlyphRect()``` (@vladimirgamalian) -## [0.8.1] - 2015-06-29 +## 0.8.1 - 2015-06-29 ### Fixed -* Use correct type flags in RWops::Size, fixing mingw build (@vladimirgamalian) +* Use correct type flags in ```RWops::Size()```, fixing MinGW build (@vladimirgamalian) -## [0.8.0] - 2015-06-10 +## 0.8.0 - 2015-06-10 ### Added -* Render::Copy() overload which takes target Point instead of a Rect -* Render::FillCopy() which fills target rect with repeated texture +* ```Render::Copy()``` overload which takes target ```Point``` instead of a ```Rect``` +* New method ```Render::FillCopy()``` which fills target rect with repeated texture * Improved UTF-16 font rendering support * CMake module file -## [0.7.1] - 2015-03-27 +## 0.7.1 - 2015-03-27 ### Fixed * Miscellaneous style, documentation and build system fixes -## [0.7.0] - 2015-01-22 +## 0.7.0 - 2015-01-22 ### Added -* More Texture, Renderer (both complete now) and Window methods -* Point::Clamp(), Point::Wrap(), Rect::Extend(), Rect::IntersectLine() -* Stream output for Point and Rect +* More ```Texture```, ```Renderer``` (both complete now) and ```Window``` methods +* New methods: ```Point::Clamp()```, ```Point::Wrap()```, ```Rect::Extend()```, ```Rect::IntersectLine()``` +* STL stream output for ```Point``` and ```Rect``` (as in ```std::cout << Rect(10, 20, 30 40);```) ### Changed * Most setters now return reference to self to allow method chaining -* Exception now stores both SDL error and name of function which caused it; what() message now contains these both, so SDL2pp exceptions may be conveniently handled with ```catch (std::exception&)``` -* pkg-config file now provides SDL libraries along with SDL2pp, so users don't need to care of SDL2 flags in addition to SDL2pp's. +* Exception now stores both SDL error and name of function which caused it; ```what()``` message now contains these both, so SDL2pp exceptions may be conveniently handled with ```catch (std::exception&)``` +* pkg-config file now provides SDL libraries along with SDL2pp, so users don't need to care of SDL2 flags in addition to SDL2pp's ### Removed -* Deprecated Point and Rect methods (Null(), IsNull(), Get()) +* Deprecated ```Point``` and ```Rect``` methods (```Null()```, ```IsNull()```, ```Get()```) ### Fixed -* Use move, not copy in constructing RWops from CustomRWops-derived class - -## [0.6.0] - 2015-01-11 +* Use move, not copy in constructing ```RWops``` from ```CustomRWops```-derived class +## 0.6.0 - 2015-01-11 ### Added * Doxygen documentation for the whole library -* Wrapper over SDL_image initialization/deinitialization -* SDL_Surface wrapper with SDL_image support; it's now possible to construct Texture from Surface -* Bunch of constructors from existing SDL objects (e.g. Window(SDL_Window*)) for Point, Rect, Window, Renderer, Texture -* Complete SDL_ttf support -* Consistent GetWidth()/GetHeight()/GetSize() for Texture and Surface -* More operators, constructors and methods for Point and Rect +* Wrapper around [SDL_image](https://www.libsdl.org/projects/SDL_image/) initialization/deinitialization: ```SDLImage``` class +* [SDL_Surface](https://wiki.libsdl.org/SDL_Surface) wrapper with [SDL_image](https://www.libsdl.org/projects/SDL_image/) support. It's now also possible to construct ```Texture``` from ```Surface```. +* Bunch of constructors from existing SDL objects (e.g. ```Window::Window(SDL_Window*)```) for ```Point```, ```Rect```, ```Window```, ```Renderer```, ```Texture``` +* Complete [SDL_ttf](https://www.libsdl.org/projects/SDL_ttf/) support +* Consistent ```GetWidth()```/```GetHeight()```/```GetSize()``` for ```Texture``` and ```Surface``` +* More operators, constructors and methods for ```Point``` and ```Rect``` ### Fixed * Added proper error checking for SDL_image-using Texture constructors * Multiple fixes in build system -## [0.5.2] - 2014-12-30 +## 0.5.2 - 2014-12-30 ### Fixed * Added missing include file to installation -## [0.5.1] - 2014-12-27 +## 0.5.1 - 2014-12-27 ### Fixed * Potential problems with SDL2 error handling -## [0.5.0] - 2014-12-26 +## 0.5.0 - 2014-12-26 ### Added -* AudioDevice::LockHandle is now copyable -* + - += -= operators supported to offset a Rect by a Point -* Optional class to pass optional values -* possibility to use c++1y and detection of available useful c++1y features with c++11 -* default argument for Texture::Lock() -* bunch of Window functions (Maximize(), Minimize(), Hide(), Restore(), Raise(), Show(), SetFullscreen(), SetSize()) +* ```AudioDevice::LockHandle``` is now copyable +* ```+``` ```-``` ```+=``` ```-=``` operators supported to offset a ```Rect``` by a ```Point``` +* ```Optional``` class to pass optional values +* Possibility to use c++1y standard and detection of available useful c++1y features with c++11 +* Default argument for ```Texture::Lock()``` +* Bunch of ```Window``` functions: ```Window::Maximize()```, ```Window::Minimize()```, ```Window::Hide()```, ```Window::Restore()```, ```Window::Raise()```, ```Window::Show()```, ```Window::SetFullscreen()```, ```Window::SetSize()``` * More granular build options for tests and examples ### Changed -* Point and Rect no longer have invalid (Null) states and are now directly derived from SDL_Point and SDL_Rect. In places where null states were usable (e.g. usually null Rect would mean "whole area", like in Texture::Lock()), Optional is now used. Use SDL2pp::NullOpt instead of SDL2pp::(Point|Rect)::Null(). +* ```Point``` and ```Rect``` no longer have invalid (Null) states and are now directly derived from [SDL_Point](https://wiki.libsdl.org/SDL_Point) and [SDL_Rect](https://wiki.libsdl.org/SDL_Rect) structures. In places where null states were usable (e.g. usually null ```Rect``` would mean "whole area", like in ```Texture::Lock()```), ```Optional``` class is now used. Use ```NullOpt``` instead of ```Point::Null()``` and ```Rect::Null()``` -## [0.4.0] - 2014-12-19 +## 0.4.0 - 2014-12-19 ### Added -* StreamRWops which work with STL streams -* AudioDevice and Texture LockHandle's now have empty constructors, so you may create them in one place and initialize later -* (Read|Write)(LE|BE)(16|32|64) RWops functions +* ```StreamRWops``` which work with STL streams +* ```AudioDevice``` and ```Texture``` ```LockHandle```s now have empty constructors, locks now may be initialized after construction +* ```RWops``` (Read|Write)(LE|BE)(16|32|64) methods * pkg-config file ### Changed -* Plain ContainerRWops is able to work with both const and non-const containers, so ConstContainerRWops class is no longer needed -* Audio callback is now tied to AudioDevice, not AudioSpec. This is cleaner and easier to use. +* Plain ```ContainerRWops``` is now able to work with both const and mutable containers +* Audio callback is now tied to ```AudioDevice```, not ```AudioSpec```, which is cleaner and easier to use + +### Removed +* ```ConstContainerRWops``` which is no longer needed ### Fixed * Exception safety when changing audio callback -* Make -Werror conditional for user convenience +* Made ```-Werror``` flag conditional for user convenience -## [0.3.0] - 2014-11-30 +## 0.3.0 - 2014-11-30 ### Added -* SDL audio functionality +* [SDL audio](https://wiki.libsdl.org/CategoryAudio) functionality ### Fixed * Proper self-assignment handling in move assignment operators -## [0.2.0] - 2014-11-25 +## 0.2.0 - 2014-11-25 ### Added -* Getters for texture properties (width/height/format/access) -* Texture locking -* Rect method to check if it contains a Point +* Getters for ```Texture``` properties: ```Texture::GetWidth()```, ```Texture::GetHeight()```, ```Texture::GetFormat()```, ```Texture::GetAccess()``` +* ```Texture``` locking +* ```Rect``` method to check if it contains a ```Point```: ```Rect::Contains()``` -## [0.1.1] - 2014-09-09 +## 0.1.1 - 2014-09-09 ### Added * Installation * Library version -## [0.1.0] - 2014-09-05 +## 0.1.0 - 2014-09-05 ### Added -* SDL2_image support -* RWops -* New Renderer methods: SetClipRect(), SetScale(), SetViewport(), TargetSupported() -* New SDL methods: WasInit(), InitSubsystem(), QuitSubSystem() +* [SDL2_image](https://www.libsdl.org/projects/SDL_image/) support +* ```RWops``` support +* New ```Renderer``` methods: ```Renderer::SetClipRect()```, ```Renderer::SetScale()```, ```Renderer::SetViewport()```, ```Renderer::TargetSupported()``` +* New ```SDL``` methods: ```SDL::WasInit()```, ```SDL::InitSubsystem()```, ```SDL::QuitSubSystem()``` * Basic MSVC support -* Arithmetic operators for Point +* Arithmetic operators for ```Point``` ### Fixed -* GUI tests which are sensible to OpenGL implementation behavior are no longer fatal +* GUI tests which are sensible to OpenGL implementation-specific behavior are no longer fatal -## [0.0.2] - 2014-02-11 +## 0.0.2 - 2014-02-11 ### Added -* Tests -* New Window methods: GetSize(), GetWidth(), GetHeight(), SetTitle() -* New Renderer method: ReadPixels() -* Point and Rect setters and comparison operators +* Unit tests +* New ```Window``` methods: ```Window::GetSize()```, ```Window::GetWidth()```, ```Window::GetHeight()```, ```Window::SetTitle()``` +* New ```Renderer``` method: ```Renderer::ReadPixels()``` +* ```Point``` and ```Rect``` setters and comparison operators -## [0.0.1] - 2014-02-01 +## 0.0.1 - 2014-02-01 ### Added -* Initial release supporting basic Window, Renderer, Texture, Rect and Point handling. +* Initial release supporting basic ```Window```, ```Renderer```, ```Texture```, ```Rect``` and ```Point``` handling From d8272ebb711e1bd4112947ae9a032f070e8d5393 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Fri, 22 Jan 2016 17:03:28 +0300 Subject: [PATCH 3/3] Additional changelog improvements --- CHANGES.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3373ec0..772c84c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,7 +5,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## 0.11.0 - 2015-11-30 ### Added * New ```Window``` methods: ```Window::GetDrawableWidth()```, ```Window::GetDrawableHeight()```, ```Window::GetSize()``` (@csoren) -* ```Point``` and ```Rect``` less-than operators and std::hash support which makes them usable as map/unordered_map/set/unordered_set keys +* ```Point``` and ```Rect``` less-than operators and std::hash support which makes them usable as ```std::map```/```std::unordered_map```/```std::set```/```std::unordered_set``` keys * More ```Rect``` methods and wider constexpr support ### Fixed @@ -17,7 +17,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Fixed * Improved cygwin compatibility * Missing ```SDL``` method implementations -* Return and argument types to match upstream API for ```Window```, ```Font``` and ```Mixer``` +* Fixed return and argument types for some ```Window```, ```Font``` and ```Mixer``` methods to match upstream API * Infinite loop in ```StreamRWops``` * Documentation improvements * Build without [SDL_mixer](https://www.libsdl.org/projects/SDL_mixer/) support @@ -25,7 +25,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## 0.9.0 - 2015-09-07 ### Added * [SDL_mixer](https://www.libsdl.org/projects/SDL_mixer/) support -* More ```Point``` operators: ```*```, ```/```, ```%``` for integer multiplication, division and remainder by a number of another ```Point``` +* More ```Point``` operators: ```*```, ```/```, ```%``` for integer multiplication, division and remainder by a number or another ```Point``` * ```Point``` and ```Rect``` better inlining and constexpr support * New method: ```Surface::GetFormat()``` * ```Texture::Update()``` overload which takes Surface as pixel source @@ -58,20 +58,20 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed * Most setters now return reference to self to allow method chaining -* Exception now stores both SDL error and name of function which caused it; ```what()``` message now contains these both, so SDL2pp exceptions may be conveniently handled with ```catch (std::exception&)``` +* Exception now stores both SDL error and name of function which caused it; ```what()``` message now includes these both in a readable way, so SDL2pp exceptions may be conveniently handled with ```catch (std::exception&)``` * pkg-config file now provides SDL libraries along with SDL2pp, so users don't need to care of SDL2 flags in addition to SDL2pp's ### Removed -* Deprecated ```Point``` and ```Rect``` methods (```Null()```, ```IsNull()```, ```Get()```) +* Deprecated ```Point``` and ```Rect``` methods: ```Null()```, ```IsNull()```, ```Get()``` ### Fixed * Use move, not copy in constructing ```RWops``` from ```CustomRWops```-derived class ## 0.6.0 - 2015-01-11 ### Added -* Doxygen documentation for the whole library +* [Doxygen](http://doxygen.org/) documentation for the whole library * Wrapper around [SDL_image](https://www.libsdl.org/projects/SDL_image/) initialization/deinitialization: ```SDLImage``` class -* [SDL_Surface](https://wiki.libsdl.org/SDL_Surface) wrapper with [SDL_image](https://www.libsdl.org/projects/SDL_image/) support. It's now also possible to construct ```Texture``` from ```Surface```. +* ```Surface````, a wrapepr for [SDL_Surface](https://wiki.libsdl.org/SDL_Surface) including [SDL_image](https://www.libsdl.org/projects/SDL_image/) support. It's now also possible to construct ```Texture``` from ```Surface```. * Bunch of constructors from existing SDL objects (e.g. ```Window::Window(SDL_Window*)```) for ```Point```, ```Rect```, ```Window```, ```Renderer```, ```Texture``` * Complete [SDL_ttf](https://www.libsdl.org/projects/SDL_ttf/) support * Consistent ```GetWidth()```/```GetHeight()```/```GetSize()``` for ```Texture``` and ```Surface``` @@ -92,7 +92,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## 0.5.0 - 2014-12-26 ### Added * ```AudioDevice::LockHandle``` is now copyable -* ```+``` ```-``` ```+=``` ```-=``` operators supported to offset a ```Rect``` by a ```Point``` +* ```Rect``` now has ```+``` ```-``` ```+=``` ```-=``` operators to offset it by a ```Point``` * ```Optional``` class to pass optional values * Possibility to use c++1y standard and detection of available useful c++1y features with c++11 * Default argument for ```Texture::Lock()``` @@ -100,13 +100,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). * More granular build options for tests and examples ### Changed -* ```Point``` and ```Rect``` no longer have invalid (Null) states and are now directly derived from [SDL_Point](https://wiki.libsdl.org/SDL_Point) and [SDL_Rect](https://wiki.libsdl.org/SDL_Rect) structures. In places where null states were usable (e.g. usually null ```Rect``` would mean "whole area", like in ```Texture::Lock()```), ```Optional``` class is now used. Use ```NullOpt``` instead of ```Point::Null()``` and ```Rect::Null()``` +* ```Point``` and ```Rect``` no longer have invalid (null) states and are now directly derived from [SDL_Point](https://wiki.libsdl.org/SDL_Point) and [SDL_Rect](https://wiki.libsdl.org/SDL_Rect) structures. In places where null states were usable (e.g. usually null ```Rect``` would mean "whole area", like in ```Texture::Lock()```), ```Optional``` class is now used. Use ```NullOpt``` instead of ```Point::Null()``` and ```Rect::Null()``` ## 0.4.0 - 2014-12-19 ### Added -* ```StreamRWops``` which work with STL streams -* ```AudioDevice``` and ```Texture``` ```LockHandle```s now have empty constructors, locks now may be initialized after construction -* ```RWops``` (Read|Write)(LE|BE)(16|32|64) methods +* ```StreamRWops``` which works with STL streams +* ```AudioDevice``` and ```Texture``` ```LockHandle```s now have empty constructors and may be initialized after construction +* ```RWops``` ```(Read|Write)(LE|BE)(16|32|64)``` methods * pkg-config file ### Changed @@ -131,7 +131,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added * Getters for ```Texture``` properties: ```Texture::GetWidth()```, ```Texture::GetHeight()```, ```Texture::GetFormat()```, ```Texture::GetAccess()``` * ```Texture``` locking -* ```Rect``` method to check if it contains a ```Point```: ```Rect::Contains()``` +* New ```Rect``` method ```Rect::Contains()``` to check if it contains a ```Point``` ## 0.1.1 - 2014-09-09 ### Added