Replace most functionality in internal/util with goutil and slices
This commit is contained in:
parent
0a8bb39265
commit
9d67013e33
5
go.mod
5
go.mod
@ -1,8 +1,11 @@
|
|||||||
module git.tebibyte.media/tomo/backend
|
module git.tebibyte.media/tomo/backend
|
||||||
|
|
||||||
go 1.20
|
go 1.21.0
|
||||||
|
|
||||||
|
toolchain go1.22.2
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
git.tebibyte.media/sashakoshka/goutil v0.3.0
|
||||||
git.tebibyte.media/tomo/tomo v0.46.1
|
git.tebibyte.media/tomo/tomo v0.46.1
|
||||||
git.tebibyte.media/tomo/typeset v0.8.0
|
git.tebibyte.media/tomo/typeset v0.8.0
|
||||||
git.tebibyte.media/tomo/xgbkb v1.0.1
|
git.tebibyte.media/tomo/xgbkb v1.0.1
|
||||||
|
|||||||
2
go.sum
2
go.sum
@ -1,3 +1,5 @@
|
|||||||
|
git.tebibyte.media/sashakoshka/goutil v0.3.0 h1:dcZ/9/or7m8eTpf2B1Pu4CscplXh2INTXFartz+ExwE=
|
||||||
|
git.tebibyte.media/sashakoshka/goutil v0.3.0/go.mod h1:e1OXLa+wX7x/F8n8gyxz2hnfVCEkWzGrZNX8/k/lR/M=
|
||||||
git.tebibyte.media/sashakoshka/xgbkb v1.0.0/go.mod h1:pNcE6TRO93vHd6q42SdwLSTTj25L0Yzggz7yLe0JV6Q=
|
git.tebibyte.media/sashakoshka/xgbkb v1.0.0/go.mod h1:pNcE6TRO93vHd6q42SdwLSTTj25L0Yzggz7yLe0JV6Q=
|
||||||
git.tebibyte.media/tomo/tomo v0.46.1 h1:/8fT6I9l4TK529zokrThbNDHGRvUsNgif1Zs++0PBSQ=
|
git.tebibyte.media/tomo/tomo v0.46.1 h1:/8fT6I9l4TK529zokrThbNDHGRvUsNgif1Zs++0PBSQ=
|
||||||
git.tebibyte.media/tomo/tomo v0.46.1/go.mod h1:WrtilgKB1y8O2Yu7X4mYcRiqOlPR8NuUnoA/ynkQWrs=
|
git.tebibyte.media/tomo/tomo v0.46.1/go.mod h1:WrtilgKB1y8O2Yu7X4mYcRiqOlPR8NuUnoA/ynkQWrs=
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
package system
|
package system
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.tebibyte.media/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/backend/internal/util"
|
import "git.tebibyte.media/sashakoshka/goutil/container"
|
||||||
|
|
||||||
type attrHierarchy [T tomo.Attr] struct {
|
type attrHierarchy [T tomo.Attr] struct {
|
||||||
fallback T
|
fallback T
|
||||||
style util.Optional[T]
|
style ucontainer.Optional[T]
|
||||||
user util.Optional[T]
|
user ucontainer.Optional[T]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *attrHierarchy[T]) SetFallback (fallback T) {
|
func (this *attrHierarchy[T]) SetFallback (fallback T) {
|
||||||
|
|||||||
@ -7,20 +7,21 @@ import "git.tebibyte.media/tomo/tomo/data"
|
|||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.tebibyte.media/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.tebibyte.media/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/tomo/canvas"
|
import "git.tebibyte.media/tomo/tomo/canvas"
|
||||||
import "git.tebibyte.media/tomo/backend/internal/util"
|
import "git.tebibyte.media/sashakoshka/goutil/container"
|
||||||
|
import "git.tebibyte.media/sashakoshka/goutil/image/color"
|
||||||
|
|
||||||
type box struct {
|
type box struct {
|
||||||
system *System
|
system *System
|
||||||
parent parent
|
parent parent
|
||||||
outer anyBox
|
outer anyBox
|
||||||
|
|
||||||
tags util.Set[string]
|
tags ucontainer.Set[string]
|
||||||
role tomo.Role
|
role tomo.Role
|
||||||
lastStyleNonce int
|
lastStyleNonce int
|
||||||
lastIconSetNonce int
|
lastIconSetNonce int
|
||||||
styleApplicator *styleApplicator
|
styleApplicator *styleApplicator
|
||||||
|
|
||||||
minSize util.Memo[image.Point]
|
minSize ucontainer.Memo[image.Point]
|
||||||
bounds image.Rectangle
|
bounds image.Rectangle
|
||||||
innerClippingBounds image.Rectangle
|
innerClippingBounds image.Rectangle
|
||||||
|
|
||||||