diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-02-14 16:05:06 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:50:09 +0200 |
| commit | 379c17fe2244dc8fe8365cdbf3d62e21951c8121 (patch) | |
| tree | 32a1741be38f3745c1edea86a4adf9116cc7c93f /go/ui/clickable.go | |
| parent | 1ac413e1d0ddc39a41374ff9b3375e6de3e1af1c (diff) | |
| download | muhqs-game-379c17fe2244dc8fe8365cdbf3d62e21951c8121.tar.gz muhqs-game-379c17fe2244dc8fe8365cdbf3d62e21951c8121.zip | |
add sealed activity to select a starting deck
Diffstat (limited to 'go/ui/clickable.go')
| -rw-r--r-- | go/ui/clickable.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/go/ui/clickable.go b/go/ui/clickable.go new file mode 100644 index 00000000..761b7534 --- /dev/null +++ b/go/ui/clickable.go @@ -0,0 +1,40 @@ +package ui + +import ( + "github.com/hajimehoshi/ebiten/v2" +) + +type Clickable interface { + Click(x, y int) +} + +type ClickWrapper struct { + w Widget + onClick func(x, y int) +} + +func NewClickWrapper(w Widget, onClick func(x, y int)) *ClickWrapper { + return &ClickWrapper{w, onClick} +} + +func (w *ClickWrapper) Draw(screen *ebiten.Image) { + w.w.Draw(screen) +} + +func (w *ClickWrapper) FindObjectAt(x, y int) interface{} { + return w.w.FindObjectAt(x, y) +} + +func (w *ClickWrapper) Contains(x, y int) bool { + return w.w.Contains(x, y) +} + +func (w *ClickWrapper) Click(x, y int) { + w.onClick(x, y) +} + +func (w *ClickWrapper) Scroll(x, y int) { + if w, ok := w.w.(Scrollable); ok { + w.Scroll(x, y) + } +} |
