summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api
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>
* Use WaylandCompositor module name for export macroPaul Olav Tvete2016-02-1525-26/+26
| | | | | | | 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>
* Add surface roles backGiulio Camuffo2016-02-118-2/+173
| | | | | | 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>
* 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>
* 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-0253-2808/+7551
|\ | | | | | | | | | | | | 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-282-4/+6
| | | | | | | | | | | | Change-Id: Ie23f7c01331d5e52dcf30952d7ad9ade6ef5a5e0 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
| * Fix copyright headersPaul Olav Tvete2015-11-098-8/+8
| | | | | | | | | | | | | | | | 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-274-15/+61
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2621-38/+1484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-238-0/+88
| | | | | | | | | | | | | | | | | | | | | We mean it. Change-Id: I7381c7aad198dcca485d488571fd12296d07f980 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | Rename QWaylandExtensionContainer to QWaylandObjectPaul Olav Tvete2015-10-2314-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-133-22/+61
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | 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-1817-480/+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-174-45/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | Implement resize/move for pure-qmlJørgen Lind2015-09-163-4/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: I7919f7715486fa2d8cfe35c08095f6c33757a515 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Create a utility function for QWaylandQuickItem::inputRegionContainsJørgen Lind2015-09-162-13/+12
| | | | | | | | | | | | | | | | | | | | Change-Id: I7bfdd54015e768e0336bda6e74e1816188d30c94 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Make QWaylandQuickItem use pimplJørgen Lind2015-09-164-136/+250
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic2c0707d8576f72e1c6ae6e8c2e026882a5733b6 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | Remove QWaylandCompositor::cleanupGraphicsResources()Jørgen Lind2015-09-154-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is not needed anymore since the QWaylandView holds a reference to the buffer and the QWaylandQuickItem owns the texture Change-Id: I0a4da028cf1cecf4b0710b96737dfc1035e5f1f9 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
| * | | QWaylandOutput should not resize the windowPaul Olav Tvete2015-09-151-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The communication should always go the other way: if sizeFollowsWindow then the output is automatically resized when the window resizes. Otherwise, QWaylandOutput::setGeometry() must be called manually. Change-Id: Ibbf3435aa68ddefd8dbb779e3e25232a3775973d Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
| * | | Remove the touch grabberPaul Olav Tvete2015-09-153-75/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Not tested. Change-Id: I247d57b06b87b38a649e10cf190db49e1d59566f Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
| * | | Remove the keyboard grabberPaul Olav Tvete2015-09-153-54/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I63e5764e3b0000cf84c326aca3c33e333f860d08 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
| * | | Remove the mouse grabberPaul Olav Tvete2015-09-154-134/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is no longer used for move/resize, and we are going to introduce a new concept for drag and drop (which stopped working several changes ago anyway). The old drag and drop code is left commented out to assist in the new implementation. Change-Id: I18cb41d04f09d6033d1c9e666a739793fcef494b Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>