kwin/decorations
David Edmundson fc887ab907 Render GL Window decorations at the correct scale
Summary:
Under wayland we support high DPI putting by putting a separation
between the logical co-ordinate system and the resolution of rendered
assets.

When a window is on a high DPI screen, we should render at the higher
resolution.

Like the window scaling this handles any combination of a 2x scaled
decoration being rendered on a 1x screen or vice versa.

---
This patch is a bit different from the other scaling stuff. We have to
generate the quads *before* we have an updated texture with the new
scale. This means the scale isn't attached to the buffer like elsewhere.

That's why I added a property in TopLevel so there's still one canonical
source and things can't get out of sync.

BUG: 384765

Test Plan:
Crystal clear breeze and oxygen decos on my @2x display
Drag windows to attached @1x display, things still look OK when across 2
screens
Changing the scale of a screen updated the decos instantly

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: graesslin, plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8600
2017-11-01 17:59:11 +00:00
..
decoratedclient.cpp Move the X11 Decoration Renderer into the X11 standalone platform 2017-09-01 17:49:32 +02:00
decoratedclient.h Restore global menu support 2017-01-11 10:21:03 +01:00
decorationbridge.cpp Add an explicit dependency to Breeze to find decoration plugin 2016-04-12 08:54:50 +02:00
decorationbridge.h DecorationBridge creates Decoration for AbstractClient 2015-12-18 16:41:49 +01:00
decorationpalette.cpp
decorationpalette.h
decorationrenderer.cpp Render GL Window decorations at the correct scale 2017-11-01 17:59:11 +00:00
decorationrenderer.h Move the X11 Decoration Renderer into the X11 standalone platform 2017-09-01 17:49:32 +02:00
decorations_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
decorations_logging.h
settings.cpp Restore global menu support 2017-01-11 10:21:03 +01:00
settings.h