ichigo/engine/misc.go

48 lines
1.1 KiB
Go
Raw Normal View History

2021-07-23 17:05:05 +10:00
package engine
2021-09-08 17:08:21 +10:00
import (
"image"
)
2021-08-23 10:34:56 +10:00
2021-08-01 17:08:26 +10:00
// ID implements Identifier directly (as a string value).
type ID string
// Ident returns id as a string.
func (id ID) Ident() string { return string(id) }
2021-08-23 10:34:56 +10:00
// Bounds implements Bounder directly (as an image.Rectangle value).
type Bounds image.Rectangle
// BoundingRect returns b as an image.Rectangle.
func (b Bounds) BoundingRect() image.Rectangle { return image.Rectangle(b) }
2021-09-13 16:50:35 +10:00
// Disables implements Disabler directly (as a bool).
type Disables bool
2021-08-23 11:10:46 +10:00
2021-09-13 16:50:35 +10:00
// Disabled returns d as a bool.
func (d Disables) Disabled() bool { return bool(d) }
2021-08-23 11:10:46 +10:00
2021-09-13 16:50:35 +10:00
// Disable sets d to true.
func (d *Disables) Disable() { *d = true }
2021-08-23 11:10:46 +10:00
2021-09-13 16:50:35 +10:00
// Enable sets d to false.
func (d *Disables) Enable() { *d = false }
2021-08-23 11:10:46 +10:00
2021-09-13 16:50:35 +10:00
// Hides implements Hider directly (as a bool).
type Hides bool
2021-08-23 10:34:56 +10:00
2021-09-13 16:50:35 +10:00
// Hidden returns h as a bool.
func (h Hides) Hidden() bool { return bool(h) }
2021-08-23 10:34:56 +10:00
// Hide sets h to true.
2021-09-13 16:50:35 +10:00
func (h *Hides) Hide() { *h = true }
2021-08-23 10:34:56 +10:00
// Show sets h to false.
2021-09-13 16:50:35 +10:00
func (h *Hides) Show() { *h = false }
2021-09-21 14:42:18 +10:00
2021-09-21 16:53:04 +10:00
// Components implements Scan directly (as itself!)
2021-09-21 14:42:18 +10:00
type Components []interface{}
// Scan returns c.
func (c Components) Scan() Components { return c }