Skip to content

Commit 36ab80a

Browse files
committed
Turns out Windows scales the resolution reported from GetDeviceCaps and GetDpiForSystem.
In addition, the so called "raw" resolution reported by GetDpiForMonitor appears to be more inaccurate than the default Windows resolution. Therefore, Meazure will use the default Windows screen resolution (96 DPI) as the default for the uncalibrated resolution.
1 parent c03aeb7 commit 36ab80a

12 files changed

+62
-124
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.22 FATAL_ERROR)
22

33
project(Meazure
4-
VERSION 4.0.0.1
4+
VERSION 4.0.0.2
55
DESCRIPTION "A tool for easily measuring and capturing portions of the screen."
66
HOMEPAGE_URL "https://github.com/cthing/meazure"
77
)

README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,8 @@ Refer to [Building.md](Building.md) for information on how to build Meazure from
4040
URL on line 2 from `https:` to `http:`. Position log files saved by Meazure 2.0 can be opened by Meazure 3.0 without
4141
modification.
4242

43-
- Meazure may report incorrect measurements if Windows Display "Make everything bigger" greater than 100% is used
44-
(see [issue #9](https://github.com/cthing/meazure/issues/9)). To work around this issue, right-click on Meazure.exe
45-
and select Properties. In the properties dialog, select the Compatibility tab. Press the "Change high DPI settings"
46-
button. Check the box next to "Override high DPI scaling behavior Scaling performed by: Application".
47-
48-
- Meazure reports incorrect screen size for 4K monitors (#34)
43+
- Meazure now accommodates high DPI displays (e.g. 4K) and the DPI scaling often used with them. However, you must
44+
restart Meazure if you change the DPI scaling while it is running.
4945

5046
## Feedback
5147

@@ -58,7 +54,12 @@ making a [financial contribution](https://github.com/sponsors/baron1405). Thank
5854

5955
## Changelog
6056

61-
### Changes 3.0.2 to 4.0 (unreleased)
57+
### Changes 3.0.2 to 4.0
58+
59+
- Meazure now reports the Windows default screen resoltuion (96 DPI) as the default uncalibrated resolution. In
60+
previous releases, Meazure would query the operating system at runtime for the logical resolution. Typically,
61+
the returned value was 96 DPI. This change was made to properly report the resolution in the case of screen
62+
scaling.
6263

6364
- Enhancement: A more readable font is used for all dialogs
6465

@@ -84,7 +85,10 @@ making a [financial contribution](https://github.com/sponsors/baron1405). Thank
8485
- Fix: Meazure now reports the correct screen dimensions and measurements on high DPI displays (e.g. 4K display).
8586

8687
- Fix: Meazure accommodates screen scaling. Note that you must restart Meazure if you change the screen scaling
87-
(e.g. going from 100% to 150% scaling).
88+
(e.g. going from 100% to 150% scaling). To accommodate this, Meazure now reports the Windows default screen
89+
resoltuion (96 DPI) as the default uncalibrated resolution. In previous releases, Meazure would query the operating
90+
system at runtime for the logical resolution. However, that value is now the effective (i.e. scaled)
91+
resolution, which is not appropriate for calculating measurements in resolution-dependent units (e.g. inches).
8892

8993
- Fix: The Position log save dialog once again displays a text fields for specifying a title and description for
9094
the log file.

apidocs/html/ScreenMgr_8h_source.html

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apidocs/html/classMeaScreenProvider_1_1Screen-members.html

Lines changed: 21 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)