skyline: Made Skyline system-DPI-aware with Start Page and tree scaling - #4602
Draft
rita-gwen wants to merge 5 commits into
Draft
skyline: Made Skyline system-DPI-aware with Start Page and tree scaling#4602rita-gwen wants to merge 5 commits into
rita-gwen wants to merge 5 commits into
Conversation
* dpiAware=true in app.manifest; DpiAwareness=SystemAware in app.config * New DpiUtil: persist window geometry in 96-DPI logical units, scale on restore * Start Page recents laid out from font metrics with width-tracking labels * Verified at 150%: dialogs intact; the test runner keeps tests at virtualized 96 DPI See ai/todos/active/TODO-20260820_dpiAwareness.md Co-Authored-By: Claude <noreply@anthropic.com>
* TreeViewMS: DPI-scaled ItemHeight, indent/dash/padding metrics, expander glyphs * SequenceTree and FilesTree icons pre-scaled with bicubic resampling at load * Color key applied before interpolation so magenta cannot fringe the glyphs * 96-DPI behavior unchanged (all scaling short-circuits at 100%); verified at 125/150% See ai/todos/active/TODO-20260820_dpiAwareness.md Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
Author
…4599) * GetFactor reads the screen DC once and caches it; Control.DeviceDpi stays 96 on .NET 4.7.2 system-aware, which had left the earlier scaling inert * Tree node painting uses explicit-rect DrawImage; DrawImageUnscaled honors DPI metadata and re-inflated pre-scaled icons into overlap * Pre-scaled bitmaps tagged 96 DPI; main toolbar glyphs bicubic pre-scaled See ai/todos/active/TODO-20260820_dpiAwareness.md Co-Authored-By: Claude <noreply@anthropic.com>
* Main window and Library Explorer sizes plus ViewLibrary splitter follow the DpiUtil logical-units convention; locations stay physical with ForceOnScreen * DigitalRune .view files: floating-window sizes normalized to logical on save, scaled on load; legacy files are logical by definition and round-trip unchanged * Scaled the floating-window pixel floors (600x440 default, 800 audit log) * Verified live at 150%: audit log saved as 800x440 logical, restored at 1200x660 See ai/todos/active/TODO-20260820_dpiAwareness.md Co-Authored-By: Claude <noreply@anthropic.com>
* Scaled runtime-created controls Font autoscale never touches: statement completion popup, pick list, transition-list import overlay combos and columns, EditListDlg rename popup, KeyValueGridDlg, ActionBoxControl tiles * Fixed the nested ColorGrid container skipped by form autoscale in both hosts (volcano formatting, custom color themes), locale-proof via OnShown * Added DpiUtil.DrawImageCentered shared by owner-drawn lists and trees, and disposal of replaced bitmaps in the DpiUtil image helpers * Fixed transposed MeasureText args in FilesTree and StatementCompletionTextBox See TODO-20260820_dpiAwareness.md in pwiz-ai/todos Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
dpiAwaremanifest +DpiAwareness=SystemAware), so Skyline renders natively at the display scale factor instead of being bitmap-stretched from 96 DPIDpiUtilestablishes the two core idioms: persist window geometry in 96-DPI logical units (backward compatible with existing settings) and pre-scale ImageList icons with bicubic resampling, color key applied before interpolationProgress on #4599 - remaining packages tracked there (smaller owner-drawn controls, persisted geometry for the main window and Library Explorer, DigitalRune dock-layout rescale, higher-resolution icon assets). Full hazard inventory and verification log in
pwiz-ai:ai/todos/active/TODO-20260820_dpiAwareness.md.Test plan
Co-Authored-By: Claude noreply@anthropic.com