Page MenuHomePhabricator

evas_render: add restacked mapped obj to redraws rect
ClosedPublic

Authored by kimcinoo on Jun 26 2019, 5:38 AM.

Details

Summary

We are adding A object area to the redraws rect when object stack is changed
from (1) to (2) if A object is not mapped.

(1)
┌────────┐
│Object A│┐
└────────┘│

└────────┘

(2)
┌────────┐
│┌────────┐
└│Object B│

└────────┘

But if A object is mapped, then we are adding only part of A object area.

(part of A)
┌───────┐
│┌──────┘
└┘

So the result of stack change is (1) not (2).
This patch set is adding restacked mapped object to the restack_objects array,
after changing the stack of mapped object to add correct redraws rect.

Test Plan

(1) Build and Run attached example on software_x11 engine
(2) Mouse down on upper image - the image starts to use map.
(3) Then mouse up - upper image should go under the below image.
But, the changed result is NOT rendered.

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kimcinoo created this revision.Jun 26 2019, 5:38 AM
kimcinoo requested review of this revision.Jun 26 2019, 5:38 AM
kimcinoo updated this revision to Diff 22980.Jun 26 2019, 5:44 AM

Use correct comment

kimcinoo updated this revision to Diff 22981.Jun 26 2019, 5:48 AM

Enhance commit message

kimcinoo edited the summary of this revision. (Show Details)Jun 26 2019, 5:52 AM
kimcinoo edited the test plan for this revision. (Show Details)
kimcinoo edited the test plan for this revision. (Show Details)Jun 26 2019, 2:47 PM
zmike accepted this revision.Jun 27 2019, 5:34 AM
zmike added a subscriber: zmike.

This seems pretty reasonable.

This revision is now accepted and ready to land.Jun 27 2019, 5:34 AM
zmike added a comment.Jun 27 2019, 5:48 AM

Going to wait on @Hermet to provide second review here since it involves render internals and we have no tests for this.

Hermet requested changes to this revision.Jun 27 2019, 9:47 PM

Does it need to redraw children of mapped object? or below object of the map object?

This revision now requires changes to proceed.Jun 27 2019, 9:47 PM
zmike added a comment.Jun 28 2019, 5:24 AM

Based on the test case, I think (I may be wrong) the issue is due to using elm image, which has the actual rendered image as a smart member that needs to be redrawn in this case but is not actually redrawn without this patch.

kimcinoo updated this revision to Diff 23144.Jul 8 2019, 7:30 PM

Push restacked mapped object to restack_objs array

kimcinoo retitled this revision from evas_render: render child of restacked mapped parent to evas_render: add restacked mapped obj to redraws rect.Jul 8 2019, 7:37 PM
kimcinoo edited the summary of this revision. (Show Details)
This revision was not accepted when it landed; it landed in state Needs Review.Jul 8 2019, 8:05 PM
This revision was automatically updated to reflect the committed changes.