Skip to content

Commit

Permalink
[NUI] Exclude layouting on invisible children
Browse files Browse the repository at this point in the history
  • Loading branch information
everLEEst committed Feb 4, 2025
1 parent 09018d0 commit 71d87ab
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
4 changes: 2 additions & 2 deletions src/Tizen.NUI/src/public/Layouting/AbsoluteLayout.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ protected override void OnMeasure(MeasureSpecification widthMeasureSpec, Measure

foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -95,7 +95,7 @@ protected override void OnLayout(bool changed, LayoutLength left, LayoutLength t
// Children could overlap or spill outside the parent, as is the nature of absolute positions.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Tizen.NUI/src/public/Layouting/LayoutGroup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public LayoutGroup()
[EditorBrowsable(EditorBrowsableState.Never)]
protected IEnumerable<LayoutItem> IterateLayoutChildren()
{
return LayoutChildren.Where<LayoutItem>(childLayout => childLayout.SetPositionByLayout);
return LayoutChildren.Where<LayoutItem>(childLayout => (childLayout.SetPositionByLayout && childLayout.Owner.Visibility));
}

/// <summary>
Expand Down
18 changes: 9 additions & 9 deletions src/Tizen.NUI/src/public/Layouting/LinearLayout.cs
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ private void MeasureHorizontal(MeasureSpecification widthMeasureSpec, MeasureSpe
// whose width specification policy is MatchParent.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -407,7 +407,7 @@ private void MeasureHorizontal(MeasureSpecification widthMeasureSpec, MeasureSpe
// And the widths of all weighted children are accumulated to calculate weighted width.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -501,7 +501,7 @@ private void MeasureHorizontal(MeasureSpecification widthMeasureSpec, MeasureSpe
{
foreach (LayoutItem childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -540,7 +540,7 @@ private void MeasureHorizontal(MeasureSpecification widthMeasureSpec, MeasureSpe
// Decide the max height among children.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -598,7 +598,7 @@ private void MeasureVertical(MeasureSpecification widthMeasureSpec, MeasureSpeci
// whose height specification policy is MatchParent.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -672,7 +672,7 @@ private void MeasureVertical(MeasureSpecification widthMeasureSpec, MeasureSpeci
// And the heights of all weighted children are accumulated to calculate weighted height.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -766,7 +766,7 @@ private void MeasureVertical(MeasureSpecification widthMeasureSpec, MeasureSpeci
{
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -804,7 +804,7 @@ private void MeasureVertical(MeasureSpecification widthMeasureSpec, MeasureSpeci
// Decide the max width among children.
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down Expand Up @@ -993,7 +993,7 @@ private void ForceUniformHeight(MeasureSpecification widthMeasureSpec)
MeasureSpecification uniformMeasureSpec = new MeasureSpecification(MeasuredHeight.Size, MeasureSpecification.ModeType.Exactly);
foreach (var childLayout in LayoutChildren)
{
if (!childLayout.SetPositionByLayout)
if (!childLayout.SetPositionByLayout || !(childLayout.Owner.Visibility))
{
continue;
}
Expand Down

0 comments on commit 71d87ab

Please # to comment.