94 lines
2.1 KiB
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)
|
|
//}
|