public static Task <Bitmap> ToBitmap(this AView view) => view.AttachAndRun(() => { var bitmap = Bitmap.CreateBitmap(view.Width, view.Height, Bitmap.Config.Argb8888); using (var canvas = new Canvas(bitmap)) { view.Draw(canvas); } return(bitmap); });
public static Task AttachAndRun(this AView view, Action action) => view.AttachAndRun(() => { action(); return(true); });
public static Task AttachAndRun(this AView view, Func <Task> action) => view.AttachAndRun(async() => { await action(); return(true); });
public static Task <T> AttachAndRun <T>(this AView view, Func <T> action) => view.AttachAndRun(() => { var result = action(); return(Task.FromResult(result)); });