[PATCH weston 4/4] compositor: popup inherits surface transformation

Bill Spitzak spitzak at gmail.com
Wed Dec 19 15:52:03 PST 2012


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


More information about the wayland-devel mailing list