mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-04 00:45:35 +00:00
all: [API] deliver events one at a time to allow fine-grained event processing
Processing one event at a time allows a widget to execute commands after the event that triggered it, instead of after all matching events. Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
+5
-1
@@ -163,7 +163,11 @@ func (b *Clickable) Update(gtx layout.Context) []Click {
|
||||
if b.focused {
|
||||
filters = append(filters, key.Filter{Name: key.NameReturn}, key.Filter{Name: key.NameSpace})
|
||||
}
|
||||
for _, e := range gtx.Events(&b.keyTag, filters...) {
|
||||
for {
|
||||
e, ok := gtx.Event(&b.keyTag, filters...)
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
switch e := e.(type) {
|
||||
case key.FocusEvent:
|
||||
b.focused = e.Focus
|
||||
|
||||
Reference in New Issue
Block a user