diff options
Diffstat (limited to 'lib/ui')
| -rw-r--r-- | lib/ui/interfaces.go | 9 | ||||
| -rw-r--r-- | lib/ui/ui.go | 2 | 
2 files changed, 7 insertions, 4 deletions
| diff --git a/lib/ui/interfaces.go b/lib/ui/interfaces.go index d27afe2..0cdffc1 100644 --- a/lib/ui/interfaces.go +++ b/lib/ui/interfaces.go @@ -4,12 +4,15 @@ import (  	"github.com/gdamore/tcell"  ) +// Drawable is a UI component that can draw. Unless specified, all methods must +// only be called from a single goroutine, the UI goroutine.  type Drawable interface { -	// Called when this renderable should draw itself +	// Called when this renderable should draw itself.  	Draw(ctx *Context) -	// Specifies a function to call when this cell needs to be redrawn +	// Specifies a function to call when this cell needs to be redrawn. The +	// callback may be called in any goroutine.  	OnInvalidate(callback func(d Drawable)) -	// Invalidates the drawable +	// Invalidates the drawable. This can be called from any goroutine.  	Invalidate()  } diff --git a/lib/ui/ui.go b/lib/ui/ui.go index 9d9a5da..91a26da 100644 --- a/lib/ui/ui.go +++ b/lib/ui/ui.go @@ -10,7 +10,7 @@ import (  type UI struct {  	Content DrawableInteractive -	exit    atomic.Value +	exit    atomic.Value // bool  	ctx     *Context  	screen  tcell.Screen | 
