Implement subsurfaces extension
authorJørgen Lind <jorgen.lind@nokia.com>
Wed, 4 Jan 2012 07:33:28 +0000 (08:33 +0100)
committerJørgen Lind <jorgen.lind@nokia.com>
Wed, 4 Jan 2012 09:34:40 +0000 (10:34 +0100)
commitd5ea033df8cf0a2dec49fce639d84e7dd0a2fced
tree15d92a4990b612e73450d110a6cc820df8cdee2e
parent62bba49c83849ca5904357de45c888f9fab3106a
Implement subsurfaces extension

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>
39 files changed:
examples/qml-compositor/main.cpp
examples/qml-compositor/qml-compositor.pro
examples/qwidget-compositor/main.cpp
examples/qwidget-compositor/qwidget-compositor.pro
examples/qwidget-compositor/textureblitter.cpp [new file with mode: 0644]
examples/qwidget-compositor/textureblitter.h [new file with mode: 0644]
examples/qwindow-compositor/qwindow-compositor.pro
examples/qwindow-compositor/qwindowcompositor.cpp
examples/qwindow-compositor/qwindowcompositor.h
examples/qwindow-compositor/surfacerenderer.cpp [deleted file]
examples/qwindow-compositor/surfacerenderer.h [deleted file]
examples/qwindow-compositor/textureblitter.cpp [new file with mode: 0644]
examples/qwindow-compositor/textureblitter.h [new file with mode: 0644]
extensions/sub-surface-extension.xml [new file with mode: 0644]
extensions/surface-extension.xml
src/compositor/compositor_api/waylandcompositor.cpp
src/compositor/compositor_api/waylandcompositor.h
src/compositor/compositor_api/waylandsurface.cpp
src/compositor/compositor_api/waylandsurface.h
src/compositor/compositor_api/waylandsurfaceitem.cpp
src/compositor/compositor_api/waylandsurfaceitem.h
src/compositor/wayland_wrapper/wayland_wrapper.pri
src/compositor/wayland_wrapper/wlcompositor.cpp
src/compositor/wayland_wrapper/wlcompositor.h
src/compositor/wayland_wrapper/wlextendedsurface.cpp
src/compositor/wayland_wrapper/wlextendedsurface.h
src/compositor/wayland_wrapper/wlsubsurface.cpp [new file with mode: 0644]
src/compositor/wayland_wrapper/wlsubsurface.h [new file with mode: 0644]
src/compositor/wayland_wrapper/wlsurface.cpp
src/compositor/wayland_wrapper/wlsurface.h
src/plugins/platforms/wayland/qwaylanddisplay.cpp
src/plugins/platforms/wayland/qwaylanddisplay.h
src/plugins/platforms/wayland/qwaylandextendedsurface.h
src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
src/plugins/platforms/wayland/qwaylandsubsurface.cpp [new file with mode: 0644]
src/plugins/platforms/wayland/qwaylandsubsurface.h [new file with mode: 0644]
src/plugins/platforms/wayland/qwaylandwindow.cpp
src/plugins/platforms/wayland/qwaylandwindow.h
src/plugins/platforms/wayland/wayland.pro