animate mouse out of grid card as well
This commit is contained in:
@@ -62,6 +62,10 @@ var (
|
|||||||
playBtnSize = fyne.NewSquareSize(60)
|
playBtnSize = fyne.NewSquareSize(60)
|
||||||
playBtnHoveredSize = fyne.NewSquareSize(70)
|
playBtnHoveredSize = fyne.NewSquareSize(70)
|
||||||
|
|
||||||
|
// current item animating mouse out, if any
|
||||||
|
gridViewMouseOutAnim *fyne.Animation
|
||||||
|
gridViewMouseOutItem *coverImage
|
||||||
|
|
||||||
resourcesInitted bool
|
resourcesInitted bool
|
||||||
heartFilledResource fyne.Resource
|
heartFilledResource fyne.Resource
|
||||||
heartFilledHoveredResource fyne.Resource
|
heartFilledHoveredResource fyne.Resource
|
||||||
@@ -182,6 +186,17 @@ func (c *coverImage) TappedSecondary(e *fyne.PointEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *coverImage) MouseIn(*desktop.MouseEvent) {
|
func (a *coverImage) MouseIn(*desktop.MouseEvent) {
|
||||||
|
// stop mouse out animation for different item, if any
|
||||||
|
if gridViewMouseOutAnim != nil {
|
||||||
|
gridViewMouseOutAnim.Stop()
|
||||||
|
gridViewMouseOutAnim = nil
|
||||||
|
|
||||||
|
gridViewMouseOutItem.bottomPanel.Hidden = true
|
||||||
|
gridViewMouseOutItem.playbtn.Hidden = true
|
||||||
|
gridViewMouseOutItem.Refresh()
|
||||||
|
gridViewMouseOutItem = nil
|
||||||
|
}
|
||||||
|
|
||||||
a.updateFavoriteIcon(false)
|
a.updateFavoriteIcon(false)
|
||||||
|
|
||||||
firstTick := true
|
firstTick := true
|
||||||
@@ -220,12 +235,28 @@ func (a *coverImage) MouseOut() {
|
|||||||
a.mouseInAnim.Stop()
|
a.mouseInAnim.Stop()
|
||||||
a.mouseInAnim = nil
|
a.mouseInAnim = nil
|
||||||
}
|
}
|
||||||
|
gridViewMouseOutAnim = fyne.NewAnimation(canvas.DurationShort, func(f float32) {
|
||||||
|
t := 1 - f
|
||||||
|
setPlayBtnTranslucency(t * float32(playBtnOpacity))
|
||||||
|
a.moreButton.Translucency = float64(f)
|
||||||
|
a.favoriteButton.Translucency = float64(f)
|
||||||
|
a.gradient.EndColor = color.RGBA{A: uint8(t * 255)}
|
||||||
|
if f == 1 {
|
||||||
|
a.bottomPanel.Hidden = true
|
||||||
|
a.playbtn.Hidden = true
|
||||||
|
gridViewMouseOutAnim = nil
|
||||||
|
gridViewMouseOutItem = nil
|
||||||
|
a.Refresh()
|
||||||
|
} else {
|
||||||
|
a.playbtn.Refresh()
|
||||||
|
a.bottomPanel.Refresh()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
gridViewMouseOutItem = a
|
||||||
|
gridViewMouseOutAnim.Start()
|
||||||
a.mouseInsidePlay = false
|
a.mouseInsidePlay = false
|
||||||
a.mouseInsideFav = false
|
a.mouseInsideFav = false
|
||||||
a.mouseInsideMore = false
|
a.mouseInsideMore = false
|
||||||
a.playbtn.Hidden = true
|
|
||||||
a.bottomPanel.Hidden = true
|
|
||||||
a.Refresh()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *coverImage) MouseMoved(e *desktop.MouseEvent) {
|
func (a *coverImage) MouseMoved(e *desktop.MouseEvent) {
|
||||||
|
|||||||
Reference in New Issue
Block a user