Enhancement: A more readable font is used for all dialogs
Enhancement: A menu item is provided to switch the angle display to show the supplemental angle instead of the included angle. The sum of the included angle and the supplemental angle is 180 degrees.
Color display enhancements and fixes
- Enhancement: New color spaces that match the actual color to the web basic and extended colors.
- Enhancement: A button is now provided to copy the contents of the color field to the clipboard. The button is located to the right of the color swatch.
- Enhancement: The CMYK color space is device dependent. Therefore, any conversion between the native RGB color space and CMYK is an approximation without a color profile for the target device. This version of Meazure uses a more conventional formula for approximating CMYK from RGB than was used in previous versions.
- Enhancement: The HSL color display has changed. In previous versions of Meazure, the HSL values were normalized between 0 and 240, which is unconventional and potentially confusing. In this release, the HSL values are displayed conventionally with the hue value in degrees in the range [0, 360), and the saturation and lightness values as percentages in the range [0, 100].
- Fix: The YIQ color display now shows negative in-phase and quadrature values.
- Leading zeros in all formats except hexadecimal have been removed. For example, the RGB value previously displayed as "010 020 255" is now displayed as "10 20 255".
Fix: Meazure now reports the correct screen dimensions and measurements on high DPI displays (e.g. 4K display).
Fix: Meazure accommodates screen scaling. Note that you must restart Meazure if you change the screen scaling (e.g. going from 100% to 150% scaling). To accommodate this, Meazure now reports the Windows default screen resolution (96 DPI) as the default uncalibrated resolution. In previous releases, Meazure would query the operating system at runtime for the logical resolution. However, that value is now the effective (i.e. scaled) resolution, which is not appropriate for calculating measurements in resolution-dependent units (e.g. inches).
Fix: The Position log save dialog once again displays a text fields for specifying a title and description for the log file.
Fix: Position log DTD defined the type for the desktop identifier and its references as ID and IDREF respectively. This was incorrect because the identifier is a GUID, which can start with a number and that is not allowed for an ID. The type has been changed to NMTOKEN, which allows a leading digit. Because the type is a superset of ID and to support backward compatibility, the name and version of the DTD has not been changed.
- Migrated codesbase to C++17
- Reorganized source code into subfolders
- Extensive refactoring, renaming, and reorganizing of class functionality for testability and clarity
- Increased unit test coverage
- Use precompiled headers to greatly reduce build time
- Use namespaces for static utility classes
- Use the Conan C/C++ Package Manager for library dependencies (e.g. Boost)
- Migrated to Xerces C++ XML parser and validator from expat and homegrown validator
- Use an XML writer class for writing the profile and position log files. This centralizes all formatting and escaping of the XML.
Changes 2.0.1 to 3.0
- Supported on Windows 10 and above.
- Requires a 64-bit system.
- The minimum screen grid spacing has been reduced from 40 to 10 pixels and the maximum spacing has been increased from 1000 to 4000 pixels.
- Feature: The aspect ratio (i.e. width / height) is now displayed for the Rectangle, Window, and Line tools. For the Line tool, the aspect ratio is based on the bounding rectangle.
- Feature: The keyboard can now be used to position crosshairs. Pressing the Ctrl+1, Ctrl+2 and/or Ctrl+3 plus one of the arrow keys will move the corresponding tool crosshair one pixel. For example, pressing Ctrl+1 and the Up arrow key will move the Point 1 crosshair up one pixel.
- Feature: Hotkeys can now be used to position crosshairs to the current location of the mousr pointer. Pressing the Ctrl+Shift+1, Ctrl+Shift+2, or Ctrl+Shift+3 moves the corresponding tool crosshair to the current location of the mouse pointer. For example, if the Line tool is being used, pressing Ctrl+Shift+2 will move the line's Point 2 crosshair to the current mouse location.