diff --git a/src/assets/sprites/backward.png b/src/assets/sprites/backward.png new file mode 100644 index 0000000..1209f31 Binary files /dev/null and b/src/assets/sprites/backward.png differ diff --git a/src/assets/sprites/empty.png b/src/assets/sprites/empty.png new file mode 100644 index 0000000..d3a1bf0 Binary files /dev/null and b/src/assets/sprites/empty.png differ diff --git a/src/assets/sprites/forward.png b/src/assets/sprites/forward.png new file mode 100644 index 0000000..4f2c7ce Binary files /dev/null and b/src/assets/sprites/forward.png differ diff --git a/src/assets/sprites/grid.png b/src/assets/sprites/grid.png new file mode 100644 index 0000000..f536511 Binary files /dev/null and b/src/assets/sprites/grid.png differ diff --git a/src/assets/sprites/help.png b/src/assets/sprites/help.png new file mode 100644 index 0000000..8f21a70 Binary files /dev/null and b/src/assets/sprites/help.png differ diff --git a/src/assets/sprites/insert.png b/src/assets/sprites/insert.png new file mode 100644 index 0000000..3309b83 Binary files /dev/null and b/src/assets/sprites/insert.png differ diff --git a/src/assets/sprites/mark.png b/src/assets/sprites/mark.png new file mode 100644 index 0000000..86ef1ac Binary files /dev/null and b/src/assets/sprites/mark.png differ diff --git a/src/assets/sprites/media-playback-start.png b/src/assets/sprites/media-playback-start.png new file mode 100644 index 0000000..21bd229 Binary files /dev/null and b/src/assets/sprites/media-playback-start.png differ diff --git a/src/assets/sprites/menu.png b/src/assets/sprites/menu.png new file mode 100644 index 0000000..9e2e93f Binary files /dev/null and b/src/assets/sprites/menu.png differ diff --git a/src/assets/sprites/nogrid.png b/src/assets/sprites/nogrid.png new file mode 100644 index 0000000..9cec903 Binary files /dev/null and b/src/assets/sprites/nogrid.png differ diff --git a/src/assets/sprites/options.png b/src/assets/sprites/options.png new file mode 100644 index 0000000..2d2cea7 Binary files /dev/null and b/src/assets/sprites/options.png differ diff --git a/src/assets/sprites/paste-rle.png b/src/assets/sprites/paste-rle.png new file mode 100644 index 0000000..0914f56 Binary files /dev/null and b/src/assets/sprites/paste-rle.png differ diff --git a/src/assets/sprites/pause.png b/src/assets/sprites/pause.png new file mode 100644 index 0000000..fec9712 Binary files /dev/null and b/src/assets/sprites/pause.png differ diff --git a/src/assets/sprites/save.png b/src/assets/sprites/save.png new file mode 100644 index 0000000..3e43d1d Binary files /dev/null and b/src/assets/sprites/save.png differ diff --git a/src/assets/sprites/zoom-fit-best.png b/src/assets/sprites/zoom-fit-best.png new file mode 100644 index 0000000..ebdaf24 Binary files /dev/null and b/src/assets/sprites/zoom-fit-best.png differ diff --git a/src/assets/sprites/zoom-in.png b/src/assets/sprites/zoom-in.png new file mode 100644 index 0000000..4c4cd8b Binary files /dev/null and b/src/assets/sprites/zoom-in.png differ diff --git a/src/assets/sprites/zoom-original.png b/src/assets/sprites/zoom-original.png new file mode 100644 index 0000000..df34a3f Binary files /dev/null and b/src/assets/sprites/zoom-original.png differ diff --git a/src/assets/sprites/zoom-out.png b/src/assets/sprites/zoom-out.png new file mode 100644 index 0000000..2cea164 Binary files /dev/null and b/src/assets/sprites/zoom-out.png differ diff --git a/src/game.go b/src/game.go index 85c8556..8609202 100644 --- a/src/game.go +++ b/src/game.go @@ -48,8 +48,10 @@ func (game *Game) Layout(outsideWidth, outsideHeight int) (int, int) { } func (game *Game) Update() error { + currentscene := game.GetCurrentScene() + for _, scene := range game.Scenes { - if scene.IsPrimary() { + if scene.IsPrimary() || scene == currentscene { if quit := scene.Update(); quit != nil { return quit } @@ -57,12 +59,11 @@ func (game *Game) Update() error { } } - scene := game.GetCurrentScene() - next := scene.GetNext() + next := currentscene.GetNext() if next != game.CurrentScene { game.Scenes[next].SetPrevious(game.CurrentScene) - scene.ResetNext() + currentscene.ResetNext() game.CurrentScene = next } diff --git a/src/menu.go b/src/menu.go index b8e4f8e..8829a53 100644 --- a/src/menu.go +++ b/src/menu.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "image/color" "os" @@ -101,6 +102,7 @@ func (scene *SceneMenu) Init() { options := NewMenuButton("Options", func(args *widget.ButtonClickedEventArgs) { + fmt.Println("menu => options") scene.SetNext(Options) }) diff --git a/src/toolbar.go b/src/toolbar.go index a8c05aa..6a0152d 100644 --- a/src/toolbar.go +++ b/src/toolbar.go @@ -1,8 +1,8 @@ package main import ( + "fmt" "image/color" - "os" "github.com/ebitenui/ebitenui" "github.com/ebitenui/ebitenui/widget" @@ -80,12 +80,13 @@ func (scene *SceneToolbar) SetInitialValue(w *widget.LabeledCheckbox, value bool func (scene *SceneToolbar) Init() { rowContainer := NewTopRowContainer("Toolbar") - cancel := NewMenuButton("Close", + options := NewToolbarButton(Assets["options"], func(args *widget.ButtonClickedEventArgs) { - os.Exit(0) + fmt.Println("options") + scene.SetNext(Options) }) - rowContainer.AddChild(cancel) + rowContainer.AddChild(options) scene.Ui = &ebitenui.UI{ Container: rowContainer.Container(),