1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-11-18 02:16:23 -05:00

fixed onHover bug in d2ui.Sprite

This commit is contained in:
M. Sz 2020-12-19 18:29:15 +01:00
parent 27270e7d98
commit 8b557062fb

View File

@ -34,17 +34,25 @@ func (ui *UIManager) NewSprite(animationPath, palettePath string) (*Sprite, erro
base := NewBaseWidget(ui)
return &Sprite{
sprite := &Sprite{
BaseWidget: base,
animation: animation,
Logger: ui.Logger,
}, nil
}
sprite.SetVisible(false)
ui.addWidget(sprite)
return sprite, nil
}
// Render renders the sprite on the given surface
func (s *Sprite) Render(target d2interface.Surface) {
_, frameHeight := s.animation.GetCurrentFrameSize()
s.width, s.height = s.animation.GetCurrentFrameSize()
target.PushTranslation(s.x, s.y-frameHeight)
defer target.Pop()
@ -90,11 +98,6 @@ func (s *Sprite) RenderSegmented(target d2interface.Surface, segmentsX, segments
}
}
// GetSize returns the size of the current frame
func (s *Sprite) GetSize() (width, height int) {
return s.GetCurrentFrameSize()
}
// GetFrameSize gets the Size(width, height) of a indexed frame.
func (s *Sprite) GetFrameSize(frameIndex int) (x, y int, err error) {
return s.animation.GetFrameSize(frameIndex)