Mir client API does not support non-square pixels
Bug #1620911 reported by
Daniel van Vugt
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Triaged
|
Low
|
Unassigned | ||
mir (Ubuntu) |
Triaged
|
Low
|
Unassigned |
Bug Description
Mir client API does not support non-square pixels.
Non-square pixels do exist at least in modes like 640x400 which is historically CRT aspect 4:3. But also in a more modern sense if we were to ever do something really fancy like fullscreen subpixel rendering then the same issue might occur there too.
What we need is separate X and Y DPI values. Not just one (diagonal) DPI value:
int mir_surface_
int mir_surface_
To post a comment you must log in.
The client API has all the information required to do this now - the ID of the output their surface is on, the current display mode, the current display orientation, and the physical size of the outputs.
(In hindsight, I think having the DPI in the SurfaceOutputEvent is a minor mistake - the value that clients should care about is scale - which they can't calculate themselves - not DPI, which they can. And don't use, because they're using scale ☺)
My expectation is that exactly zero clients would use the proposed API, and any client that did is not blocked on us providing this API.