[haiku-bugs] [Haiku] #13087: Global UI scaling - HiDPI

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Thu, 24 Nov 2016 14:46:19 -0000

#13087: Global UI scaling - HiDPI
--------------------------------+------------------------------
 Reporter:  kallisti5           |        Owner:  axeld
     Type:  enhancement         |       Status:  new
 Priority:  normal              |    Milestone:  Unscheduled
Component:  Servers/app_server  |      Version:  R1/Development
 Keywords:  hidpi 4k dpi        |   Blocked By:
 Blocking:                      |  Has a Patch:  0
 Platform:  All                 |
--------------------------------+------------------------------
 The Haiku interface doesn't scale to higher DPI monitors like a lot of
 other modern operating systems.

 MacOS and Gnome implement a "Global UI Scale" setting which scales up all
 parts of the UI. Since we rely on vector icons and other point based
 things, this should be a simple to moderate app_server change.

 Pulkomandy outlined a few of the finer points here:

 "
 Anyway for implementing this:
 - We aleady have settings for font size, and Tracker icon sizes. Font
 sizes are in "points" for which there is not really a precise definition,
 so we can consider it an arbitrary unit. Tracker icon sizes are currently
 in pixels, and if there is extra scaling it would not actually be pixels
 anymore. Maybe we could rename the settings to "small, medium, large,
 huge" or similar.
 - For the actual implementation: the drawing API has a SetScale and a
 SetTransform, both of which can be used to change the drawing size of
 everything. The idea would be to do this automatically when a view is
 created, and set a global scale (so, it's a little more work than adding a
 slider to the Appearance prefs).
 - After doing this, expect to discover bugs because of interactions with
 other drawing primitives: saving to BPicture, applying more transforms, or
 using Clipping are likely to miss something and result in broken drawing.

 An alternative to this approach (global scaling, similar to what macOS
 does), is to instead change just the font size (in Appearance prefs) and
 then make sure all apps properly scale their whole UI according to that.
 So if there is a large font, apps would also use larger icons, etc. This
 requires more work (as each app needs to be tweaked), but it is possibly
 simpler (no need to mess with the app_server drawing, transforms and
 clipping and stuff).
 " -- https://discuss.haiku-os.org/t/new-desktop-machine-4k-monitor/4411/4

--
Ticket URL: <https://dev.haiku-os.org/ticket/13087>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: