screenshot method
Implementation
@override
Future<List<int>> screenshot() {
var renderObject = nativeDriver.binding.renderViewElement?.renderObject;
while (renderObject != null && !renderObject.isRepaintBoundary) {
renderObject = renderObject.parent as RenderObject;
}
assert(renderObject != null && !renderObject.debugNeedsPaint);
final layer = renderObject!.debugLayer as OffsetLayer;
return layer
.toImage(renderObject.semanticBounds)
.then((value) => value.toByteData(format: ui.ImageByteFormat.png))
.then((value) => value?.buffer.asUint8List() ?? List<int>.empty());
}