|
22 | 22 | </Animation> |
23 | 23 | </Style.Animations> |
24 | 24 | </Style> |
| 25 | + <!-- Blobs drift by animating their Canvas anchors (double → built-in animator). |
| 26 | + RenderTransform has no default animator in Avalonia and throws at load. --> |
25 | 27 | <Style Selector="Ellipse.blobA"> |
26 | 28 | <Style.Animations> |
27 | 29 | <Animation Duration="0:0:23" IterationCount="INFINITE" PlaybackDirection="Alternate" Easing="SineEaseInOut"> |
28 | | - <KeyFrame Cue="0%"><Setter Property="RenderTransform" Value="translate(0px,0px)"/></KeyFrame> |
29 | | - <KeyFrame Cue="100%"><Setter Property="RenderTransform" Value="translate(80px,60px)"/></KeyFrame> |
| 30 | + <KeyFrame Cue="0%"><Setter Property="Canvas.Left" Value="-60"/><Setter Property="Canvas.Top" Value="-40"/></KeyFrame> |
| 31 | + <KeyFrame Cue="100%"><Setter Property="Canvas.Left" Value="20"/><Setter Property="Canvas.Top" Value="30"/></KeyFrame> |
30 | 32 | </Animation> |
31 | 33 | </Style.Animations> |
32 | 34 | </Style> |
33 | 35 | <Style Selector="Ellipse.blobB"> |
34 | 36 | <Style.Animations> |
35 | 37 | <Animation Duration="0:0:29" IterationCount="INFINITE" PlaybackDirection="Alternate" Easing="SineEaseInOut"> |
36 | | - <KeyFrame Cue="0%"><Setter Property="RenderTransform" Value="translate(0px,0px)"/></KeyFrame> |
37 | | - <KeyFrame Cue="100%"><Setter Property="RenderTransform" Value="translate(-70px,50px)"/></KeyFrame> |
| 38 | + <KeyFrame Cue="0%"><Setter Property="Canvas.Right" Value="-80"/><Setter Property="Canvas.Top" Value="60"/></KeyFrame> |
| 39 | + <KeyFrame Cue="100%"><Setter Property="Canvas.Right" Value="-10"/><Setter Property="Canvas.Top" Value="115"/></KeyFrame> |
38 | 40 | </Animation> |
39 | 41 | </Style.Animations> |
40 | 42 | </Style> |
41 | 43 | <Style Selector="Ellipse.blobC"> |
42 | 44 | <Style.Animations> |
43 | 45 | <Animation Duration="0:0:34" IterationCount="INFINITE" PlaybackDirection="Alternate" Easing="SineEaseInOut"> |
44 | | - <KeyFrame Cue="0%"><Setter Property="RenderTransform" Value="translate(0px,0px)"/></KeyFrame> |
45 | | - <KeyFrame Cue="100%"><Setter Property="RenderTransform" Value="translate(-60px,-45px)"/></KeyFrame> |
| 46 | + <KeyFrame Cue="0%"><Setter Property="Canvas.Left" Value="280"/><Setter Property="Canvas.Bottom" Value="-40"/></KeyFrame> |
| 47 | + <KeyFrame Cue="100%"><Setter Property="Canvas.Left" Value="210"/><Setter Property="Canvas.Bottom" Value="20"/></KeyFrame> |
46 | 48 | </Animation> |
47 | 49 | </Style.Animations> |
48 | 50 | </Style> |
49 | 51 | <Style Selector="Ellipse.blobD"> |
50 | 52 | <Style.Animations> |
51 | 53 | <Animation Duration="0:0:26" IterationCount="INFINITE" PlaybackDirection="Alternate" Easing="SineEaseInOut"> |
52 | | - <KeyFrame Cue="0%"><Setter Property="RenderTransform" Value="translate(0px,0px)"/></KeyFrame> |
53 | | - <KeyFrame Cue="100%"><Setter Property="RenderTransform" Value="translate(55px,-40px)"/></KeyFrame> |
| 54 | + <KeyFrame Cue="0%"><Setter Property="Canvas.Right" Value="120"/><Setter Property="Canvas.Bottom" Value="-30"/></KeyFrame> |
| 55 | + <KeyFrame Cue="100%"><Setter Property="Canvas.Right" Value="55"/><Setter Property="Canvas.Bottom" Value="30"/></KeyFrame> |
54 | 56 | </Animation> |
55 | 57 | </Style.Animations> |
56 | 58 | </Style> |
|
0 commit comments