[PATCH weston 00/12] Toytoolkit preparation for sub-surfaces

Pekka Paalanen ppaalanen at gmail.com
Wed Feb 13 06:17:11 PST 2013

Hi Kristian,

this series prepares toytoolkit for sub-surfaces by moving
fields from struct window to a new per-wl_surface struct.
It also contains other cleanups. The purpose is just to make
implementing sub-surface support easier.

This series does not add any sub-surface featurea, does not
require any new protocol, and does not change the individual
toytoolkit clients.

As long as sub-surfaces will be a sub-class of wl_surface,
these changes should be appropriate.

To get a better understanding on how this will be used, I
have pushed v1.5 branches of my sub-surface work, which
includes this patch series, and the main use case of it:
subsurfaces demo.


The v1.5 branches have no protocol changes compared to v1.
They have been rebased, compositor has some minor changes, and
the subsurfaces demo has been rewritten. I also do not consider
the additional commits in the branches fit for review.

If you build the v1.5 branch and your Cairo is built with full GL
(you have cairo-gl, and no cairo-glesv2), use --with-cairo-glesv2
in weston's ./configure arguments to disable cairo-egl completely.
Otherwise subsurfaces would link and use both libGL and libGLESv2,
and crash, so it will not even be built.


Pekka Paalanen (12):
  window: destroy the 2nd shm buffer, if both released
  window: create new struct surface with wl_surface
  window: move toysurface and allocation to struct surface
  window: move buffer type and transform into struct surface
  window: assimilate window_get_resize_dx_dy() into the call site
  window: move 'widget' member into struct surface
  window: move input and opaque regions into struct surface
  window: add surface pointer to widget
  window: move cairo_surface into struct surface
  window: remove the transparent flag as unused
  window: let menu and tooltip redraw use widget size
  window: create Cairo surfaces on demand for redraw

 clients/window.c | 477 ++++++++++++++++++++++++++++++++-----------------------
 clients/window.h |   6 +
 2 files changed, 284 insertions(+), 199 deletions(-)


More information about the wayland-devel mailing list