- Add support for 64-bit Ruby (by @bensandland via PR #37)
- Add support for Ruby 3.2 (by @kaiwaredaikon009 via PR #36)
- Add support for taking screenchots of non-native Windows (e.g. Google Chrome).
- When taking screenshot of
:desktop
then all monitors will be included if they exist. - Remove
:area
option - instead whole windows will be screenshotted (for browser windows, the whole page will be saved). - Remove
context: :client
option.
Changes done by @bensandland via PR #34.
- Update dependencies
- Use RAutomation 1.0.0 as its dependency to be able to use newer ffi.
- Update bundled ImageMagick to 7.0.9-8.
- Update MiniMagick dependency.
- Add Image#write! for overwriting images.
- Update MiniMagick dependency.
- Update bundled ImageMagick version to 6.9.3-0-portable-Q16-x86.
- Update MiniMagick dependency due to CVE-2013-2616.
- Update bundled ImageMagick version to 6.9.1-6-Q16-x86.
- Add license to gemspec.
- Set mini_magick 3.5.0 as a dependency because 3.6.0 is broken.
- Loosen up dependencies
- Bump RAutomation dependency
- Screenshot will be taken of the whole window instead of client area - e.g. with title bar and such.
- Added :context option to specify which area to take screenshot of - possible values are :window or :client Win32::Screenshot::Take.of(:window, :hwnd => 1234, :context => :client)
- Minor output message change
- Make sure that mini_magick 3.2 is used due to bug in 3.3-s dependency subexec pressly/subexec#4
- Try to take a screenshot of the window even if the activation of that window fails.
- Fixed to work with RAutomation version 0.4
- Increased RAutomation dependency for version 0.3.0 due to it's new Window#child method
- Making sure that RAutomation's Ffi adapter is always used
-
Bundling all necessary libraries/binaries with the gem - ImageMagick and RMagick are no more needed, finally!
-
Using MiniMagick to save images to gif, jpg and png format
-
Simplified and deleted a lot of code causing backwards incompatibility and major API changes! Refer to the README.rdoc and documentation for the overview of the new and better API
-
From now on this library is following Semantic Versioning (http://semver.org) rules
-
Renamed Win32::Screenshot::Util.all_windows to all_desktop_windows (Roger Pack)
-
Added methods to Win32::Screenshot::Util class (Roger Pack):
- window_process_id
- window_class
- windows_hierarchy_with_info
- get_info
- location_of
-
It's possible to search windows also by class name (Roger Pack)
-
Child windows will be also searched for (Roger Pack)
- Supports now fully JRuby, 1.9.1 and 1.9.2 MRI!
-
Trying to bring window to the foreground more aggressively (Roger Pack)
-
Added utility class Win32::Screenshot.Util with some helper methods not related directly with taking of the screenshots:
- all_windows - enumerates all windows and returns their titles and window handles as an Array (Roger Pack)
- window_title(hwnd) - returns title of the window for specified handle (Jarmo Pertman)
- window_hwnd(title_query) - returns handle of the window for specified title (Jarmo Pertman)
- dimensions_for(hwnd) - returns a width and height for a window with specified handle (Jarmo Pertman)
-
Removed a file 'win32screenshot.rb' which was solely used for displaying deprecation warnings for versions older than 0.0.4. Make sure than from now on all require statements require 'win32/screenshot'!
- Fixed usages of gdi32.dll BitBlt (Roger Pack)
- It was impossible to specify correctly window titles with regular expressions special characters in them (Roger Pack)
- Added method window_area for capturing specified area of the window instead of full window (Jarmo Pertman) Usage: Win32::Screenshot.window_area(title, x1, y1, x2, y2) {|width, height, bmp|}
- Added method foreground_area for capturing area of the foreground (Jarmo Pertman) Usage: Win32::Screenshot.foreground_area(x1, y1, x2, y2) {|width, height, bmp|}
- Added method desktop_area for capturing area of the visible view (Jarmo Pertman) Usage: Win32::Screenshot.desktop_area(x1, y1, x2, y2) {|width, height, bmp|}
- Added method hwnd_area for capturing area of the window with specified handle (Jarmo Pertman) Usage: Win32::Screenshot.hwnd_area(hwnd, x1, y1, x2, y2) {|width, height, bmp|}
- Removed usage of ShowWindow with parameter SW_SHOW when trying to bring window to front due it's behaviour of resizing window if it was maximized (Jarmo Pertman)
- Using FFI::Struct when searching window handle (Roger Pack)
- Fixed a bug where taking of screenshots failed on some sizes of windows (thanks for the tip from Tony Popiel)
- Blocks should be used when taking screenshots for cleaning up resources after usage (Aslak Hellesøy)
- Changed library structure - it is now needed to require 'win32/screenshot' (Aslak Hellesøy)
- Replaced Ruby::DL with Ruby-FFI for better VM support and less segfaults (Jarmo Pertman)
- Added Ruby 1.9.1 support (Jarmo Pertman)
- Win32::Screenshot.window restores window if it's minimized before taking screenshots and brings it to the foreground (Jarmo Pertman)
- Changed some internal method names (Jarmo Pertman)
- Replaced Test::Unit with RSpec and made specs more robust (Jarmo Pertman)
PS! This version is not backwards compatible due to different method names and usage, but upgrading should be relatively easy nevertheless.
- Fixed bug with too many callbacks
- Added get_hwnd(Regexp)
- Added desktop method (patch from Ryan Schuft)
- Added HTTP server example (patch from Ryan Schuft)
- Added window(regexp) method
- First release