This need to make a tree of transform inheritances is a good indication that the subsurfaces will need to be done with a "parent" pointer, as I proposed. A list does not contain this information and would prevent recursive reuse of any subsurface code to make another subsurface.

It is not clear why the parent is part of the matrix rather than part of the surface. Technically it is equivalent, but I suspect the parent is going to be used for plenty of other operations that do not look at the matrix.

I also still really really believe that there should be little to no difference between these popup surfaces and subsurfaces. Really the only difference is whether the shell can insert other surfaces between them. Duplicating all this work for both popups and subsurfaces is wasteful. As popup surfaces seem much further along, I think the best approach is to modify them so they work as subsurfaces as well.

Pekka Paalanen wrote:
Implement the final bits needed to have inheritable surface
transformations:
- add 'parent' to weston_matrix_pointer, so that
  weston_surface_update_transform() knows to update the parent surface
  first
- add 'dirty_signal' to weston_surface, so that when the parent's
  transformation gets dirtied, also the inheriting transformation can be
  marked dirty
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to