summaryrefslogtreecommitdiffstats
path: root/src/compositor/wayland_wrapper/wlsurface.h
Commit message (Collapse)AuthorAgeFilesLines
* Qt-ify the QtCompositor moduleAndy Nichols2013-02-081-202/+0
| | | | | | | | | | | | | | | | | | | | Currently the QtCompositor library and API do not follow the Qt API naming conventions. This commit intends to fix these inconsistencies. filenames start with q headers containing private API's end in _p public API classes begin with Q use the qt namespace macros where necessary Wayland namespace is now QtWayland wayland_wrapper classes are now private API's It's important to make these changes not just for stylistic reasons, but also because when qmake builds the module in checks for these conventions to determine how to deploy the include files. Change-Id: I8bfadeceda92a0f52cb73c704551da75540e7587 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Fix the pointer cursor handling (QtCompositor side)Andy Nichols2013-01-181-0/+4
| | | | | | | | | | | | | | | | | | | We now use the wayland-cursor library for handling pointer cursors. This required some API changes in QtCompositor, as cursors are now represented by wl_surfaces instead of just wl_buffer data. This means that when a new cursor is set by a client, you will receive a surface which you can generate cursors from. This Surface will be painted to when the cursor is changed. This also means that not all WaylandSurfaces are window surfaces, so it's important that you check that a WaylandSurface has a shell surface before treating it like a window surface. An API has been added for checking if there is a shellSurface available in a WaylandSurface. The qwindow compositor example demonstrates the correct usage of these new API's. Change-Id: Ife6b417f1048fd926a3499a139de07bceaebc727 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Set surface class name.Pier Luigi Fiorini2013-01-041-0/+4
| | | | | | | | | | | | | | | The class name identifies the general class of applications to which the surface belongs. The class is the name of the desktop file and is derived from the process name. We might want to add a new method to QWindow in order to set a custom class name. It's quiet similar to WM_CLASS on X11, for more information see https://live.gnome.org/GnomeShell/ApplicationBased Change-Id: I5be90fb45e82e79710dda376f42c18c126d2a80f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Update QtCompositor API to use wayland 1.0.0Andy Nichols2012-11-041-0/+2
| | | | | Change-Id: I6b598595cdb8ff91d5146e0ae2511752bcfa473f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-251-6/+6
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie65cbe0c622780d2f0672bce19d267d1167620ff Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Fix broken handling of inactive transient surfacesLaszlo Agocs2012-06-181-0/+4
| | | | | | | | | Makes tooltips and tooltip-like components like Create's locator show up properly. These should never get keyboard focus even though they are regular surfaces like any other. Change-Id: I0ade61845d9785cad19040683362a5532a04e6f6 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Update to wayland headLaszlo Agocs2012-05-091-0/+4
| | | | | Change-Id: Ie012861bc40e3bc448d85c9d8c27f798434020ed Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Decorations: Make it possible to move windows with transient parentLaszlo Agocs2012-04-171-0/+1
| | | | | | | This was not working previously due to not updating the offset. Change-Id: I0a8db17a1eabeb6139129386675b271f9e1b8f22 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Client side decorationJørgen Lind2012-04-111-1/+2
| | | | | | | | | Something is alot better than nothing :) This gives window decorations for QWidgets and other applications that use QBackingStore Change-Id: Ic748ee1df88236b20416029e20e26532f7fb4476 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Update wayland_sha1 and implement buffer_pool interfaceJørgen Lind2012-04-101-1/+0
| | | | | Change-Id: I0628a7655a6deb061a5d0b6c6304c89d8655cf11 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Upgrade to newer wayland SHA-1.Samuel Rødal2012-03-051-0/+10
| | | | | Change-Id: If0c1d86a3011e266cafabeb875bc5616191a8cf4 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Make direct rendering work after QPlatformScreenBuffer refactoringPaul Olav Tvete2012-03-011-1/+1
| | | | | Change-Id: Iebd082678264178987e2550370663ed2b44a8916 Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* Make SurfaceBuffer a QPlatformScreenBufferJørgen Lind2012-03-011-1/+1
| | | | | | | | | And refactor to make it fit Done with: Paul Change-Id: I2bd28abb4ac256a336cd6c2c90e67104d8c27cc5 Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* Refactor wlsurface,Jørgen Lind2012-02-291-7/+12
| | | | | | | | Now we treat all buffers the same (shm or not). We advance the queue when we send the frame signal Change-Id: Id62b1037e03fbeae82048f5ab9078fa81ed8e45d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Removing Wayland::SurfacePrivateJørgen Lind2012-02-131-22/+35
| | | | | | | | | | | | | | | And moving Wayland::SurfaceBuffer into its own file. Also remove the extra functions in Wayland::Surface which just relayed down to extended surface. The pattern is that WaylandSurface is the entry point so we check there is the Wayland::Surface has the extension we'r looking for, then calling it directly from WaylandSurface. Last, the data of an extension is suppose to be members of the extension, so I moved the properties to be members of ExtendedSurface Change-Id: I5877671a17ee873b7644094f695fcd3e4677964a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Added window flags to the surface-extension protocolGunnar Sletta2012-02-101-0/+2
| | | | | Change-Id: I1b53c5f0b0f908490dcd0ab30e46ab681f885954 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Added reporting of window and content orientation to surface extension.Samuel Rødal2012-02-011-0/+3
| | | | | | | Change-Id: I6e182c048282f5edd30f49be19dcc0f020679b85 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I08d8673382f0230d5c5a22a25efaf5c45cef539a Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Ib67c393df41c539deae0ef71e0acc13029ceb46d Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update license headers.Jason McDonald2012-01-161-17/+17
| | | | | | | | | | All code in this module outside of src/plugins/platforms/wayland should carry a copy of the BSD license header. The master copy of this header lives at qtbase/header.BSD. Change-Id: Icd56f24f4a3d309db4c1c3aaef25618680c07f6e Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Move event handling into WaylandInput apiJørgen Lind2012-01-111-18/+2
| | | | | | | | | | | | | Qt only gives us 1 input device as of now, ie. the mouse/keyboard and touch events. However, at some point in the future, this will change, so that the events will have a device id. This will ie on x map to the same device, but on evdev this can be different devices. Also this is part of what is needed to implement grabbing Change-Id: Ice049502d6f0f53fd06142d4dedde05806d60120 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Add global x and y coordinates to our mouse eventsJørgen Lind2012-01-101-0/+4
| | | | | | | | | | Qt applications don't need global x and y, but the protocol dictates it, so someone else might need it. We still keep the api to just use the local coordinates Change-Id: I4b34df935a6692a8d72946c16603d3d600514161 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Cleanup Wayland::Surface's client handle logicJørgen Lind2012-01-101-2/+2
| | | | | | | | | | This is code which is either fairly old or where the api has changed. Anyway, Surfaces allways have a client handle in the resource, so no need to check it or store it. Change-Id: If0be4bed177d42f168b5384a820b8e681e6d9539 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Create a ShellSurface classJørgen Lind2012-01-101-0/+4
| | | | | | | | so that we can actually do something usefull in the callbacks Change-Id: Ie8e85757bf5c90caa40db34df1b8bc642ba09962 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add a function to the compositor api to send full touch eventsLaszlo Agocs2012-01-101-0/+4
| | | | | | | | | | | | | | | A simple sendTouchPointEvent(id, x, y, ...) type of function will not be sufficient in the future due to the amount of data in a touch event; therefore an additional sendFullTouchEvent is introduced. This function takes a QTouchEvent and posts a series of down, motion, up, frame events as needed. In the future it may be changed so that it maps to a protocol extension instead of the standard events. As an example qwindow-compositor is updated to use this new function. Change-Id: I39d3df1c6d4868364440f59789d01fc5b7b80dac Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove the geometry from the wayland surfaceJørgen Lind2012-01-041-2/+5
| | | | | | | | | and add pos and size properties instead. The pos is a PointF while the size is a integer based Size since pos can be transformed, while the size reffers to the pixel size. Change-Id: I5d84aa6661405cb0df356b787246d0d73ad0c503 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Implement subsurfaces extensionJørgen Lind2012-01-041-0/+7
| | | | | | | | | | | | This allows you to have subwindows in the compositor. We tried to experiment with composing subsurfaces client side, but the architecture did not feel very lean. This however, requires the compositor to compose each surface before drawing the surface. The example compositors render the subsurfaces into the wl_surfaces texture. This might not be a good idea. Change-Id: I6e186b62d7b490de7f4e6c6f22fcf6c1e0a70df3 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make it possible to hide surfacesJørgen Lind2011-12-221-3/+5
| | | | | Change-Id: Ie3ba75335717e8dbae906c1a13cc8f852b77bd1b Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* Added surface_extension and output_extensionJørgen Lind2011-12-201-2/+4
| | | | | | | | | | This is an atempt on removing WindowManagerIntegration and create more specialised extensions. Hopefully it will reduce tha "map lookups" we have all because of the windowmanagerintegration is way to generic, and hopefully it will make it easier to ready and understand the code Change-Id: I126c430e87909e4520f6d241c0a6023214cb509a Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Added a resourcecollection classJørgen Lind2011-12-141-1/+2
| | | | | | | | | | This class will typically be the super class of globals which creates wl_resources in the bind functions. If for some reason some other class needs to get a resource for a given client of the global, it can look it up Change-Id: I939cc7aaeb15586f2c760c600c188a8cbf19f358 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Made a global directory, and moved the export header there...Jørgen Lind2011-12-091-1/+3
| | | | | | | | I'm not sure if the header file name is what we want, but will do for now. Change-Id: Ief7f006b0f59b53295e6a11c222d8c459a80683d Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
* Make wayland actually a moduleJørgen Lind2011-12-071-0/+137
Also fix so that QtCompositor can be built as shared object. + fix so that the default QT_WAYLAND_GL_CONFIG is wayland_egl Change-Id: I02b72e99286584426bd37ab2d00bbc84af11efdc Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>