|
10 | 10 |
|
11 | 11 | namespace Microsoft.Maui
|
12 | 12 | {
|
13 |
| - public interface IBackgroundCanvas |
| 13 | + public partial class WrapperView : Canvas, IWrapperViewCanvas |
14 | 14 | {
|
15 |
| - public SkiaGraphicsView BackgroundCanvas { get; } |
16 |
| - } |
17 |
| - |
18 |
| - public partial class WrapperView : Canvas, IBackgroundCanvas |
19 |
| - { |
20 |
| - Lazy<SkiaGraphicsView> _backgroundCanvas; |
| 15 | + Lazy<SkiaGraphicsView> _drawableCanvas; |
21 | 16 | Lazy<SKClipperView> _clipperView;
|
22 | 17 | EvasObject? _content;
|
23 | 18 |
|
24 | 19 | public WrapperView(EvasObject parent) : base(parent)
|
25 | 20 | {
|
26 |
| - _backgroundCanvas = new Lazy<SkiaGraphicsView>(() => |
| 21 | + _drawableCanvas = new Lazy<SkiaGraphicsView>(() => |
27 | 22 | {
|
28 | 23 | var view = new SkiaGraphicsView(parent);
|
| 24 | + var _drawables = new WrapperViewDrawables(); |
| 25 | + _drawables.Invalidated += (s, e) => |
| 26 | + { |
| 27 | + view.Invalidate(); |
| 28 | + }; |
| 29 | + view.Drawable = _drawables; |
29 | 30 | view.Show();
|
30 | 31 | Children.Add(view);
|
31 | 32 | view.Lower();
|
@@ -74,22 +75,22 @@ void OnClipPaint(object? sender, DrawClipEventArgs e)
|
74 | 75 |
|
75 | 76 | canvas.FillPath(clipPath);
|
76 | 77 | Content?.SetClipperCanvas(_clipperView.Value);
|
77 |
| - if (_backgroundCanvas.IsValueCreated) |
| 78 | + if (_drawableCanvas.IsValueCreated) |
78 | 79 | {
|
79 |
| - BackgroundCanvas.SetClipperCanvas(_clipperView.Value); |
| 80 | + _drawableCanvas.Value.SetClipperCanvas(_clipperView.Value); |
80 | 81 | }
|
81 | 82 | }
|
82 | 83 |
|
83 |
| - void OnLayout(object? sender, Tizen.UIExtensions.Common.LayoutEventArgs e) |
| 84 | + void OnLayout(object? sender, LayoutEventArgs e) |
84 | 85 | {
|
85 | 86 | if (Content != null)
|
86 | 87 | {
|
87 | 88 | Content.Geometry = Geometry;
|
88 | 89 | }
|
89 | 90 |
|
90 |
| - if (_backgroundCanvas.IsValueCreated) |
| 91 | + if (_drawableCanvas.IsValueCreated) |
91 | 92 | {
|
92 |
| - _backgroundCanvas.Value.Geometry = Geometry; |
| 93 | + _drawableCanvas.Value.Geometry = Geometry; |
93 | 94 | }
|
94 | 95 |
|
95 | 96 | if (_clipperView.IsValueCreated)
|
@@ -122,7 +123,13 @@ public EvasObject? Content
|
122 | 123 |
|
123 | 124 | }
|
124 | 125 |
|
125 |
| - public SkiaGraphicsView BackgroundCanvas => _backgroundCanvas.Value; |
| 126 | + public IWrapperViewDrawables Drawables |
| 127 | + { |
| 128 | + get |
| 129 | + { |
| 130 | + return (_drawableCanvas.Value.Drawable as IWrapperViewDrawables)!; |
| 131 | + } |
| 132 | + } |
126 | 133 | }
|
127 | 134 |
|
128 | 135 | public class DrawClipEventArgs : EventArgs
|
|
0 commit comments