| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old, non-functional server-buffer example was removed in
change 69bbd62a3c93f8142f57ad764db29ecaabbb0ff7. This is a
reimplementation of the old example, based on the new
server buffer API, and using the current Qt Wayland Compositor API.
Change-Id: Idc455eab070fce35c5897dc7be53002c1bb6147a
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds QML and C++ support for xdg-shell-unstable v6 on the compositor side.
A couple of things are still missing for complete support, but can be added
implemented later without breaking the API.
Task-number: QTBUG-56174
Change-Id: I08d7c05aa4f40f00377d92f2519d89ab416daaf4
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Same as 8cdd72afc11d96ec41f65577b38ffea63bc7294c on the pure-qml example.
On the eglfs platform, there is no obvious way to exit back to a console, so
it's too easy to get stuck in this example and need to reboot via ssh or some
such. Ctrl-Alt-Backspace is the historical way of exiting from an X11 or
Weston session, so we use it here.
Change-Id: Ife3318675f1b5dbe640feb8f3f99e80efbd5dcfd
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Currently tests are licensed under GPL-EXCEPT, examples under BSD and
src under LGPL so replase old license headers with new & proper ones.
Also remove old & unused license files
Task-number: QTBUG-57147
Change-Id: Ia6a738798736c275dc309ccfa5b627dc2178d241
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
Fix accidental qmake syntax error made when porting to new build
system.
Change-Id: Icc30712c6992bd953f36f393697614b22f5ab48a
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The server-buffer example does not work, and probably has not
worked for a long time. This example was written for an early
version of Wayland, and the APIs have changed since then.
Change-Id: If647c7085aaaae87c06010bd28896fa8bfc4bdcc
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
| |
The windows did not get positioned on the correct screens without
making this change. It seems to be a consequence of qtdeclarative
change f145f33d529c2b59ace7a3cdfd5463e68787f40b
Change-Id: I756a9992f80ef17cdbeaf4645298b5b0651947db
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
| |
Change-Id: I97af04c43a5966472eb195779ffd730b7459aa37
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
examples/wayland/custom-extension/client-common/main.cpp
src/client/qwaylandwlshellintegration_p.h
src/client/qwaylandxdgshellintegration_p.h
src/compositor/compositor_api/qwaylandquickoutput.h
src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
Change-Id: Ic78c610ddf102b0a185294f625bbfcb9238b0f3c
|
| |
| |
| |
| |
| | |
Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Show how to use setBufferLocked() from C++.
Change-Id: I43be7dcf8f44fd80dd0d4977e38a0d8ff3339432
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I8ce9c4b284da2d3e7f88e8449be22f9a25b5a2e0
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Idd91b55bc2b1e3506d9385b3352aeda06de6d4bc
|
| |
| |
| |
| |
| | |
Change-Id: I8aac99dd98be943909f5a6dc254a4f79e83e61d9
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
And simplify the minimal-qml and ivi-compositor examples
Change-Id: Ic445349c9d7845813b6700414464a688aac40e73
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Use Instantiator to create an output for each screen that exists.
Change-Id: Ice74632c36a9e0d55bd9e8b6d04022f5c10de6f0
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I8a9455105e8e3519f6a860f58820382d7e337b1e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Re-use configuration results from qtbase where possible and move
all pkg-config handling over to be done at configuration time.
Since waylandclient and waylandcompositor are two independent libs,
this required some duplication of features and libraries used by
both in the configure.json files.
Change-Id: I1f3ec56c85cb780324cc7634a3ad7951125853a0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The code was there, but an unfortunate null pointer check made us
skip sending leave events.
Change-Id: I3095949ac41330fc10e2a97c025d94d47bc6ea4e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Popups that are children of popups would get a null parent in pure-qml.
This would cause a crash in XdgPopupV5Integration.
This change fixes pure-qml to set the parent correctly, and also adds
null pointer checks to XdgPopupV5Integration.
Change-Id: Ica5bd6c1a0853fbec1b30bc6ffff806b2cfd15f8
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since child items don't get transformation animations, enable an
opacity transformation for them.
Change-Id: I4ab77bc10d61602a0df72f5927cde4ebbcad27ce
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ic2135c6ff27ca3fdef6a76dbdc72f73f5ca4d7fb
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This example shows how shell surfaces can move across outputs in order to
create traditional multi-monitor desktop functionality.
Change-Id: Ie7c0aa1dc47c0c1a944dffcce5237dee92785396
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|
|/
|
|
|
| |
Change-Id: I04cd0a4699fae119a563f2db0b70701a617e21dc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
A compositor with two areas, clients are maximized on one of those areas
depending on their ivi surface id.
Change-Id: I2dbb20b47e38680e14465d3a4a8147d64817de63
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Outputs usually have more than one mode, add an API to support them.
When sizeFollowsWindow is true, modes are replaced by one with the
window size and refresh rate. In that circumstance the mode changes
when the window is resized.
The sizeFollowsWindow property default value is no longer true.
The setGeometry() method is gone as it doesn't make sense now, the
setWidth() and setHeight() methods are now private slots to resize
the resolution as the window resizes (and sizeFollowsWindow is true).
Refresh rate is expressed in mHz rather than Hz just like the
Wayland protocol.
A compositor implementation may choose to add modes if it has access
to hardware information, it will call addMode() for each mode and
then invoke the setCurrentMode() method that sends the modes list
to the client. The preferred mode is indicated with a boolean
parameter to the addMode() method.
Change-Id: Iffed4784ccef695c276ebd800172957f4cff3324
Task-number: QTBUG-49814
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We cannot support bindToTexture() functions. On some
platforms the texture is provided by the driver. Therefore,
the HW integration must always provide a texture.
This has the added bonus of unifying the two separate code paths
that were introduced when EGLStream support was added.
Add a separate buffer manager that owns all buffers.
Don't destroy buffer objects on release. The client will probably
attach them again later. Also, release shm buffers immediately
after uploading to texture (needs to be documented that image()
will not work afterwards).
Make the old SurfaceBuffer class into an abstract base class,
so we can store state in the buffer class instead of having
to map from the wl_resource in each buffer integration. Move
the shared memory buffer handling into a separate subclass.
Change-Id: I81e471d13c92913d31ea1efe487f93fa908b5e0c
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
| |
Define a protocol that does something visible.
Change-Id: I29133eeffbb2c98a61ee59b241dcf6a6a0f543cb
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
| |
With b7075b72200b7b087e2c34fa449737970981ccea the QWaylandSurface::isMapped
property was renamed to hasContent but this example wasn't updated.
Change-Id: I9b13fa3a17ffcc3d6d8be19b59552f61b25bb64b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Standard shell class with focus policy shared by all protocol
implementations.
The automatic focus policy gives focus to windows automatically as they
are created, while the manual policy allows a compositor to decide
what to do.
Change-Id: Ica71271174b30e28217e31c53f1c8dd576752c5e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
| |
This example shows how one application can be displayed full screen spanning
two screens. The intended use case is for running applications with lots of
scrolling content, such as a web browser.
Change-Id: Icba2715aa7ccd79c9d44c7e1d621bfdd9e51e66c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The WlShell implementation now matches xdg shell. Also adds a
convenience method to QWaylandWlShell to get all popups.
QWaylandWlShellIntegration and qwindow-compositor uses this new API.
Change-Id: Ibfe3323ad7f56d43379785582b9be6801905a485
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't confuse people by creating the extension inside a platform plugin.
It's only necessary when modifying Qt's default behaviour, and we're not going
to teach that in this example.
Also remove the load/unload extension logic from the qml example. Don't make
people believe that they have to use a loader.
Change-Id: Id263bb7d77fba176bfb8b6843a6ece9a0a203754
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|
|
|
|
|
|
|
|
| |
This frees the QWaylandXdg name for the hopefully coming stable
version of xdg-shell.
Change-Id: I9beb9b035c6497fb45bee5c9104485b564ca0619
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/compositor/compositor_api/qwaylandseat.cpp
src/compositor/compositor_api/qwaylandview.cpp
tests/auto/compositor/compositor.pro
tests/auto/compositor/compositor/testinputdevice.cpp
tests/auto/compositor/compositor/testinputdevice.h
tests/auto/compositor/testinputdevice.cpp
tests/auto/compositor/testinputdevice.h
tests/auto/compositor/testseat.cpp
tests/auto/compositor/testseat.h
Change-Id: I98e045908dd964e5d4120bd35e71b8839c0d923a
|
| |
| |
| |
| |
| | |
Change-Id: Ief93b5e79d3a51e4d20387357ad2abe15bf1a695
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ia89c19b741754473d680de6e8f5ee558176b992b
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QWaylandQuickItem already encapsulates the view. Also rename
the confusing 'discardFrontBuffers' property to
'allowDiscardFrontBuffer'
Change-Id: Ibd74ad54bfe3d5187c2ed91ff0378b45e144e109
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It was potentially misleading, since "mapped" is already used with a slightly
different meaning in the Wayland protocol. In the protocol, mapped means that
the surface should be rendered. The renamed property, on the other hand, is
true if the surface has a buffer with contents attached and committed.
In some cases this is not the same, i.e. the drag icon after dropping, or
xdg_popups after popup_done.
Change-Id: Idc359433c6130e3815de57b21d4edb13e318887d
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The name QWaylandInputDevice could be confusing and misleading:
- A QWaylandInputDevice was not one input device, but a collection of many.
- Classes that sounded like they should inherit from it did not, i.e:
QWaylandKeyboard, QWaylandPointer and QWaylandTouch.
- The Wayland protocol already has another term for this, which is seat.
Change-Id: I9d9690d5b378075d9dddaeb8cf18395c7f47603e
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* createSurface -> surfaceRequested
* createXdgSurface -> xdgSurfaceRequested
* createXdgPopup -> xdgPopupRequested
* createShellSurface -> wlShellSurfaceRequested
* shellSurfaceCreated -> wlShellSurfaceCreated
Change-Id: I715a927242130d7504955002a6a64a2bac516d46
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
examples/wayland/minimal-qml/main.qml
Change-Id: Ic34029a6aa77f2b359f40258a05421d82efd5b37
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't need the MouseArea, since we don't have a mouse cursor,
and popups have been fixed to not require a magic item in the
background.
Change-Id: I78b029810bfa1b8764bc834aa0ed34affad71757
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use sane class names and file names, just like we do in minimal-cpp.
Change-Id: I17ef83711040a5507425721e695d64f43411fc4b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I481ebdaf9e5749a57223a91ab3a231ca40af059a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtWayland has not compiled without OpenGL for a while.
This patch fixes the compilation issues and removes the old config variable,
"QT_WAYLAND_GL_CONFIG" and instead checks for the presence of "opengl" in
"QT_CONFIG". A new define is also introduced, QT_WAYLAND_COMPOSITOR_QUICK,
because it may eventually be possible to use create a QtQuick compositor
without OpenGL.
Task-number: QTBUG-54322
Change-Id: Ica7b3b320212d4ae1f8b1053725b73c83739c73c
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I20add5c8b12e1345ce50c009d8bae80fde9806e1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extensions will now automatically add themselves to their parent
if they are not inside an extensions [ ... ] array.
Change-Id: I26c7f7c2ee023595eb4cd2496dd56e212f05329c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
sharedMemory is much clearer and will increase the readability of the code and
API.
Change-Id: Ibb6d7424fa8d44a94a0f4ddf476a564eb235323f
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|