subsurface: remove below_obj when it becomes useless. 78/238278/7
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 10 Jul 2020 06:49:44 +0000 (15:49 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 13 Jul 2020 09:22:16 +0000 (09:22 +0000)
commit8e58cf4ebf8aac359878df727049d07d9b365fdb
tree501e6aee72a12603712009e510d8ee370e1bcc93
parenta599d8963dc2e46d99e74aae0106b4bb00b75e5a
subsurface: remove below_obj when it becomes useless.

this patch is to fix the problem that some animation of surface
underneath 'below_obj' can't be shown.

NOTE: The main purpose behind 'below_obj' is probably for using it as a
background of 24bit toplevel surface, which has to be displayed on the
screen with subsurfaces placed underneath a toplevel surface. In this
case, enlightenment supposes that a buffer for contents of toplevel
surface has an alpha channel to show below subsurfaces. Yet, having an
alpha channel means that other surfaces, not associated subsurfaces, can
be exposed somewhere unexpectedly even though it's 24bit
surface(opaque). In the same time, if the associated subsurface is to
show contents displaying on the overlay, then enlightenment has to make
a hole with alpha value to show a overlay layer. For that reason, a
'below_obj' probably has become transparent and had an render copy
attribute.
Yet, what if an application destroys all subsurfaces including
video surface? Well, in this case, since we can consider that the
application dones't want to show below subsurfaces, 'below_obj' can be
removed.

Change-Id: I3b4f251adbef0034d5cfacde291005ed4ad1a5ed
src/bin/e_comp_wl_subsurface.c