From 82f2319020314fbd60a8da03983d79dbdd1b8fae Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Fri, 6 Oct 2023 13:49:42 +0900 Subject: [PATCH] internal/hook: rename hooks -> hook --- audio/audio.go | 28 +++++++++++------------ audio/export_test.go | 4 ++-- audio/player.go | 1 - inpututil/inpututil.go | 4 ++-- internal/{hooks/hooks.go => hook/hook.go} | 6 ++--- internal/ui/context.go | 4 ++-- internal/ui/ui_glfw.go | 6 ++--- internal/ui/ui_js.go | 10 ++++---- internal/ui/ui_mobile.go | 6 ++--- text/text.go | 4 ++-- 10 files changed, 36 insertions(+), 37 deletions(-) rename internal/{hooks/hooks.go => hook/hook.go} (95%) diff --git a/audio/audio.go b/audio/audio.go index 14f25c0f5..89f273fef 100644 --- a/audio/audio.go +++ b/audio/audio.go @@ -42,7 +42,7 @@ import ( "time" "github.com/hajimehoshi/ebiten/v2/audio/internal/convert" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" ) const ( @@ -438,33 +438,33 @@ func (p *Player) SetBufferSize(bufferSize time.Duration) { p.p.SetBufferSize(bufferSize) } -type hook interface { +type hooker interface { OnSuspendAudio(f func() error) OnResumeAudio(f func() error) AppendHookOnBeforeUpdate(f func() error) } -var hookForTesting hook +var hookerForTesting hooker -func getHook() hook { - if hookForTesting != nil { - return hookForTesting +func getHook() hooker { + if hookerForTesting != nil { + return hookerForTesting } - return &hookImpl{} + return &hookerImpl{} } -type hookImpl struct{} +type hookerImpl struct{} -func (h *hookImpl) OnSuspendAudio(f func() error) { - hooks.OnSuspendAudio(f) +func (h *hookerImpl) OnSuspendAudio(f func() error) { + hook.OnSuspendAudio(f) } -func (h *hookImpl) OnResumeAudio(f func() error) { - hooks.OnResumeAudio(f) +func (h *hookerImpl) OnResumeAudio(f func() error) { + hook.OnResumeAudio(f) } -func (h *hookImpl) AppendHookOnBeforeUpdate(f func() error) { - hooks.AppendHookOnBeforeUpdate(f) +func (h *hookerImpl) AppendHookOnBeforeUpdate(f func() error) { + hook.AppendHookOnBeforeUpdate(f) } // Resample converts the sample rate of the given stream. diff --git a/audio/export_test.go b/audio/export_test.go index 8a60998a4..d7e0c1d5c 100644 --- a/audio/export_test.go +++ b/audio/export_test.go @@ -127,11 +127,11 @@ func (h *dummyHook) AppendHookOnBeforeUpdate(f func() error) { } func init() { - hookForTesting = &dummyHook{} + hookerForTesting = &dummyHook{} } func UpdateForTesting() error { - for _, f := range hookForTesting.(*dummyHook).updates { + for _, f := range hookerForTesting.(*dummyHook).updates { if err := f(); err != nil { return err } diff --git a/audio/player.go b/audio/player.go index 7b844a0fc..4d14a1915 100644 --- a/audio/player.go +++ b/audio/player.go @@ -59,7 +59,6 @@ func newPlayerFactory(sampleRate int) *playerFactory { if driverForTesting != nil { f.context = driverForTesting } - // TODO: Consider the hooks. return f } diff --git a/inpututil/inpututil.go b/inpututil/inpututil.go index 0c612b8a2..8a7b97145 100644 --- a/inpututil/inpututil.go +++ b/inpututil/inpututil.go @@ -20,7 +20,7 @@ import ( "sync" "github.com/hajimehoshi/ebiten/v2" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" ) type pos struct { @@ -80,7 +80,7 @@ var theInputState = &inputState{ } func init() { - hooks.AppendHookOnBeforeUpdate(func() error { + hook.AppendHookOnBeforeUpdate(func() error { theInputState.update() return nil }) diff --git a/internal/hooks/hooks.go b/internal/hook/hook.go similarity index 95% rename from internal/hooks/hooks.go rename to internal/hook/hook.go index 34692e610..95b7d0910 100644 --- a/internal/hooks/hooks.go +++ b/internal/hook/hook.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package hooks +package hook import ( "sync" @@ -20,10 +20,10 @@ import ( var m sync.Mutex -var onBeforeUpdateHooks = []func() error{} +var onBeforeUpdateHooks []func() error // AppendHookOnBeforeUpdate appends a hook function that is run before the main update function -// every frame. +// every tick. func AppendHookOnBeforeUpdate(f func() error) { m.Lock() onBeforeUpdateHooks = append(onBeforeUpdateHooks, f) diff --git a/internal/ui/context.go b/internal/ui/context.go index c27cad697..b2e3dc499 100644 --- a/internal/ui/context.go +++ b/internal/ui/context.go @@ -23,7 +23,7 @@ import ( "github.com/hajimehoshi/ebiten/v2/internal/clock" "github.com/hajimehoshi/ebiten/v2/internal/debug" "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" "github.com/hajimehoshi/ebiten/v2/internal/mipmap" ) @@ -133,7 +133,7 @@ func (c *context) updateFrameImpl(graphicsDriver graphicsdriver.Graphics, update ui.readInputState(inputState) }) - if err := hooks.RunBeforeUpdateHooks(); err != nil { + if err := hook.RunBeforeUpdateHooks(); err != nil { return err } if err := c.game.Update(); err != nil { diff --git a/internal/ui/ui_glfw.go b/internal/ui/ui_glfw.go index 4e4aa5f58..b76c19741 100644 --- a/internal/ui/ui_glfw.go +++ b/internal/ui/ui_glfw.go @@ -31,7 +31,7 @@ import ( "github.com/hajimehoshi/ebiten/v2/internal/gamepad" "github.com/hajimehoshi/ebiten/v2/internal/glfw" "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" "github.com/hajimehoshi/ebiten/v2/internal/microsoftgdk" "github.com/hajimehoshi/ebiten/v2/internal/thread" ) @@ -1380,7 +1380,7 @@ func (u *userInterfaceImpl) update() (float64, float64, error) { return 0, 0, err } for visible != 0 && !u.isRunnableOnUnfocused() && focused == 0 && !shouldClose { - if err := hooks.SuspendAudio(); err != nil { + if err := hook.SuspendAudio(); err != nil { return 0, 0, err } // Wait for an arbitrary period to avoid busy loop. @@ -1389,7 +1389,7 @@ func (u *userInterfaceImpl) update() (float64, float64, error) { return 0, 0, err } } - if err := hooks.ResumeAudio(); err != nil { + if err := hook.ResumeAudio(); err != nil { return 0, 0, err } diff --git a/internal/ui/ui_js.go b/internal/ui/ui_js.go index 232002b50..2e72dc88d 100644 --- a/internal/ui/ui_js.go +++ b/internal/ui/ui_js.go @@ -25,7 +25,7 @@ import ( "github.com/hajimehoshi/ebiten/v2/internal/gamepad" "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver" "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/opengl" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" ) type graphicsDriverCreatorImpl struct { @@ -338,9 +338,9 @@ func (u *userInterfaceImpl) update() error { } if u.suspended() { - return hooks.SuspendAudio() + return hook.SuspendAudio() } - if err := hooks.ResumeAudio(); err != nil { + if err := hook.ResumeAudio(); err != nil { return err } return u.updateImpl(false) @@ -465,12 +465,12 @@ func (u *userInterfaceImpl) loop(game Game) <-chan error { select { case <-t.C: if u.suspended() { - if err := hooks.SuspendAudio(); err != nil { + if err := hook.SuspendAudio(); err != nil { errCh <- err return } } else { - if err := hooks.ResumeAudio(); err != nil { + if err := hook.ResumeAudio(); err != nil { errCh <- err return } diff --git a/internal/ui/ui_mobile.go b/internal/ui/ui_mobile.go index 022099b71..81cd7e399 100644 --- a/internal/ui/ui_mobile.go +++ b/internal/ui/ui_mobile.go @@ -36,7 +36,7 @@ import ( "github.com/hajimehoshi/ebiten/v2/internal/gamepad" "github.com/hajimehoshi/ebiten/v2/internal/graphicscommand" "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" "github.com/hajimehoshi/ebiten/v2/internal/restorable" "github.com/hajimehoshi/ebiten/v2/internal/thread" ) @@ -231,9 +231,9 @@ func (u *userInterfaceImpl) SetForeground(foreground bool) error { atomic.StoreInt32(&u.foreground, v) if foreground { - return hooks.ResumeAudio() + return hook.ResumeAudio() } else { - return hooks.SuspendAudio() + return hook.SuspendAudio() } } diff --git a/text/text.go b/text/text.go index e277573d0..067599967 100644 --- a/text/text.go +++ b/text/text.go @@ -26,7 +26,7 @@ import ( "golang.org/x/image/math/fixed" "github.com/hajimehoshi/ebiten/v2" - "github.com/hajimehoshi/ebiten/v2/internal/hooks" + "github.com/hajimehoshi/ebiten/v2/internal/hook" ) var ( @@ -38,7 +38,7 @@ func now() int64 { } func init() { - hooks.AppendHookOnBeforeUpdate(func() error { + hook.AppendHookOnBeforeUpdate(func() error { monotonicClock++ return nil })