summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-12-27update server buffer interfacesJorgen Lind4-27/+84
Change-Id: Ifc10b17deedc800167f3d03b2e4437e6b702ffa5 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27QtWaylandScanner: add server api for specifically creating new objectsJorgen Lind1-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>
2013-12-27Use QScopedPointer in QWaylandDisplay for extensionsJorgen Lind2-29/+29
Change-Id: I783639fcefd36967f42f18417b0e07ec34b49dbb Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Add hardware integration protocolJorgen Lind13-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>
2013-12-27Add a preprocessor protocol name variableJorgen Lind1-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>
2013-12-27Fix compiler warningsJorgen Lind6-2/+21
Change-Id: I499c50c901bff1c496b05b628f8155376b5af267 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Remove compiler warning qtwaylandscannerJorgen Lind1-11/+11
We don't need the interface name anymore Change-Id: I8b1d334a549adb388da083dd8f4261755a54ff20 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Remove stale createGLIntegration functionsJorgen Lind4-16/+0
They are not used anymore since QtWaylandClient supports subclassing QWaylandIntegration Change-Id: I847a412725c4ce06377886b44236f9793b609399 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Adjust the location of the compositors clientbuffer integration pluginsJorgen Lind6-6/+6
Change-Id: I85b293c981f9caf1bf9de34a54df7668198e2c7e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Add serverbufferintegration to the qpa pluginJorgen Lind10-9/+410
Change-Id: I3802ec2c2b69fa56d6a64962590ebaa7314b3eea Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Remove compiler warnings in compositor:wayland-eglJorgen Lind1-2/+2
Change-Id: I898e7f55076cb55996fd44931eb74e9fb112ceed Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Remove compiler warnings in client.Jorgen Lind3-13/+13
Change-Id: Iedd2e53aa8d6c8d09272175e402e64bdb40acb36 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27introduce HW integrations client pluginsJorgen Lind13-14/+371
Change-Id: I07bdcf8db16741291b88084f045ae7b93a89b63f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Change constructor of QWaylandClientBufferIntegrationJorgen Lind8-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>
2013-12-27Rename QWaylandGLIntegration to QWaylandClientBufferIntegrationJorgen Lind26-123/+365
also add a factory to load QWaylandClientBufferIntegrationPlugins Change-Id: Ia6a03627659b0452439ae664fceef21eaf0f6de0 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Add server buffer extensionJorgen Lind10-28/+588
Change-Id: I69b8f59eecf807179e5962e111f7096a6dfbd797 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Compositor: rename QWaylandGraphicsHardwareIntegrationJorgen Lind25-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>
2013-12-27make compositor build with new directory layoutJorgen Lind41-102/+140
Change-Id: I3ede73420af9cb95820a9bec4fe7305f1107e22d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Move to new hardware structure for the platform pluginsJorgen Lind58-168/+569
Change-Id: I0d383e4cdd59c4e4eae5506c814f0c80ecbf58ae Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Use the instealled headers in the public headers for clientJorgen Lind16-19/+20
and use the install generated headers feature for wayland-scanner Change-Id: I6cba9f02f8739ef5fbeeb171582e6d766d9c0fdb Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-12-27Move wayland into a client directory not under the plugins src folderJorgen Lind92-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>
2013-12-24Make it possible to install the generated headersJorgen Lind1-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>
2013-12-23Implement keyboard auto-repeatGiulio Camuffo2-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>
2013-12-23Fix decoration behavior when passing over with button pressedGiulio Camuffo1-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>
2013-12-18QtCompositor: Fix retained selectionsAndrew Knight3-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>
2013-12-18Wayland supports multiple windows.Shawn Rutledge1-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>
2013-12-17QtCompositor: Provide a way to update the clipboard on a clientAndrew Knight2-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>
2013-12-16Remove redefined InputMethod slotPier Luigi Fiorini1-3/+0
336dd85735e083d65fad4ac6eb1177a4b15467d6 duplicated the focusChanged() slot breaking the build. Change-Id: Ie792731673d90b92b63c59377c143efbb4a2bda8 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-12-16Fix initialization of a text input manager pointerMichael Krasnyk1-0/+1
Change-Id: I0a7494ea44c8b3179a9daf10efa6e00fa21fa491 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-16QtCompositor: Handle destroyed DataSource objects in DataDeviceAndrew Knight0-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>
2013-12-16QtCompositor: simplify retained selection implementationAndrew Knight0-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>
2013-12-16InputMethod extension fixupsAndrew Knight1-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>
2013-12-16QtCompositor: Make ExtensionFlags a QFlagsAndrew Knight0-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>
2013-12-16QtCompositor: Allow key events to be delivered to unfocused windowsAndrew den Exter0-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>
2013-12-16QtCompositor: Allow key events to be delivered to unfocused windowsAndrew den Exter8-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>
2013-12-16QtCompositor: handle destruction in InputMethodAndrew Knight2-0/+7
Fix dangling pointers to resources when the InputMethod is closed. Change-Id: I177c954d27e8bd86bcf90fa89bf92d58ae023b9c Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-16QtCompositor: Handle destroyed DataSource objects in DataDeviceAndrew Knight5-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>
2013-12-16QtCompositor: simplify retained selection implementationAndrew Knight5-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>
2013-12-16InputMethod extension fixupsAndrew Knight2-2/+4
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>
2013-12-16QtCompositor: Make ExtensionFlags a QFlagsAndrew Knight7-10/+12
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>
2013-12-16Use QElapsedTimer for Compositor timerAndrew Knight4-10/+9
Because it's the "Qt" thing to do. Change-Id: Id85d1c3a51745d2c876b4337e90776628e79233a Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2013-12-15Update sync.profile to track dependencies from the same branchPier Luigi Fiorini1-2/+3
If we leave the git symbolic ref empty, it will track dependencies from the same branch. Change-Id: I3d5ed186190a0b7ab9d94846a00040a70f5554b4 Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2013-12-15QtCompositor: fix null pointer referenceAndrew Knight1-1/+4
Don't call a method on a null pointer in QWaylandInputPanel Change-Id: I1e32a84323a06267bd5e3a4aee6c0a94c98b8df3 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2013-12-11Unbind suface item from surface when surface is destroyedkwangwoong.lee1-0/+3
Call setSurceItem(0) for surface which is being destroyed. Otherwise, surface may have invalid reference for surface item even after the surface item is deleted. Change-Id: Ibb7aa19af39a3cd56790e26a36cad8a9d6d9c47e Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-11Link against glib if necessary.Robin Burchell1-1/+2
Change-Id: Ie0f87c24d15a6784cc9ed1201d3578ffbf94d191 Done-with: Carsten Munk <carsten.munk@jollamobile.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-11sync.profile: Remove qtjsbackendAndrew Knight1-1/+0
It's no longer a dependency. Change-Id: I1002093df9f42b0b7dfacd0daa9f33889a997d43 Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-11Enable stencil in qwindow-compositor.Laszlo Agocs1-0/+1
Handy when Quick rendering that needs stencil is performed in-process. Change-Id: Ic6593150ddde217fa0ad257f889eda131fb09095 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-10Pass full screen method constant name instead of valuePier Luigi Fiorini1-1/+1
Minor change but it makes the code more readable. Change-Id: I89206e519daec9c1d7fc2b5e716943396e6ea76b Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-12-10Build fix for platforms without xkbcommon.hDominik Holland1-0/+6
Change-Id: Id08b16326575f93891e880afbe22dc034062a9af Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-12-09Update surface item position when it's createdPier Luigi Fiorini1-0/+2
Set surface item position according to the surface as soon as it's created. Unlike toplevel surfaces, transient surfaces have coordinates which are relative to the parent. Updating the surface item position at creation time makes such surfaces appear at the right position. Change-Id: I33073b03c352e592ae9e0f54ddf417f93453869e Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>