Hi all, this is the v3 of the sub-surfaces patch series, and it is no longer an RFC. This means that I consider this series ready for merging into Weston. The server side sub-surface protocol implementation is feature complete. Once the protocol is deemed stable, we will move it into Wayland core. Until then, you need to copy protocol/subsurface.xml if you want to use it in other projects.
The previous series, v2, was announced in http://lists.freedesktop.org/archives/wayland-devel/2013-February/007590.html Personally, I believe that all the previously open issues are now sufficiently explored, that there should not be any big surprises. The major changes in v3 are: - Improved protocol object destruction rules: wl_subsurface simply becomes inert, if the corresponding wl_surface is destroyed. - Added support for nested sub-surfaces. You can now have sub-sub-surfaces, and so on. - Renamed the commit modes, and adjusted their behaviour to support nested sub-surfaces better. If a sub-surface is synchronized, all its children will act synchronized, too. - Completed the server side protocol implementation with sub-surface nesting support, and double-buffered sub-surface z-order updates. And of course bug fixes, and a rebase on top of the current upstream master branch. The following changes since commit 2e437207435a1b8720b5c623ccfc773e171ccf68: window: Add a log handler for window.c clients (2013-04-16 20:46:59 -0400) are available in the git repository at: git://git.collabora.co.uk/git/user/pq/weston.git subsurface-v3 for you to fetch changes up to 098b2911ead4ad0d9726d1bc192a87ca8ad9295d: window: add DBG code for leaf management and redraws (2013-04-25 12:10:18 +0300) Giulio Camuffo (2): shell: enable moving and resizing of a surface when clicking on a subsurface shell: account for the subsurfaces when going fullscreen or maximizing Pekka Paalanen (11): protocol: add sub-surfaces compositor: introduce sub-surfaces tests: add sub-surface protocol tests shell: keyboard focus and restacking fixes for sub-surfaces window: implement shm triple-buffering window: create sub-surfaces window: implement per-surface redraws clients: add subsurfaces demo window: prevent EGL sub-surface deadlock window: throttle resizing to the main surface window: add DBG code for leaf management and redraws clients/.gitignore | 3 + clients/Makefile.am | 12 + clients/subsurfaces.c | 792 ++++++++++++++++++++++++++++++++++++++++++++++++ clients/window.c | 460 ++++++++++++++++++++++++---- clients/window.h | 19 ++ configure.ac | 3 + protocol/subsurface.xml | 236 +++++++++++++++ src/.gitignore | 3 + src/Makefile.am | 4 + src/compositor.c | 747 ++++++++++++++++++++++++++++++++++++++++++++- src/compositor.h | 58 ++++ src/shell.c | 172 ++++++++--- tests/.gitignore | 3 + tests/Makefile.am | 9 +- tests/subsurface-test.c | 325 ++++++++++++++++++++ 15 files changed, 2732 insertions(+), 114 deletions(-) create mode 100644 clients/subsurfaces.c create mode 100644 protocol/subsurface.xml create mode 100644 tests/subsurface-test.c This patch series applies on top of the current upstream master branch without any additional patches. The series is browsable in cgit: http://cgit.collabora.com/git/user/pq/weston.git/log/?h=subsurface-v3 To do (free to take, not necessarily me): - A Weston demo client with window decorations stitched from 4 sub-surfaces, handling input in all sub-surface. (Giulio already has an example in Qt.) - Nested sub-surface tests and a demo. Nesting is currently untested. - Fix full-surface alpha for windows that have sub-surfaces. - Investigate if the shell "black surfaces" could be implemented as server-side sub-surfaces more easily than they are now. I have not forgotten about the clipping & scaling protocol extension, and I have some ideas for it, but it is free for taking, too. If you're interested in taking a shot at any of these items, let me know so we can avoid overlapping work. When you build this series, remember --with-cairo-glesv2, or the subsurfaces demo application may not get built. Thanks, pq -- 1.8.1.5 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel