Skip to content

Commit 72902bd

Browse files
committed
Handle mouse leave event for theme previewer
1 parent e211b45 commit 72902bd

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/Skia/ThemePreviewer.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public ThemePreviewer()
8585
fadeTimer.Tick += FadeTimer_Tick;
8686

8787
MouseEnter += (s, e) => ViewModel.IsMouseOver = true;
88-
MouseLeave += (s, e) => ViewModel.IsMouseOver = false;
88+
MouseLeave += OnMouseLeave;
8989

9090
ViewModel.PropertyChanged += (s, e) =>
9191
{
@@ -436,6 +436,26 @@ protected override void OnMouseMove(MouseEventArgs e)
436436
}
437437
}
438438

439+
private void OnMouseLeave(object sender, EventArgs e)
440+
{
441+
ViewModel.IsMouseOver = false;
442+
443+
// Reset all hover states
444+
bool needsRedraw = isMouseOverPlay || isMouseOverLeft || isMouseOverRight || isMouseOverDownload;
445+
446+
isMouseOverPlay = false;
447+
isMouseOverLeft = false;
448+
isMouseOverRight = false;
449+
isMouseOverDownload = false;
450+
451+
Cursor = Cursors.Default;
452+
453+
if (needsRedraw)
454+
{
455+
Invalidate();
456+
}
457+
}
458+
439459
private void StartAnimation()
440460
{
441461
fadeProgress = 0f;

0 commit comments

Comments
 (0)