Files
games/common/elements/v1/table.go

94 lines
2.1 KiB
Go

package elements
//
//import (
// "context"
// "fmt"
//
// "github.com/hajimehoshi/ebiten/v2"
//)
//
//type Table struct {
// mouseHandler
// block
//
// ColumnCount int
// RowCount int
//
// Cells []Bounds
//
// Style struct {
// }
//
// mouseOverCell int
//}
//
//func (t *Table) HandleClick(ctx context.Context, s MouseState) error {
// address := t.getAddressUnderMouse()
// if address < 0 || address >= len(t.Cells) {
// return fmt.Errorf("cell address under mouse is out of bounds")
// }
//
// if clickable, ok := t.Cells[address].(Clickable); ok {
// return clickable.HandleClick(s)
// }
//
// return nil
//}
//
//func (t *Table) HandleMouseEnter(ctx context.Context, s MouseState) error {
// _ = t.mouseHandler.HandleMouseEnter(s)
// address := t.getAddressUnderMouse()
// if address < 0 || address >= len(t.Cells) {
// return fmt.Errorf("cell address under mouse is out of bounds")
// }
//
// if mouseable, ok := t.Cells[address].(Mouseable); ok {
// s.X -=
// return mouseable.HandleMouseEnter(s)
// }
//
// return nil
//}
//
//func (t *Table) HandleMouseLeave(ctx context.Context, s MouseState) error {
// _ = t.mouseHandler.HandleMouseLeave(s)
// return nil
//}
//
//func (t *Table) HandleMouseMove(ctx context.Context, s MouseState) error {
// _ = t.mouseHandler.HandleMouseMove(s)
// return nil
//}
//
//func (t *Table) HandleMouseDown(ctx context.Context, s MouseState) error {
// _ = t.mouseHandler.HandleMouseDown(s)
// return nil
//}
//
//func (t *Table) HandleMouseUp(ctx context.Context, s MouseState) error {
// _ = t.mouseHandler.HandleMouseUp(s)
// return nil
//}
//
//func (t *Table) CellSize() (w, h float32) {
// w, h = t.
// return w / float32(t.ColumnCount), h / float32(t.RowCount)
//}
//
//func (t *Table) CellZero(ctx context.Context, addr int) (x, y float32) {
// x, y = GetZero(ctx)
// w, h := t.CellSize(ctx)
//
// col, row := addr%t.ColumnCount, addr/t.ColumnCount
// return x + float32(col)*w, y + float32(row) + h
//}
//
//func (t *Table) Draw(screen *ebiten.Image, zx, zy float64) error {
// return nil
//}
//
//func (t *Table) getAddressUnderMouse() int {
// return int(t.mouseState.Y)*t.RowCount + int(t.mouseState.X)
//}