[enhancement] Add a clamping resize mode to GLRenderer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Daniel van Vugt | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[enhancement] Add a clamping resize mode to GLRenderer
During resizing a surface's buffer dimensions will temporarily lag behind the surface dimensions. At present we handle this by simply scaling the buffer to fill the latest desired surface dimensions.
But scaling it seems is not ideal. Any graphical details within the surface appear to stretch/shrink during this time, which looks slightly ugly.
What we should do as add another (optional) resize mode where the buffer is clamped/truncated to the new surface dimensions. Thus the top left corner and all pixel contents of the surface will not appear to move during the resize. Just some border area on the right/bottom of the surface may appear blank during resize. This is how existing windowing systems render resizing surfaces, and I think it's visually preferable to what we have now.
Related branches
- Alberto Aguirre (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Alexandros Frantzis (community): Needs Fixing
- Daniel van Vugt: Abstain
- Alan Griffiths: Approve
-
Diff: 134 lines (+32/-10)5 files modifiedexamples/demo-shell/demo_renderer.cpp (+3/-2)
examples/demo-shell/demo_renderer.h (+2/-1)
include/server/mir/compositor/gl_renderer.h (+7/-1)
src/server/compositor/gl_renderer.cpp (+12/-6)
tests/unit-tests/compositor/test_gl_renderer.cpp (+8/-0)
Changed in mir: | |
milestone: | none → 0.1.8 |
assignee: | nobody → Daniel van Vugt (vanvugt) |
status: | Triaged → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in mir (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in mir: | |
importance: | Low → Medium |
Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown