printWidget method
Renders and prints the given widget to standard output at the current inline cursor position.
Implementation
void printWidget(Widget widget) {
var width = backend.size.x;
if (width <= 0) {
width = 80;
}
final height = widget.getIntrinsicHeight(width);
final buffer = Buffer.blank(width, height);
final element = widget.createElement();
element.mount(null);
element.layout(BoxConstraints.tight(Size(width, height)));
element.paint(buffer, Offset.zero);
element.unmount();
final renderer = Renderer(width, height, mode: RenderingMode.inline);
final sb = StringBuffer();
renderer.render(buffer, sb);
if (sb.isNotEmpty) {
backend.write(sb.toString());
}
}