28 lines
529 B
Go
28 lines
529 B
Go
package x
|
|
|
|
import "image/color"
|
|
|
|
func indexOf[T comparable] (haystack []T, needle T) int {
|
|
for index, test := range haystack {
|
|
if test == needle {
|
|
return index
|
|
}
|
|
}
|
|
return -1
|
|
}
|
|
|
|
func remove[T any] (slice []T, index int) []T {
|
|
return append(slice[:index], slice[index + 1:]...)
|
|
}
|
|
|
|
func insert[T any] (slice []T, index int, element T) []T {
|
|
slice = append(slice[:index + 1], slice[index:]...)
|
|
slice[index] = element
|
|
return slice
|
|
}
|
|
|
|
func transparent (c color.Color) bool {
|
|
_, _, _, a := c.RGBA()
|
|
return a != 0xFFFF
|
|
}
|