Updated X backend to match

This commit is contained in:
Sasha Koshka 2023-05-02 22:18:34 -04:00 committed by Sasha Koshka
parent b51eb79033
commit b84e444697
2 changed files with 3 additions and 9 deletions

View File

@ -18,15 +18,11 @@ type entity struct {
selected bool selected bool
layoutInvalid bool layoutInvalid bool
isContainer bool
} }
func (backend *backend) NewEntity (owner tomo.Element) tomo.Entity { func (backend *backend) NewEntity (owner tomo.Element) tomo.Entity {
entity := &entity { element: owner } entity := &entity { element: owner }
if _, ok := owner.(ability.Container); ok {
entity.isContainer = true
entity.InvalidateLayout() entity.InvalidateLayout()
}
return entity return entity
} }
@ -179,7 +175,7 @@ func (entity *entity) DrawBackground (destination artist.Canvas) {
func (entity *entity) InvalidateLayout () { func (entity *entity) InvalidateLayout () {
if entity.window == nil { return } if entity.window == nil { return }
if !entity.isContainer { return } if _, ok := entity.element.(ability.Layoutable); !ok { return }
entity.layoutInvalid = true entity.layoutInvalid = true
entity.window.system.anyLayoutInvalid = true entity.window.system.anyLayoutInvalid = true
} }

View File

@ -146,9 +146,7 @@ func (system *system) resizeChildToFit () {
system.child.bounds = system.canvas.Bounds() system.child.bounds = system.canvas.Bounds()
system.child.clippedBounds = system.child.bounds system.child.clippedBounds = system.child.bounds
system.child.Invalidate() system.child.Invalidate()
if system.child.isContainer {
system.child.InvalidateLayout() system.child.InvalidateLayout()
}
} }
func (system *system) afterEvent () { func (system *system) afterEvent () {