public static IControl Render(ObservableCard card) { if (card == null) { return(null); } var renderer = card.InternalObject.Edition == Models.Edition.FirstEdition ? new FirstEditionCardRenderer() : null; return(renderer?.GetControl(card.InternalObject)); }
public static void RenderToFile(ObservableCard card, string filename) { var target = Render(card); if (null != target) { var pixelSize = new PixelSize((int)target.Width, (int)target.Height); var size = new Size(target.Width, target.Height); var dpiVector = new Vector(96, 96); using var renderBitmap = new RenderTargetBitmap(pixelSize, dpiVector); target.Measure(size); target.Arrange(new Rect(size)); renderBitmap.Render(target); renderBitmap.Save(filename); } }
private async void FlipCard(object sender, EventArgs e) { Frame CardFrame = (Frame)sender; ObservableCard Card = (ObservableCard)CardFrame.BindingContext; // PERFORM FIRST HALF OF THE FLIP await CardFrame.RotateYTo(90, 200, Easing.CubicInOut); // UPDATES ITEM await Card.Flip(); // PERFORM SECOND HALF OF THE FLIP if (Card.ShowBack) { await CardFrame.RotateYTo(180, 200, Easing.CubicInOut); } else { await CardFrame.RotateYTo(0, 200, Easing.CubicInOut); } }