widget: report whether Value changed after Enum.Update and Bool.Update

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-05-05 11:33:41 +02:00
parent 05efb9b5f4
commit f08568a6df
2 changed files with 10 additions and 4 deletions
+5 -2
View File
@@ -14,8 +14,10 @@ type Bool struct {
gesture gesture.Click
}
// Update the checked state according to incoming events.
func (b *Bool) Update(gtx *layout.Context) {
// Update the checked state according to incoming events,
// and reports whether Value changed.
func (b *Bool) Update(gtx *layout.Context) bool {
was := b.Value
for _, e := range b.gesture.Events(gtx) {
switch e.Type {
case gesture.TypeClick:
@@ -26,6 +28,7 @@ func (b *Bool) Update(gtx *layout.Context) {
b.Value = !b.Value
}
}
return b.Value != was
}
func (b *Bool) Layout(gtx *layout.Context) {