- 14 Jul, 2020 3 commits
-
-
Adrien Faveraux authored
-
Vlad Zahorodnii authored
-
-
- 13 Jul, 2020 1 commit
-
-
- 08 Jul, 2020 4 commits
-
-
Vlad Zahorodnii authored
-
Since we don't do wl_display_run(), wl_display_terminate() is pointless.
-
Display::startLoop() isn't used anywhere and it only adds maintenance burden, so drop it.
-
It can be especially useful if the compositor wants to ensure that all globals have been created before starting to accept client connections. Unfortunately, start() and terminate() stuff doesn't align well with it, so the terminate() method was dropped to ensure that Display always returns the same wl_display object.
-
- 06 Jul, 2020 1 commit
-
-
David Edmundson authored
sendStackingOrderChanged() iterates though all clients. Only the new client needs to be send information at this point.
-
- 30 Jun, 2020 1 commit
-
-
Vlad Zahorodnii authored
The main purpose behind the kwaylandserver library is to provide a set of re-usable wayland compositor extension implementations. However, it's worth noting that the design of kwaylandserver is far from perfect at the moment. KWaylandServer tries to hide all low level wayland details from the compositor. But it's not the case with buffers, which diminishes the whole point behind the library. Creating OpenGL textures from Wayland buffers is the responsibility of the compositor. So, when it comes to client buffers, we are one foot in KWaylandServer, and the other foot in the compositor. Since the surface size is a logical size, the compositor can't use it for allocating memory for OpenGL textures. This change adds the buffer size property in SurfaceInterface that can be used for allocating memory for textures as well as monitoring buffer size changes. I must say that the introduction of the buffer size property is a crude hack because BufferInterface just needs to provide an OpenGL texture for each plane. The main blocker for that is that it would involve moving the backend, the compositor, and the wayland bits in the same place, for example kwayland-server or ultimately kwin.
-
- 24 Jun, 2020 2 commits
-
-
The buffer transform is a pretty confusing thing, so document it in order to avoid misleading people.
-
The buffer scale and the buffer transform property specify transforms that had been applied to the buffer's contents. Neither one of those properties apply to the surface, in other words the buffer transform property doesn't indicate that the surface was rotated or flipped or both. This change doesn't gain anything in terms of new features, etc. It just attempts to make things more clear.
-
- 23 Jun, 2020 1 commit
-
-
David Edmundson authored
-
- 22 Jun, 2020 2 commits
-
-
David Edmundson authored
-
David Edmundson authored
The source can have a different lifespan to the offer being made. If a source is removed and we get a drag actions changed before the offer is cancelled we don't want to crash. Couldn't reproduce locally, but the trace was good. BUG: 423127
-
- 19 Jun, 2020 3 commits
-
-
Since we don't guarantee SC and BC in KWaylandServer, we can drop SurfaceInterface::inputIsInfitine().
-
This fixes several unit tests in kwin where the virtual output is not considered enabled causing behavioural changes.
-
The compositor needs to monitor changes in the mapping between the surface local coordinates and the buffer coordinates because texture coordinates correspond to the latter. One way to do it is to monitor things such as the surface size, the buffer size, the buffer scale, etc. The main problem with doing so is that there are so many factors that contribute to how mapping between the surface local coordinate space and the buffer coordinate space is performed. In order to provide a generic way for monitoring changes in the mapping between the surface local coordinate space and the buffer coordinate space, this patch introduces two new matrices. The first one specifies how the surface-local coordinates are mapped to buffer coordinates, and the other one specifies how to map the buffer coordinates to surface local coordinates. With the new two matrices, the compositor has a generic way to get notified when it has to re-compute texture coordinates.
-
- 17 Jun, 2020 2 commits
-
-
David Edmundson authored
The generated classes don't really have documentation for the generated methods. This hopes to provide some context.
-
If a buffer is attached to the surface, its width or height cannot be 0.
-
- 16 Jun, 2020 1 commit
-
-
Jonathan Esk-Riddell authored
GIT_SILENT
-
- 15 Jun, 2020 1 commit
-
-
Public API is identical except the now uneeded explit create on the global.
-
- 03 Jun, 2020 2 commits
-
-
David Edmundson authored
It's mostly a copy-paste of DataDevice.
-
Jonathan Esk-Riddell authored
GIT_SILENT
-
- 02 Jun, 2020 1 commit
-
-
Vlad Zahorodnii authored
The wp_viewporter compositor extension allows clients to crop and scale their surface. It can be useful for applications such as video players because it may potentially reduce their power usage.
-
- 01 Jun, 2020 9 commits
-
-
Vlad Zahorodnii authored
Unfortunately, in order to map a point from the surface-local coordinate space to the buffer pixel coordinate space, one cannot divide the point by the scale factor since the buffer might be rotated or flipped. This change introduces a couple of helper methods for converting points, regions, and rectangles from the surface-local coordinates to the buffer pixel coordinates and vice versa.
-
Vlad Zahorodnii authored
We need to mark the buffer transform as committed or else it won't be ever applied.
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
The new methods can be useful when one wants to get the size of the buffer along some specific dimension, e.g. width or height. Of course, size() could be used for this purpose, but with the new helper methods, one has to type less.
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
We need to capture a variable in a lambda in the xdg-shell protocol wrappers. This requires C++14. Since KWin already requires C++14, it shouldn't be a big deal.
-
Vlad Zahorodnii authored
The current xdg-shell wrappers don't match existing abstractions in the xdg-shell protocol well, which makes it more difficult to refactor code that is responsible for managing configure events and geometry in kwin. Given that the xdg_decoration and the xdg_shell protocols are tightly coupled together, I had to rewrite our wrappers for the xdg_decoration protocol as well.
-
Vlad Zahorodnii authored
It's been deprecated for quite a while and all major toolkit already support xdg_wm_base.
-
Vlad Zahorodnii authored
It's been deprecated for quite a while and all major toolkits already support xdg_wm_base.
-
- 31 May, 2020 1 commit
-
-
Adriaan de Groot authored
This is the same change as frameworks/kwayland!2 and removes an unneeded #include
-
- 29 May, 2020 2 commits
-
-
Benjamin Port authored
-
Benjamin Port authored
Reviewers: zzag, davidedmundson, apol Subscribers: romangg, crossi, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D29231
-
- 28 May, 2020 3 commits
-
-
Vlad Zahorodnii authored
-
Vlad Zahorodnii authored
This change adds some documentation that describes the purpose of data control wrappers in a few words.
-
Vlad Zahorodnii authored
"auto r" implies that it's a resource, but it's not.
-