summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add server buffer exampleJorgen Lind2014-01-0617-0/+1230
| | | | | Change-Id: I33950ae923f5edba4faeca26cc0656be0255e403 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* update DrmEglServerIntegration to handle experimental 8 bit supportJorgen Lind2014-01-063-19/+155
| | | | | Change-Id: I8fa4ecf8b0848ca681f944a5fa56a4f6bb0a76be Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Update the Compositor side ServerBufferIntegrationJorgen Lind2014-01-034-8/+19
| | | | | | | | so its possible to ask for supported formats and make the createServerBuffer function pure virtual Change-Id: Idf07b993ea54927a51d43ef5e3a11fa1639dc1fe Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Add a size to the QWaylandServerBuffer on the client sideJorgen Lind2014-01-033-8/+15
| | | | | Change-Id: I48b7d514c1231eb4bd4a30f1329a89515b497269 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Removed unused variable in QWaylandSurfaceNodeJorgen Lind2014-01-032-2/+0
| | | | | Change-Id: Ic140ef50c1dcef3015061d281b4d666760df167f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: Expose window properties declarativelyAndrew Knight2013-12-302-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Using QQmlPropertyMap, surface properties are made accessible to QtQuick compositors in a declarative way. By using a QQmlPropertyMap instead of a QVariantMap, binding and signaling are automatic. A QML Compositor can declare a surface item and write to its properties like so: WaylandSurfaceItem { id: item property var roundtrip: item.surface.windowProperties.someDynamicProperty Binding { target: item.surface.windowProperties property: "someDynamicProperty" value: "someQmlValue" } } Change-Id: I783c3fd154c2512168b7cbf8c9736f833715065d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Fix ConstrastEffect in qml-compositorPier Luigi Fiorini2013-12-301-7/+7
| | | | | | | | Specify precision to make the shader working. Change-Id: I055fe47e1073403dc981274236fa82e091e0eca4 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Improve key auto repeat behavior.Giulio Camuffo2013-12-301-2/+2
| | | | | | | | | Keep the repeat timer running when a key release is received if it is relative to another key. Make the repeat send the modifiers too. Change-Id: I7438502bf50cbe60d56b14bab17aa394367406cf Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Make classes in client privateJorgen Lind2013-12-2784-234/+236
| | | | | Change-Id: Ibf400b32f78a6a0fcf0991914d2d9ad684483979 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add drm-egl server buffer integrationJorgen Lind2013-12-2715-0/+914
| | | | | Change-Id: Ib72cb43e78c068ebafa8c4e8ef1576746c7015e8 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* fixup for brcmJorgen Lind2013-12-271-4/+1
| | | | | Change-Id: I7bb7a4f7eec76044ebaa92c7a31be1ff2df8ff0e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add wl_display and server_buffer_integration to the native interfaceJorgen Lind2013-12-271-1/+3
| | | | | | | | | This is because the platform plugin name might not be wayland but we need a way to figure out that the platform plugin has at least the wl_display Change-Id: I0c88f153fd71d77dc703b4e69199b1b3d19ba013 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* update server buffer interfacesJorgen Lind2013-12-274-27/+84
| | | | | Change-Id: Ifc10b17deedc800167f3d03b2e4437e6b702ffa5 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* QtWaylandScanner: add server api for specifically creating new objectsJorgen Lind2013-12-271-0/+11
| | | | | | | | | | | | | Its no that obvious I think that setting the id == 0 when ading a resource is the right thing to do This commit can potentially break a CI build since it will not force a regeneration of the generated headers, but the "local" cpp files will use the updated header interface. To fix this clean the QtCompositor and the QtWaylandClient include directories in QtBase Change-Id: I32db799dfe338f38c3941eeeb22dd91ed0c7e77d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Use QScopedPointer in QWaylandDisplay for extensionsJorgen Lind2013-12-272-29/+29
| | | | | Change-Id: I783639fcefd36967f42f18417b0e07ec34b49dbb Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add hardware integration protocolJorgen Lind2013-12-2713-36/+423
| | | | | | | | | | This sends to clients what HW integration is being used in the compositor. This is useful when the wayland clients are loading their buffer integrations with plugins since they then can pick the correct plugin automatically. Change-Id: Ib4eac3b855c6772ac1581b7f06aa929aeb1a1db0 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add a preprocessor protocol name variableJorgen Lind2013-12-271-16/+20
| | | | | | | | | | | We should convert - to _ in the preprocessor protocol name since - will lead to a new token, but we don't since it is better to fail early here and the official wayland-scanner doesn't do this either. The generated c++ header will give a compiler error when being used which gives the user a chance to change the protocol name. Change-Id: I049bdecacc8ed9a70c0879494d4d358ce53f3320 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Fix compiler warningsJorgen Lind2013-12-276-2/+21
| | | | | Change-Id: I499c50c901bff1c496b05b628f8155376b5af267 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Remove compiler warning qtwaylandscannerJorgen Lind2013-12-271-11/+11
| | | | | | | We don't need the interface name anymore Change-Id: I8b1d334a549adb388da083dd8f4261755a54ff20 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Remove stale createGLIntegration functionsJorgen Lind2013-12-274-16/+0
| | | | | | | | They are not used anymore since QtWaylandClient supports subclassing QWaylandIntegration Change-Id: I847a412725c4ce06377886b44236f9793b609399 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Adjust the location of the compositors clientbuffer integration pluginsJorgen Lind2013-12-276-6/+6
| | | | | Change-Id: I85b293c981f9caf1bf9de34a54df7668198e2c7e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add serverbufferintegration to the qpa pluginJorgen Lind2013-12-2710-9/+410
| | | | | Change-Id: I3802ec2c2b69fa56d6a64962590ebaa7314b3eea Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Remove compiler warnings in compositor:wayland-eglJorgen Lind2013-12-271-2/+2
| | | | | Change-Id: I898e7f55076cb55996fd44931eb74e9fb112ceed Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Remove compiler warnings in client.Jorgen Lind2013-12-273-13/+13
| | | | | Change-Id: Iedd2e53aa8d6c8d09272175e402e64bdb40acb36 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* introduce HW integrations client pluginsJorgen Lind2013-12-2713-14/+371
| | | | | Change-Id: I07bdcf8db16741291b88084f045ae7b93a89b63f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Change constructor of QWaylandClientBufferIntegrationJorgen Lind2013-12-278-22/+29
| | | | | | | | | For QWaylandClientBufferIntegrations to be loadable from plugins the constructor shold not take any arguments, but give the display in the initialize function Change-Id: Ie38555120d7f29c6ba7eef0f095837235782684d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Rename QWaylandGLIntegration to QWaylandClientBufferIntegrationJorgen Lind2013-12-2726-123/+365
| | | | | | | also add a factory to load QWaylandClientBufferIntegrationPlugins Change-Id: Ia6a03627659b0452439ae664fceef21eaf0f6de0 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add server buffer extensionJorgen Lind2013-12-2710-28/+588
| | | | | Change-Id: I69b8f59eecf807179e5962e111f7096a6dfbd797 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Compositor: rename QWaylandGraphicsHardwareIntegrationJorgen Lind2013-12-2725-150/+151
| | | | | | | | | | to QWaylandClientBufferIntegration. I have checked this with xcomposite-egl and wayland-egl, abd have tried to do a simple search and replace for brcm-egl and xcomposite-glx, but there will likely be some small fixup needed Change-Id: I48d284b8a5172273e0a26443074a87a8171b9e88 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* make compositor build with new directory layoutJorgen Lind2013-12-2741-102/+140
| | | | | Change-Id: I3ede73420af9cb95820a9bec4fe7305f1107e22d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Move to new hardware structure for the platform pluginsJorgen Lind2013-12-2758-168/+569
| | | | | Change-Id: I0d383e4cdd59c4e4eae5506c814f0c80ecbf58ae Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Use the instealled headers in the public headers for clientJorgen Lind2013-12-2716-19/+20
| | | | | | | and use the install generated headers feature for wayland-scanner Change-Id: I6cba9f02f8739ef5fbeeb171582e6d766d9c0fdb Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Move wayland into a client directory not under the plugins src folderJorgen Lind2013-12-2792-145/+202
| | | | | | | | | And make wayland common files into a library, exporting all classes. Now there is no need to do bulild hacks to make your own version of the wayland plugin. Change-Id: Ib4872863dfb5ab3f2bc0f4a94ae16fc1e7b63b88 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Make it possible to install the generated headersJorgen Lind2013-12-241-9/+52
| | | | | | | | | | Adding a header_path parameter. This will cause the scanner to generate header includes that look for corresponding files in that path. Also when we'r installing files, then c++ classes needs to be exported Change-Id: Ic539c0861143d7200b9cae85ca902a17ea0d0a8d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Implement keyboard auto-repeatGiulio Camuffo2013-12-232-9/+49
| | | | | | | | | | Wayland does not send auto-repeat key events, so the clients must implement it themselves. The times used here are taken from Weston's toy toolkit implementation. Change-Id: I13ec7799672ee5ca2904c9b18ac5ec0c8816d6fc Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Fix decoration behavior when passing over with button pressedGiulio Camuffo2013-12-231-0/+1
| | | | | | | | | Fix the decoration resizing or moving the window when passing over it with the mouse button pressed, but which was not clicked over the decoration. Change-Id: If5d1d041ae6f80a07ce83bdca92dab35f721f2eb Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* QtCompositor: Fix retained selectionsAndrew Knight2013-12-183-0/+9
| | | | | | | | d06c0423 removed the retained selection mechanism when receiving an offer from a client, so add it back. Change-Id: I5fdf6dfe134e74265d24f8f5a92af7f0f3f387e7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Wayland supports multiple windows.Shawn Rutledge2013-12-181-0/+3
| | | | | | | | | | After this, QtQuick.Dialogs for example will use widget-based dialogs instead of in-scene QML items. Change-Id: I3ada4c59fc6ae40d4eb6d3eb3bde70e546d96e6d Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Giulio Camuffo <giuliocamuffo@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* QtCompositor: Provide a way to update the clipboard on a clientAndrew Knight2013-12-172-0/+25
| | | | | | | | | | | Clipboard synchronization happens when a client is keyboard-focused, but some clients may require clipboard access even when not in focus. Add an updateSelection() slot to QWaylandSurface so that the compositor implementor can synchronize the clipboard manually or through a signal-slot connection. Change-Id: I31475e120ae6efd7bdec4dda453c9ebf20099442 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Remove redefined InputMethod slotPier Luigi Fiorini2013-12-161-3/+0
| | | | | | | | 336dd85735e083d65fad4ac6eb1177a4b15467d6 duplicated the focusChanged() slot breaking the build. Change-Id: Ie792731673d90b92b63c59377c143efbb4a2bda8 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix initialization of a text input manager pointerMichael Krasnyk2013-12-161-0/+1
| | | | | | Change-Id: I0a7494ea44c8b3179a9daf10efa6e00fa21fa491 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* QtCompositor: Handle destroyed DataSource objects in DataDeviceAndrew Knight2013-12-160-0/+0
| | | | | | | | Fast selections can create dangling pointers to DataSource objects, so make sure the DataDevice is aware of DataSource destruction. Change-Id: Ibcb7eec3b3403bd6ee53b6f09815d78148f65b4d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: simplify retained selection implementationAndrew Knight2013-12-160-0/+0
| | | | | | | There is no reason to use a function pointer to handle selection override. Change-Id: Ic25d8f7cef97ce25666022e5119546647ec526f0 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* InputMethod extension fixupsAndrew Knight2013-12-161-0/+3
| | | | | | | | Add a missing slot decorator and a missing return statement. Change-Id: Iad7944b1b9d35ce45818d3be418dc897d7deed69 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: Make ExtensionFlags a QFlagsAndrew Knight2013-12-160-0/+0
| | | | | | | | This simplifies the creation and use of ExtensionFlags. Change-Id: Ia72bbc3f712759b231d8543a4f13ef2fdf6260f3 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: Allow key events to be delivered to unfocused windowsAndrew den Exter2013-12-160-0/+0
| | | | | | | | | Adds an overload to QWaylandInput::sendFullKeyEvent which allows specifying the surface to deliver the event to. This also extends the Qt keyboard extension to allow sending keys to specific windows. Change-Id: I1b7abdc4d8a30392ef2e7ee5e9af5b3036b23577 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: Allow key events to be delivered to unfocused windowsAndrew den Exter2013-12-168-23/+43
| | | | | | | | | Adds an overload to QWaylandInput::sendFullKeyEvent which allows specifying the surface to deliver the event to. This also extends the Qt keyboard extension to allow sending keys to specific windows. Change-Id: I1b7abdc4d8a30392ef2e7ee5e9af5b3036b23577 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: handle destruction in InputMethodAndrew Knight2013-12-162-0/+7
| | | | | | | Fix dangling pointers to resources when the InputMethod is closed. Change-Id: I177c954d27e8bd86bcf90fa89bf92d58ae023b9c Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: Handle destroyed DataSource objects in DataDeviceAndrew Knight2013-12-165-2/+22
| | | | | | | | Fast selections can create dangling pointers to DataSource objects, so make sure the DataDevice is aware of DataSource destruction. Change-Id: Ibcb7eec3b3403bd6ee53b6f09815d78148f65b4d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QtCompositor: simplify retained selection implementationAndrew Knight2013-12-165-32/+25
| | | | | | | There is no reason to use a function pointer to handle selection override. Change-Id: Ic25d8f7cef97ce25666022e5119546647ec526f0 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>