Overlays all handle the same events but if a overlay handles the event then the content won't get the event.
This commit is contained in:
parent
0c399a8d93
commit
bcf3093c87
@ -74,11 +74,17 @@ func (o *Overlays) Arrange(ctx Context, bounds geom.RectangleF32, offset geom.Po
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (o *Overlays) Handle(ctx Context, e Event) bool {
|
func (o *Overlays) Handle(ctx Context, e Event) bool {
|
||||||
|
var handled bool
|
||||||
for overlay, visible := range o.visible {
|
for overlay, visible := range o.visible {
|
||||||
if visible {
|
if visible {
|
||||||
o.overlays[overlay].Handle(ctx, e) // ignore handled state on overlays
|
if o.overlays[overlay].Handle(ctx, e) { // handle all overlays regardless of return value
|
||||||
|
handled = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if handled {
|
||||||
|
return true
|
||||||
|
}
|
||||||
return o.Proxy.Handle(ctx, e)
|
return o.Proxy.Handle(ctx, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user