| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: If2cbf096e7419bc1bda007d5167ce39d1a5d50ae
|
|
|
|
| |
Change-Id: I84ed248b471464214d935352768f300d4b90dec3
|
|
|
|
|
|
|
|
|
|
|
| |
In change fa32466916f1e0fbd2be28bd48df2d9edfcd5e5f we moved the
visibility variable from QtWayland::ExtendedSurface to
QtWayland::Surface. But we didn't move the code in the ShellSurface
that kept this state in sync with the client. As a result
the client and compositor would get out of sync.
Change-Id: I54a7cb9f4b0669d3f3839ac8a29d8c42407195e2
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I5a74d32515c3f1fe7aa1916f4241c92832510f8c
Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Iecd5050097abcafa06073d41a31d1ae31fac5b42
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
| |
The compositor must not destroy wl_resources when it wants to, else it
breaks the contract with the client.
Change-Id: Ic0d298072cdf0954d2504c04bff2bcc99733e621
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
| |
We cannot just assume all clients implement the same version of the
various interfaces as the compositor does. Keep track of them, and
react accordingly when creating a resource or sending an event.
Change-Id: I9792433a14d49c5c4df0c892fc1349ce0dfb0d43
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
| |
Change-Id: I5eb8ab7bfb16505c8a14c4d77c5ff55aa0e22cfc
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
| |
Drop the custom request in the surface extension, and use the
wayland core mechanism.
Change-Id: I580f56c90bcd3b2c5a6da08d1a033b10790ac330
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
| |
The wl_output interface has an event for signaling the rotation of
the display, so use that instead of our own thing.
Change-Id: I8a017d575ee456a7a81649e19a015085fb784805
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wayland is designed to be easily extensible with new protocol,
unfortunately it currently isn't possible with QtCompositor.
A QtWayland compositor has two ends: the Wayland end and the shell/wm
end, which may be implemented in QML. These two ends communicate mainly
through the QWaylandSurface and the QWaylandSurfaceView classes, but the
Wayland end is currently unable to hook into custom protocol extensions.
This is the purpose of the new QWaylandSurfaceInterface class, and of
QWaylandSurfaceOp and its subclasses: based on the QEvent model,
QWaylandSurfaceOp has only a type member, and its type specific subclasses
have additional data if needed. A custom protocol implementation, such as
xdg_surface or my_fancy_surface, will use a QWaylandSurfaceInterface subclass
which will call its specific protocol functions when it gets the relative
operation requests from the parent surface.
The QWaylandShellSurface class is now redundant so it is removed.
Change-Id: I37a86157a251626215f57ce030c77a26bfd65126
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
|
|
|
|
|
|
| |
Change-Id: I638feb828792257ecf7bd29c4f86ed2d06174590
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The surface is not destroyed synchronously with the extended surface
so there is a small chance that something accesses
Surface::extendedSurface() between the time when the extended
surface is destroyed and the Surface itself is cleaned up.
We also want to make sure that the extended surface is not hanging
around after the surface is destroyed, so nuke it immediately on
surface_destroy_resource.
Change-Id: I87eff0b07727f1b528e803a5a617908658665f20
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enhances the onscreen_visibility extension to use QWindow's
visibility API. This way, the compositor can set the QWindow::visibility
on a Qt client. Any client that updates its window type through wl_shell
will also have its QWaylandSurface::visibility property updated, and the
compositor can choose to composite the surface accordingly. This also
simplifies exposure handling in QWaylandWindow so that it can use the
base implementation.
The existing use of this extension, setClientRenderingEnabled, is kept for
compatibility, and maps to QWindow::Hidden (false) and
QWindow::AutomaticVisibility (true).
Change-Id: If009649b98c792ca79585fbb09ea7912efeef7da
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
compositor
Change-Id: I744f9799730810e4afc73f86487a34aa0fd8405b
Done-with: Vesa Halttunen <vesa.halttunen@jollamobile.com>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
|
|
|
|
|
| |
Change-Id: I9b71f78c1db4aa4044dde25881d74a7c519046a8
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
|
|
|
|
|
| |
Change-Id: I6882f1747fa42b11e795252cba169f65e2fe08e5
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
|
|
|
|
|
|
|
|
| |
This requires some slight additions to the qtwaylandscanner to handle
the pattern of the wl_resource not being owned by the generated class.
Change-Id: Ia49c8129cee3a203ca9a727e83fafd3dfc653e75
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
|
|
|
|
|
|
|
| |
On ExtendedSurface::setWindowProperty(), use it's
writeUpdateToClient parameter.
Change-Id: I34e4af361715d4bb8cf42c73e6787b24e740df66
Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
|
|
Currently the QtCompositor library and API do not follow the Qt API
naming conventions. This commit intends to fix these inconsistencies.
filenames start with q
headers containing private API's end in _p
public API classes begin with Q
use the qt namespace macros where necessary
Wayland namespace is now QtWayland
wayland_wrapper classes are now private API's
It's important to make these changes not just for stylistic reasons, but
also because when qmake builds the module in checks for these
conventions to determine how to deploy the include files.
Change-Id: I8bfadeceda92a0f52cb73c704551da75540e7587
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|