HomePhabricator

ui.box: refactor layout_update

Authored by Yeongjong Lee <yj34.lee@samsung.com> on Feb 13 2019, 5:38 AM.

Description

ui.box: refactor layout_update

Summary:
Current layout_update doesn't consider max hint priority. for example, if it
has hint_max, the size is hint_max value regardless of weight or fill.
moreover, if it has hint_aspect with hint_max, hint_min can be ignored.
(test that aspect(1,3) max(50,150), min(70, 70) then, size has (50, 150))
It seems that hint_max is considered as high priority. however, if hint_min
greater than hint_max, hint_max is ignored.

In order to resolve the hint priority conflict, this refactoring supports
following hint priority.

  1. HintMin
  2. HintMin + HintAspect
  3. HintMargin
  4. HintMax
  5. HintAspect
  6. HintWeight, HintFill
  7. HintAlign

ref T5487

Specific unit test is D7463

Test Plan:
make check
elementary_test -to 'efl.ui.box'

Reviewers: jpeg, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike, cedric, reviewers, committers

Tags: efl

Maniphest Tasks: T5487

Differential Revision: https://phab.enlightenment.org/D7750

Details

Committed
zmikeFeb 13 2019, 6:23 AM
Reviewer
zmike
Differential Revision
D7750: ui.box: refactor layout_update
Parents
rEFL0ab6c36404ff: efl_ui_pager: change data type
Branches
Unknown
Tags
Unknown
Tasks
T5487: edje & elm sizing: respect hints & simplify layout api