summaryrefslogtreecommitdiffstats
path: root/src/compositor
Commit message (Collapse)AuthorAgeFilesLines
* QWaylandQuickItem: Fix Layeringv5.7.0-alpha1Louai Al-Khanji2016-03-041-0/+4
| | | | | | | | | If layering is enabled we should return the texture provider of the base class into which any child items are drawn. Change-Id: I13e6634860e8ccfec6511870f1b3cd36a5079225 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com>
* Rename QWaylandShellSurface::DefaultEdge to NoneEdgeJohan Klokkhammer Helsing2016-03-022-2/+2
| | | | | | | | | This matches the name and value defined in the wayland protocol (wayland.xml) Change-Id: I562d14b637c615550d3467d469e147488b4b4340 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Erik Larsson <erik@ortogonal.com>
* Use WaylandCompositor module name for export macroPaul Olav Tvete2016-02-1544-56/+56
| | | | | | | Change-Id: Ieb65b66f28986845f50647ae338678f0a1e7a153 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Johan Helsing <johan.helsing@theqtcompany.com>
* Expose a method to send ping events in QWaylandShellSurfaceGiulio Camuffo2016-02-123-7/+22
| | | | | | | It must be callable by the user so it must be public API. Change-Id: Ic028843189148130a57a21e6e64840bd400dc7dc Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Add surface roles backGiulio Camuffo2016-02-1111-14/+206
| | | | | | Task-number: QTBUG-49809 Change-Id: Id62ddea68c89b6999b66d3df8eeeffd858ae844f Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Add missing function implementation of QWaylandInput::touch()Erik Larsson2016-02-041-0/+9
| | | | | | Change-Id: I30369e22e727487d91ea770259f2a8d96d62b87c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Send correct mouse press positionPaul Olav Tvete2016-02-041-0/+1
| | | | | | | | | | | The Wayland protocol sends mouse presses without position, relying on mouse moves to be sent first. Qt sends positions with mouse events. Make sure that the position is correct by sending a move event for each press event. Change-Id: I6a1a9ee8b130011f0d180c878a7d273e11f72fa2 Reviewed-by: Mikko Levonmaa <mikko.levonmaa@bitfactor.fi> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Subsurface implementation, with C++ APIPaul Olav Tvete2016-02-046-5/+96
| | | | | | | | | This adds support for subsurfaces to QWaylandCompositor and QWaylandSurface. Task-number: QTBUG-49809 Change-Id: I2fa9ee4dcd1f48a2a28dab536f9cd6edc716e42b Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
* Remove unused variable warningsLaszlo Agocs2016-02-032-0/+2
| | | | | Change-Id: I02d5bd98e9cf0c3ba5094bb2862ba4d6663efe6c Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com>
* Add missing QT+=quickLaszlo Agocs2016-01-281-0/+2
| | | | | | | | | This is important for the build system esp. in prefixed builds when cross-compiling. Otherwise compositor apps will complain not finding libQt5Quick.so. Change-Id: Idfd5a2f0ab02d63d761ed69e60310525cb8cdf9e Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Updated license headersAntti Kokko2016-01-202-28/+40
| | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I76ae5d3e64f096eb3163d6163a38d68c7c1ca756 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Output available geometry in output coordinates spacePier Luigi Fiorini2016-01-111-1/+8
| | | | | | | | | | | | The available geometry is a portion of the output so starting from the output global coordinates is wrong, it should start from 0,0 by default. Warn when coordinates outside the output are set. Update the documentation accordingly. Change-Id: Ia93481ad092c9daab3837321b62831f51fce9e57 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Send the right output position to clientsPier Luigi Fiorini2016-01-111-1/+1
| | | | | | | | Fix typo and send X and Y coordinates not X twice. Change-Id: I830287201d3ae9f9baf25abb9597bcc09cb8ce92 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Actually change manufacturer and modelPier Luigi Fiorini2016-01-111-2/+16
| | | | | | | Emit the signal and send the Wayland event to clients. Change-Id: I68a33746057e85bb6606a6217a2cdb890b6a641a Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Allow headless compositors and avoid crashesPier Luigi Fiorini2016-01-111-7/+17
| | | | | | | | | Setting a null window used to crash the compositor, but is a supported use case so we shouldn't make any assumption on the window being always available. Change-Id: I9d7cd763427e3910cd36b38ac098cdf217f6b41b Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* update plugins.qmltypesShawn Rutledge2016-01-052-2/+3
| | | | | | | | | This requires a couple of null pointer checks because of the platform plugin that qmlplugindump uses. Change-Id: Icb7c0ac1c71ddf69f6c3d9e0013dd6b5e2ef5ab9 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Doc: Rename the qdocconf to match the doc project nameVenugopal Shivashankar2015-12-152-1/+1
| | | | | | | | qmake assumes that the conf file name and the project name are same, so 'make docs' fail if they are different. Change-Id: Ic4784524c50cd085096fbf8853138b48d818fd61 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Send correct refresh rate on bindingPier Luigi Fiorini2015-12-092-2/+2
| | | | | | | | | | Wayland unit of measurement for refresh rate is mHz, multiply by 1000 to send the correct value when the client is bound. Also use qreal for the refreshRate because the API deals with Hz. Change-Id: Ib1cf82c4e9469fa2e8e21b577d74cf7e74ef8b5e Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Merge branch 'wip-compositor-api' into devPaul Olav Tvete2015-12-02157-10974/+12054
|\ | | | | | | | | | | | | This introduces the new compositor API, removing the old API (which was never officially supported). Change-Id: I1dc01f0fb4edc749e34ed8356e56ad87d7d64913
| * Add clients with the correct versionPier Luigi Fiorini2015-11-287-12/+12
| | | | | | | | | | | | | | | | | | | | | | Wayland clients might implement an older interface version, in that case we don't want to send unsupported requests. To ensure that we pick the lower version between the one asked by the client and the one we actually implement on the server. Change-Id: I4865780505db171295897fc7f6567c6f88e598fa Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * Mark reimplemented methods as overridePier Luigi Fiorini2015-11-281-13/+13
| | | | | | | | | | Change-Id: I2a1f9dee1bc7f29a8e81b2429f49748ee477bd4f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Fix typo in QWaylandQuickOutput warningPier Luigi Fiorini2015-11-281-1/+1
| | | | | | | | | | Change-Id: I0f45e4b510e898d4107b80b1a61d64c86513ec85 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * Add keyboard repeat rate and delayPier Luigi Fiorini2015-11-283-1/+75
| | | | | | | | | | | | | | | | | | Add getter and setter for repeat rate and delay. This has no effect until the compositor has support for Wayland 1.6 which has not yet been done due to CI lacking a recent library version. Change-Id: I55a9c48dcb974d5fff437fd79148ce02d74beccb Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * Compile fix for namespaced Qt buildsPaul Olav Tvete2015-11-284-4/+15
| | | | | | | | | | | | Change-Id: Ie23f7c01331d5e52dcf30952d7ad9ade6ef5a5e0 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
| * Rename setPopup surface argumentPier Luigi Fiorini2015-11-271-1/+1
| | | | | | | | | | | | | | | | | | Make setPopup signature consistent with setTransient and fix potential issues with QML since "parent" is special. Change-Id: Ib3736af63d106f50379b3e296b73d8690d9bc09f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * Doc: Change a few parameter values in the qdocconfVenugopal Shivashankar2015-11-112-12/+9
| | | | | | | | | | | | | | | | | | | | The waylandcompositor API will be part of Qt so the docs for it should use the Qt reference documentation URL and version. The index page for the module cannot be named 'index.html' as it conflicts with the Qt reference doc main page. Change-Id: I3d8c45dac7a896e9bd6a2ab5f1c6d4f7018810ed Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| * Fix copyright headersPaul Olav Tvete2015-11-0917-17/+17
| | | | | | | | | | | | | | | | Old copyright headers were accidentally used for some new code. Change-Id: I0230d350e59701bc6b383c7c8151d52e34e8e75a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
| * Try to get wl_display from the platform pluginPaul Olav Tvete2015-11-061-2/+6
| | | | | | | | | | | | | | | | | | Some platforms require that the platform plugin creates the wl_display. If so, use that one. Change-Id: Ice7e0f79d525c0c7c1f79794dd6719ff8c3c7c80 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Merge branch '5.6' into wip-compositor-apiLaszlo Agocs2015-10-278-24/+86
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qwindow-compositor changes from 5.6 will be adapted separately. The traditional wayland-egl path is tested and is functional like before. The EGLStream support will be verified separately once the qwindow-compositor changes are ready. Conflicts: examples/wayland/qwindow-compositor/qwindowcompositor.cpp examples/wayland/qwindow-compositor/textureblitter.cpp examples/wayland/qwindow-compositor/textureblitter.h examples/wayland/server-buffer/client/client.pro examples/wayland/server-buffer/compositor/compositor.pro src/compositor/compositor_api/qwaylandbufferref.cpp src/compositor/compositor_api/qwaylandbufferref.h src/compositor/hardware_integration/qwlclientbufferintegration_p.h src/compositor/wayland_wrapper/qwlkeyboard.cpp src/compositor/wayland_wrapper/qwlkeyboard_p.h src/compositor/wayland_wrapper/qwlsurfacebuffer.cpp src/compositor/wayland_wrapper/qwlsurfacebuffer_p.h src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h src/plugins/hardwareintegration/compositor/wayland-egl/wayland-egl.pro Change-Id: Ic2e3a6e8f74606c35b1e27cd4016fa133527d7ba
| * | Add documentation to Qt Wayland CompositorEskil Abrahamsen Blomfeldt2015-10-2629-38/+2014
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds some preliminary documentation for the Qt Wayland Compositor. There are a few classes which remain undocumented. The documentation in some areas may be a bit minimal, but this can be expanded gradually with code examples and more details. Change-Id: I5d285a5a25e8602ac2fdddc84c3fd217e7b77c95 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | Add warning to private headersPaul Olav Tvete2015-10-2321-0/+231
| | | | | | | | | | | | | | | | | | | | | We mean it. Change-Id: I7381c7aad198dcca485d488571fd12296d07f980 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | Rename QWaylandExtensionContainer to QWaylandObjectPaul Olav Tvete2015-10-2322-52/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the name, and make QWaylandExtension a subclass of QWaylandObject. This way, all extensions can have extensions of their own, without multiply inheriting. Change-Id: Ie06e764412d113f7a62399caa605a48b015c7d24 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | Merge branch 'qt/5.6' into wip-compositor-apiPaul Olav Tvete2015-10-1316-22/+204
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/wayland/pure-qml/main.cpp examples/wayland/pure-qml/qml/Chrome.qml examples/wayland/pure-qml/qml/main.qml src/client/qwaylanddnd_p.h src/compositor/compositor_api/qwaylandquicksurface.cpp src/compositor/compositor_api/qwaylandsurface_p.h src/compositor/compositor_api/qwaylandsurfaceitem.cpp src/compositor/extensions/qwlinputmethodcontext_p.h src/compositor/hardware_integration/qwlclientbufferintegration_p.h src/compositor/hardware_integration/qwlclientbufferintegrationfactory_p.h src/compositor/hardware_integration/qwlclientbufferintegrationplugin_p.h src/compositor/hardware_integration/qwlhwintegration_p.h src/compositor/hardware_integration/qwlserverbufferintegrationfactory_p.h src/compositor/hardware_integration/qwlserverbufferintegrationplugin_p.h src/compositor/wayland_wrapper/qwlcompositor_p.h src/compositor/wayland_wrapper/qwldatadevice_p.h src/compositor/wayland_wrapper/qwldatadevicemanager_p.h src/compositor/wayland_wrapper/qwldatasource_p.h src/compositor/wayland_wrapper/qwlextendedsurface_p.h src/compositor/wayland_wrapper/qwlinputdevice_p.h src/compositor/wayland_wrapper/qwlinputmethod_p.h src/compositor/wayland_wrapper/qwlinputpanel_p.h src/compositor/wayland_wrapper/qwlinputpanelsurface_p.h src/compositor/wayland_wrapper/qwlkeyboard.cpp src/compositor/wayland_wrapper/qwlkeyboard_p.h src/compositor/wayland_wrapper/qwloutput_p.h src/compositor/wayland_wrapper/qwlpointer_p.h src/compositor/wayland_wrapper/qwlregion_p.h src/compositor/wayland_wrapper/qwlshellsurface_p.h src/compositor/wayland_wrapper/qwlsubsurface_p.h src/compositor/wayland_wrapper/qwlsurface.cpp src/compositor/wayland_wrapper/qwlsurface_p.h src/compositor/wayland_wrapper/qwltextinput_p.h src/compositor/wayland_wrapper/qwltextinputmanager_p.h src/compositor/wayland_wrapper/qwltouch_p.h src/compositor/windowmanagerprotocol/waylandwindowmanagerintegration_p.h src/imports/compositor/WaylandCursorItem.qml Change-Id: I4e63ef295b297022d4970b3c68b3d565843086bd
| * | | Fix missing #ifndef for housekeeping code.Erik Larsson2015-10-121-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Iad74c37917ef2cb61565c88dc3de12bd0fb7fbcb Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | A surface buffer has content iff it has a bufferPaul Olav Tvete2015-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I357097740a50b677b85e1708ec440da03573d2d2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | | Avoid double deletePaul Olav Tvete2015-10-021-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extension resources are destroyed by Wayland, and we delete the corresponding classes when that happens. This means that we must not delete the extensions when the container is deleted. Change-Id: I0842e40ab8e8861a623d0fcb47dfd3cf71417d4f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | | Add raise() and lower() to QWaylandQuickItemPaul Olav Tvete2015-09-292-0/+20
| | | | | | | | | | | | | | | | | | | | Change-Id: Idbd0ec7e8b77f6241aa6ac91639d76a0ffe2dae9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | | Improve notification at surface destructionPaul Olav Tvete2015-09-291-5/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: I7e9cb1a0ed728f21af4f1e00ee66dfe86f0dd6a4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | | Add missing Q_ENUMJørgen Lind2015-09-183-0/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib1af1399fb7a50ae3e97432fc7d34b1bc6956428 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Make sure QWaylandQuickItem paints the first frameJørgen Lind2015-09-182-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when a Surface containing a frame is being set on it Change-Id: Ie19f017f0f28e225ffc29edf9a88fa21e6988d02 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Hook up the QWaylandQuickItem::surfaceDestroyedJørgen Lind2015-09-181-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I8551318190782a2426ff9d03fbe881a0cdc7016a Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Remove the parent pointer for the view in QWaylandQuickItemJørgen Lind2015-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Its a scoped pointer and will be deleted by QWaylandQuickItem Change-Id: Ief881cc4dd83780da49c3d70d886389b7a10c33d Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Add sizeFollowsSurface property to QWaylandQuickItemJørgen Lind2015-09-183-24/+29
| | | | | | | | | | | | | | | | | | | | Change-Id: I416f5689679d08b9ba89dceceac5c2ed9128ed9a Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Add a setDefaultOutput function to QWaylandCompositorJørgen Lind2015-09-183-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Have to remove the assert in QWaylandCompositorPrivate::addOutput since setDefault output can also add outputs now, and it might be called by both Change-Id: Ic2a321fde37917427dfb68b38dd3e6af2ed20368 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Add a DiscardFontBuffers property to QWaylandViewJørgen Lind2015-09-183-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an optimisation property which can be set on a view. If you have two views for a surface, then the frontBuffer will be released first when the last view has released the frontBuffer. With this option all views with this option set to true will discard the frontBuffer when the throtlingView discards its frontbuffer Change-Id: Id628ec60830549ea930c1fff950501de2b073e48 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Simplify the construction of pure-qmlJørgen Lind2015-09-182-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible that an WaylandOutput item is declared as a child of a WaylandCompositor item. This is mostly usefull for examples, since output handling will likely be event driven in a propper compositor Change-Id: I3238b079e41a49f69cbd9255818588674b364fb2 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Remove the QWaylandOutputSpaceJørgen Lind2015-09-1819-483/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need this abstraction anymore since we don't have global coordinates in the core api anymore Change-Id: I553a736a0e71026447d6a0af3f8a64607b8c8f06 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Remove nativeBuffer from QWaylandBufferRefJørgen Lind2015-09-182-8/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I0f95ee3a93e7884c730492d324b5430f7be0502d Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | New API for drag and dropPaul Olav Tvete2015-09-176-122/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Let the compositor implementation keep all the GUI state. Change-Id: I73a865fa3407340276d6765e10378b8e23a76fe2 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
| * | | Crash fixPaul Olav Tvete2015-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the internal API correctly. Change-Id: I56e1bbe27c126d70da6a04bad9de7c8a8ea1112b Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>