| 123456789101112131415161718192021222324252627282930 |
- using QuestPDF.Drawing;
- using QuestPDF.Fluent;
- using QuestPDF.Helpers;
- using QuestPDF.Infrastructure;
- using QuestPDF.Skia;
- namespace QuestPDF.Elements;
- internal class DynamicSvgImage : Element
- {
- public GenerateDynamicSvgDelegate SvgSource { get; set; }
- internal override SpacePlan Measure(Size availableSpace)
- {
- return availableSpace.IsNegative()
- ? SpacePlan.Wrap()
- : SpacePlan.FullRender(Size.Zero);
- }
- internal override void Draw(Size availableSpace)
- {
- var svg = SvgSource?.Invoke(availableSpace);
-
- if (svg == null)
- return;
-
- using var svgImage = new SkSvgImage(svg);
- Canvas.DrawSvg(svgImage, availableSpace);
- }
- }
|