Releases: smasherprog/screen_capture_lite
Capture window added
Added support for Capturing only a window. Should work on windows, Linux and partial support for mac when not using retina.
Changed public API for GetWindows to return all windows instead of having the library return a filtered set. Now, the user is responsible for filtering the returned windows.
Window capture added
Support for Windows and Linux complete
Adding Mac support soon!
Few bug fixes, internal code refactoring and a few new public API's to support this functionality.
Monitor change detection
If monitors increase in resolution, that is now detected and the library will rebuild itself.
New conversion functions added
Added
ExtractAndConvertToRGB
ExtractAndConvertToRGB565
Thanks to namkazt #27
Mac partial capture implemeneted
Mac now partially captures monitors natively
Thanks to grz0zrg for details #25 (comment)
Added ability to capture parts of a monitor
Part of monitors can now be captured in an efficient way on windows and linux.
Mac still captures the entire monitor. . . .
Updated setinterval functions
The setinterval functions now take any chrono duration as input. This allows users to pass 10s or 10ms.
Also added new tests and updated travis.yml
New APIs
Added pause, isPaused, and resume functions to the public api.
Users of the library can use these functions to Pause the screen capturing, Resume, and test whether the library is paused.
Performance Improvments
Two small api changes below char* changed to const unsigned char*
https://github.com/smasherprog/Screen_Capture/blob/master/include/ScreenCapture.h#L73
https://github.com/smasherprog/Screen_Capture/blob/master/include/ScreenCapture.h#L40
Linux and ios performance improvements when ONLY registered the onNewFrame callback. These performance gains are from passing the raw buffer up to the callback and not doing a copy. If the onFrameChanged is registered, there is a performance hit because the library has to maintain a copy of the previous frame in memory to find the differences from frame to frame.
Update API
Cleaned up API.
The API is now more user friendly and cleaner. Internals also cleaned up to be more concise.