On 11/05/2016 06:17, Nick Dedekind wrote:
> bool MirSurface::visible() {
> return m_firstFrameDrawn &&
> m_surface->query(mir_surface_attrib_visibility) == mir_surface_visibility_exposed;
> }
>
> SurfaceContainer {
> MirSurfaceItem {
> visible: surface.visible
> }
> }
MirSurfaceItem already sets surface visibility based on its own visible
property. And here you make the latter also set the former. Like A sets
B and B sets A, a cyclic data-flow/control.
Besides MirSurface::visible is already used to convey surface
exposure/occlusion information. Here you want to overload that property
to include another meaning. I don't think the two combine well.
On 11/05/2016 06:17, Nick Dedekind wrote: :visible( ) { >query( mir_surface_ attrib_ visibility) == mir_surface_ visibility_ exposed;
> bool MirSurface:
> return m_firstFrameDrawn &&
> m_surface-
> }
>
> SurfaceContainer {
> MirSurfaceItem {
> visible: surface.visible
> }
> }
MirSurfaceItem already sets surface visibility based on its own visible
property. And here you make the latter also set the former. Like A sets
B and B sets A, a cyclic data-flow/control.
Besides MirSurface::visible is already used to convey surface
exposure/occlusion information. Here you want to overload that property
to include another meaning. I don't think the two combine well.