didLayout method
void
didLayout()
Implementation
void didLayout() {
scrollableViewportSize = Size(
_contentSize!.width + renderStyle.paddingLeft.computedValue + renderStyle.paddingRight.computedValue,
_contentSize!.height + renderStyle.paddingTop.computedValue + renderStyle.paddingBottom.computedValue);
setUpOverflowScroller(scrollableSize, scrollableViewportSize);
if (positionedHolder != null && renderStyle.position != CSSPositionType.sticky) {
// Make position holder preferred size equal to current element boundary size except sticky element.
positionedHolder!.preferredSize = Size.copy(size);
}
// Positioned renderBoxModel will not trigger parent to relayout. Needs to update it's offset for itself.
if (parentData is RenderLayoutParentData) {
RenderLayoutParentData selfParentData = parentData as RenderLayoutParentData;
RenderBoxModel? parentBox = parent as RenderBoxModel?;
if (selfParentData.isPositioned && parentBox!.hasSize) {
CSSPositionedLayout.applyPositionedChildOffset(parentBox, this);
}
}
needsLayout = false;
dispatchResize(contentSize, boxSize ?? Size.zero);
if (isSelfSizeChanged) {
renderStyle.markTransformMatrixNeedsUpdate();
}
}