render method
Renders the underlying widget to the provided buffer within the area.
Implementation
@override
void render(Buffer buffer, Rect area) {
final paddingWidget = widget as Padding;
final childWidth =
area.width - paddingWidget.padding.left - paddingWidget.padding.right;
final childHeight =
area.height - paddingWidget.padding.top - paddingWidget.padding.bottom;
if (childWidth <= 0 || childHeight <= 0) return;
final childArea = Rect(
area.x + paddingWidget.padding.left,
area.y + paddingWidget.padding.top,
childWidth,
childHeight,
);
if (childElement != null &&
childElement!.widget.runtimeType == paddingWidget.child.runtimeType) {
childElement!.update(paddingWidget.child);
} else {
childElement = paddingWidget.child.createElement();
childElement!.mount(this);
}
final childViewport = Viewport(buffer, childArea);
childElement!.render(childViewport, Rect(0, 0, childWidth, childHeight));
}