internal void UpdateSizes(double topDelta, PageItem owner, PageItem[] siblings, RepeatWithItem[] repeatWithItems) { _ = owner.Source; m_left = owner.DefLeftValue; m_width = owner.SourceWidthInMM; m_deltaY = 0.0; m_deltaX = 0.0; m_top -= topDelta; if (m_top < 0.0) { if (owner.ItemState == PageItem.State.TopNextPage || owner.ItemState == PageItem.State.SpanPages) { m_deltaY = 0.0 - m_top; m_top = 0.0; } else if (owner.ItemState == PageItem.State.Below && !owner.HasItemsAbove(siblings, repeatWithItems)) { m_deltaY = 0.0 - m_top; m_top = 0.0; } } }