|
@@ -133,13 +133,21 @@ class InteractiveCanvas : ICustomDrawOperation
|
|
|
{
|
|
{
|
|
|
canvas.Translate(-page.Width / 2f, 0);
|
|
canvas.Translate(-page.Width / 2f, 0);
|
|
|
DrawBlankPage(canvas, page.Width, page.Height);
|
|
DrawBlankPage(canvas, page.Width, page.Height);
|
|
|
- canvas.DrawPicture(page.Picture);
|
|
|
|
|
|
|
+ DrawPageSnapshot(canvas, page);
|
|
|
canvas.Translate(page.Width / 2f, page.Height + PageSpacing);
|
|
canvas.Translate(page.Width / 2f, page.Height + PageSpacing);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
canvas.SetMatrix(originalMatrix);
|
|
canvas.SetMatrix(originalMatrix);
|
|
|
DrawInnerGradient(canvas);
|
|
DrawInnerGradient(canvas);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private static void DrawPageSnapshot(SKCanvas canvas, DocumentSnapshot.PageSnapshot pageSnapshot)
|
|
|
|
|
+ {
|
|
|
|
|
+ canvas.Save();
|
|
|
|
|
+ canvas.ClipRect(new SKRect(0, 0, pageSnapshot.Width, pageSnapshot.Height));
|
|
|
|
|
+ canvas.DrawPicture(pageSnapshot.Picture);
|
|
|
|
|
+ canvas.Restore();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
public void Dispose() { }
|
|
public void Dispose() { }
|
|
|
public bool Equals(ICustomDrawOperation? other) => false;
|
|
public bool Equals(ICustomDrawOperation? other) => false;
|