summaryrefslogtreecommitdiffstats
path: root/src/compositor
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'qt/5.7' into 5.8v5.8.0-alpha1Liang Qi2016-08-2816-161/+185
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compositor/compositor_api/qwaylandseat.cpp src/compositor/compositor_api/qwaylandview.cpp tests/auto/compositor/compositor.pro tests/auto/compositor/compositor/testinputdevice.cpp tests/auto/compositor/compositor/testinputdevice.h tests/auto/compositor/testinputdevice.cpp tests/auto/compositor/testinputdevice.h tests/auto/compositor/testseat.cpp tests/auto/compositor/testseat.h Change-Id: I98e045908dd964e5d4120bd35e71b8839c0d923a
| * Doc: Language editVenugopal Shivashankar2016-08-241-1/+1
| | | | | | | | | | | | | | Removed a misplaced article. Change-Id: Ic78170156569b75d9ff577c8a34fd1bda48859c3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix incorrect documentation for QWaylandInputDeviceJohan Klokkhammer Helsing2016-08-181-1/+1
| | | | | | | | | | | | | | | | A QWaylandInputDevice is not actually an input device, but a group of keyboards, pointer and touch devices. Change-Id: Ib22f8cc71670cf83c70798d9eb24d48a04398b22 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Doc: Language editsVenugopal Shivashankar2016-08-1715-151/+167
| | | | | | | | | | | | | | Task-number: QTBUG-53147 Change-Id: I353cf18b9661b5eb2371072f8091dc890fc7fcf0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * Doc: minor link issues in qtwaylandNico Vertriest2016-08-104-12/+19
| | | | | | | | | | Change-Id: I0dd4d0262818ee622f9572506d4025e586f5674b Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Remove QWaylandView from the QML APIPaul Olav Tvete2016-08-226-17/+90
| | | | | | | | | | | | | | | | | | | | QWaylandQuickItem already encapsulates the view. Also rename the confusing 'discardFrontBuffers' property to 'allowDiscardFrontBuffer' Change-Id: Ibd74ad54bfe3d5187c2ed91ff0378b45e144e109 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Rename QWaylandSurface::isMapped to hasContentJohan Klokkhammer Helsing2016-08-227-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | It was potentially misleading, since "mapped" is already used with a slightly different meaning in the Wayland protocol. In the protocol, mapped means that the surface should be rendered. The renamed property, on the other hand, is true if the surface has a buffer with contents attached and committed. In some cases this is not the same, i.e. the drag icon after dropping, or xdg_popups after popup_done. Change-Id: Idc359433c6130e3815de57b21d4edb13e318887d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | compositor: Add shell property to xdg-shellPier Luigi Fiorini2016-08-152-0/+44
| | | | | | | | | | | | | | | | | | Add a shell property to QWaylandXdgSurface and QWaylandXdgPopup like QWaylandWlShellSurface. Change-Id: Id321f2ba8a48284c31fe67c4600c86f5c134b68d Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor: Add windowType property to QWaylandWlShellSurfaceJohan Klokkhammer Helsing2016-08-155-0/+45
| | | | | | | | | | | | Change-Id: I61ee336d3bc83e034faa3b0bb69b8bbeb3a139fb Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Compositor: Document QWaylandWlShellSurface shell propertyPier Luigi Fiorini2016-08-151-0/+11
| | | | | | | | | | Change-Id: Ibc872de6aa379fbad0a2a0cd0df4319a87a77620 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Compositor API: rename QWaylandInputDevice to QWaylandSeatJohan Klokkhammer Helsing2016-08-1141-349/+345
| | | | | | | | | | | | | | | | | | | | | | | | The name QWaylandInputDevice could be confusing and misleading: - A QWaylandInputDevice was not one input device, but a collection of many. - Classes that sounded like they should inherit from it did not, i.e: QWaylandKeyboard, QWaylandPointer and QWaylandTouch. - The Wayland protocol already has another term for this, which is seat. Change-Id: I9d9690d5b378075d9dddaeb8cf18395c7f47603e Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Fix documentation for wlShellSurfaceRequestedJohan Klokkhammer Helsing2016-08-101-2/+2
| | | | | | | | | | | | | | It got left out in the rename from createShellSurface. Change-Id: I2831e417446add9e30a0e297b7b7ed1ca1b2961d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Compositor API: Remove mouseFocus method from QWaylandTouchJohan Klokkhammer Helsing2016-08-092-15/+2
| | | | | | | | | | | | | | | | It's redundant API because it's already possible to get it through both QWaylandInputDevice and QWaylandPointer. Change-Id: Id5522909f1c12ef3e8f0301f7e94cdc77aa68e10 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Merge remote-tracking branch 'qt/5.7' into devPaul Olav Tvete2016-08-047-15/+15
|\| | | | | | | Change-Id: Ib22055ac52c0bb36081242948c72332db4e5ac64
| * Emit NOTIFY signal for bufferLocked propertyPaul Olav Tvete2016-08-041-0/+3
| | | | | | | | | | | | Change-Id: Ibc11a06a15834f3486440c65edd397bfcba5e0f4 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Doc: several minor link issues in QtWaylandNico Vertriest2016-08-026-15/+12
| | | | | | | | | | | | Change-Id: I9e656b02e1b820e2257d95948650c541656192b4 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Rename createSurface and similar signalsJohan Klokkhammer Helsing2016-08-036-15/+15
| | | | | | | | | | | | | | | | | | | | | | * createSurface -> surfaceRequested * createXdgSurface -> xdgSurfaceRequested * createXdgPopup -> xdgPopupRequested * createShellSurface -> wlShellSurfaceRequested * shellSurfaceCreated -> wlShellSurfaceCreated Change-Id: I715a927242130d7504955002a6a64a2bac516d46 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-024-12/+13
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/wayland/minimal-qml/main.qml Change-Id: Ic34029a6aa77f2b359f40258a05421d82efd5b37
| * Fix clang compilation errorsJohan Klokkhammer Helsing2016-07-132-3/+3
| | | | | | | | | | | | | | | | Adds missing overrides and removes a private header generated by wayland-scanner from the public API. Change-Id: I53fc3f8bacca41821f0531aae02ca2a5da758e13 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Fix the key code of key events when control is pressedGiulio Camuffo2016-07-041-4/+2
| | | | | | | | | | | | Change-Id: I51a57a32d8263e663a48dac15881d685359bc91d Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Doc: fixed issue compiling qtwaylandcompositor.htmlNico Vertriest2016-07-011-5/+8
| | | | | | | | | | | | | | Added 2 cpp.ignoretokens statements Change-Id: I0f86ba94682b6f9fc0e76484a14ece7c39ff436a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Migrate to public QOpenGLTextureBlitterLaszlo Agocs2016-07-292-2/+2
| | | | | | | | | | Change-Id: I481ebdaf9e5749a57223a91ab3a231ca40af059a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compile with -no-openglJohan Klokkhammer Helsing2016-07-2013-8/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QtWayland has not compiled without OpenGL for a while. This patch fixes the compilation issues and removes the old config variable, "QT_WAYLAND_GL_CONFIG" and instead checks for the presence of "opengl" in "QT_CONFIG". A new define is also introduced, QT_WAYLAND_COMPOSITOR_QUICK, because it may eventually be possible to use create a QtQuick compositor without OpenGL. Task-number: QTBUG-54322 Change-Id: Ica7b3b320212d4ae1f8b1053725b73c83739c73c Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Rename sendUnMaximized to sendUnmaximizedJohan Klokkhammer Helsing2016-07-123-4/+4
| | | | | | | | | | Change-Id: I20add5c8b12e1345ce50c009d8bae80fde9806e1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor: make the extensions property list optionalPaul Olav Tvete2016-07-122-0/+7
| | | | | | | | | | | | | | | | | | | | Extensions will now automatically add themselves to their parent if they are not inside an extensions [ ... ] array. Change-Id: I26c7f7c2ee023595eb4cd2496dd56e212f05329c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Compositor: Rename shm to sharedMemoryJohan Klokkhammer Helsing2016-07-119-21/+22
| | | | | | | | | | | | | | | | sharedMemory is much clearer and will increase the readability of the code and API. Change-Id: Ibb6d7424fa8d44a94a0f4ddf476a564eb235323f Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Expose QWaylandDrag to the QML APIJohan Klokkhammer Helsing2016-07-111-0/+2
| | | | | | | | | | Change-Id: I688f8c5d6781d695d3554aaec0c11be95cec371b Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Fix drag-and-drop for QML compositorsJohan Klokkhammer Helsing2016-07-113-18/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Dragging within the same client was broken because handleStartDrag called setInputEventsEnabled(false), which meant the surface was ignored as a target for the drag. With this change, input events are not disabled, and wl_data_device.motion events are sent to the source surface like they should. Also wl_pointer.leave and enter are sent before and after the drag. Change-Id: Ife46ca3a9d44a660a5cf029093842adb0e3eca7c Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Rename bufferLock to bufferLockedJohan Klokkhammer Helsing2016-07-043-12/+12
| | | | | | | | | | Change-Id: Ia3e0fa53579ee0d28b1d6b7384b9c6def2761a2b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Compositor: always use move item when positioning shell surfacesPier Luigi Fiorini2016-07-011-6/+6
| | | | | | | | | | | | | | Change-Id: I770829cd4dbc2b6669abfde6f21c1967357cc562 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor: maximize on the output where the item is renderedPier Luigi Fiorini2016-07-011-2/+2
| | | | | | | | | | | | | | Change-Id: I2ab66ee3185322674c5f9fa580659807aa6731ae Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor: consider available geometry when maximizingPier Luigi Fiorini2016-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | Take into account only the portion of output that the compositor makes available to applications. Change-Id: Ibe6b1fd94722b42d99ddf133c84d0924461d29f9 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Rename QT_COMPOSITOR_WAYLAND_GL to QT_WAYLAND_COMPOSITOR_GLJohan Klokkhammer Helsing2016-07-017-15/+15
| | | | | | | | | | | | | | | | Qt Wayland Compositor is the name used for the module elsewhere. Change-Id: I28813d50f1aed86f49a31aa54d27ea4ed2770d6a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-3011-14/+62
|\| | | | | | | | | | | | | Conflicts: src/compositor/extensions/qwaylandxdgshellintegration.cpp Change-Id: I3e8666d0c2fd047f12daeb94b2c967c646576ed9
| * xdg_shell: Send unmaximize configure events with zero width and heightJohan Klokkhammer Helsing2016-06-211-4/+3
| | | | | | | | | | | | | | | | | | | | This is what Weston does. It also fixes an issue where clicking and releasing the window border without moving the mouse would result in an incorrect size being sent in the configure event (because resizeState is initialized in the move handler, which may not have been called). Change-Id: Ib2a544c39cf74a210ac8fafe3624d9169ea06b4c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Doc: minor link issues QtWaylandNico Vertriest2016-06-214-5/+5
| | | | | | | | | | | | Change-Id: I5ea47a8252f2915696d02052686f2c802a81878c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Compositor: Fix popup support properlyPaul Olav Tvete2016-06-202-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | - Make popups work with overlays such as QQuickDrawer. - No longer require that there is a background item that accepts mouse events. - UI items on top of the compositor area that should block mouse clicks on popups, must set the property "qtwayland_blocking_overlay". Change-Id: If81793750e016f53e3873e216e90ed86d324c067 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Make source tarballs compile with --developer-build configure flagJohan Klokkhammer Helsing2016-06-201-0/+2
| | | | | | | | | | | | | | | | | | For some reason, include paths to the generated protocol headers are incorrect only when compiling from source tarballs. Task-number: QTBUG-53945 Change-Id: I7721dee4d75bd0dd29f68062fa7c200f85ce24d6 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Merge remote-tracking branch 'origin/5.7.0' into 5.7Liang Qi2016-06-162-2/+8
| |\ | | | | | | | | | Change-Id: I58849f3b7bf695eb446e9dc96d71d6838912ffb1
| | * QtCompositor: Fixed touch point handlingDominik Holland2016-06-072-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When touch event sending was enabled for the surface the compositor crashed because the resource where not bound and the checks for the pointer were wrong. Task-number: QTBUG-53886 Change-Id: I3720c773cbe30354bb4fe3789e26a8901e676049 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Kalle Viironen <kalle.viironen@theqtcompany.com>
| * | Fixed invalid texture error when unhiding QWaylandQuickItems.Robert Griebl2016-06-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating new scene-graph nodes (which is the case when re-parenting items), no texture is attached to the node, leading to an abort due to an invalid scene-graph. Change-Id: I4cc1fd3cbce5f90362bc18b87a76b462d0d62377 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Add QQmlParserStatus interface to QtQuick extensionsPier Luigi Fiorini2016-06-231-0/+1
| | | | | | | | | | | | | | | Change-Id: I149dcc36aacf963ba0d4ef62230a491dc8be8046 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Compositor: fix wl_shell popups on multi-outputPier Luigi Fiorini2016-06-231-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | Find the parent item on the same output. Change-Id: I9c978f956949d134015cbfbf692a6561d882264c Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Emit a signal when QWaylandXdgSurface changes window typePier Luigi Fiorini2016-06-233-5/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows compositors to track when a window changes type and act accordingly (for example do a different show animation). Compositors might also want to keep track of the window type in order to filter out windows when presenting them to the user, think of a spread windows effect that only shows top level windows. Change-Id: I13c0ed3db2bdc6318ff1f4345d065e188b7c2435 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Add compositor property to QWaylandClientPier Luigi Fiorini2016-06-232-0/+21
| | | | | | | | | | | | | | | Change-Id: Ia74d0e0cda731d1833da154b6c1739e57f73834a Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Take buffer scale into account when calculating unset window geometryJohan Klokkhammer Helsing2016-06-233-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a resize issue where the window would scale to be bufferScale times the size it should have been. Change-Id: I4d3eee52d54a063c0a617a053cbe05b351f18f76 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | Use mapToSurface instead of dividing by scaleFactorJohan Klokkhammer Helsing2016-06-201-2/+1
| | | | | | | | | | | | | | | Change-Id: I73f2f71524b24144b0a6470b3437970f4767c17b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | | Add QML popup support for xdg_shellJohan Klokkhammer Helsing2016-06-156-7/+53
| | | | | | | | | | | | | | | Change-Id: I5b35ff3b1c6c2dc884b52e6f077c0f2bb2db68a2 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* | | Compositor, wl_shell: Maintain a list of all shellSurfacesJohan Klokkhammer Helsing2016-06-133-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandShellSurface is added to a list of all shell surfaces. This list can be convenient in a number of places, namely: * Closing all popups * Checking for protocol errors * Other uses for iterating over all shell surfaces Change-Id: I384b4e2170840e8db55ca01c49eccc0463f38863 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | | Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/devPaul Olav Tvete2016-06-133-5/+18
|\ \ \