aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ui/invalidatable.go
blob: fc354bdedf286a5f0439070ade1b9422d643e4e3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package ui

import (
	"sync/atomic"
)

type Invalidatable struct {
	onInvalidate atomic.Value
}

func (i *Invalidatable) OnInvalidate(f func(d Drawable)) {
	i.onInvalidate.Store(f)
}

func (i *Invalidatable) DoInvalidate(d Drawable) {
	atomic.StoreInt32(&dirty, DIRTY)
}