Skip to content

Commit 3eeac91

Browse files
committed
Add Animation in Glass Icon
1 parent 89677ff commit 3eeac91

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

Flow.Launcher/MainWindow.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@
183183
</TextBox>
184184
<Canvas Style="{DynamicResource SearchIconPosition}">
185185
<Path
186+
Name="SearchIcon"
186187
Margin="0"
187188
Data="{DynamicResource SearchIconImg}"
188189
Stretch="Fill"

Flow.Launcher/MainWindow.xaml.cs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -267,29 +267,42 @@ public void WindowAnimator()
267267
_animating = true;
268268
UpdatePosition();
269269
Storyboard sb = new Storyboard();
270+
Storyboard iconsb = new Storyboard();
271+
CircleEase easing = new CircleEase(); // or whatever easing class you want
272+
easing.EasingMode = EasingMode.EaseInOut;
270273
var da = new DoubleAnimation
271274
{
272275
From = 0,
273276
To = 1,
274-
Duration = TimeSpan.FromSeconds(0.18),
277+
Duration = TimeSpan.FromSeconds(0.2),
275278
FillBehavior = FillBehavior.Stop
276279
};
277-
278280
var da2 = new DoubleAnimation
279281
{
280-
From = Top + 8,
282+
From = Top + 10,
281283
To = Top,
282-
Duration = TimeSpan.FromSeconds(0.18),
284+
Duration = TimeSpan.FromSeconds(0.2),
285+
FillBehavior = FillBehavior.Stop
286+
};
287+
var da3 = new DoubleAnimation
288+
{
289+
From = 12,
290+
To = 0,
291+
EasingFunction = easing,
292+
Duration = TimeSpan.FromSeconds(0.36),
283293
FillBehavior = FillBehavior.Stop
284294
};
285295
Storyboard.SetTarget(da, this);
286296
Storyboard.SetTargetProperty(da, new PropertyPath(Window.OpacityProperty));
287297
Storyboard.SetTargetProperty(da2, new PropertyPath(Window.TopProperty));
298+
Storyboard.SetTargetProperty(da3, new PropertyPath(TopProperty));
288299
sb.Children.Add(da);
289300
sb.Children.Add(da2);
301+
iconsb.Children.Add(da3);
290302
sb.Completed += (_, _) => _animating = false;
291303
_settings.WindowLeft = Left;
292304
_settings.WindowTop = Top;
305+
iconsb.Begin(SearchIcon);
293306
sb.Begin(FlowMainWindow);
294307
}
295308
if (_settings.UseSound)

0 commit comments

Comments
 (0)