diff options
Diffstat (limited to 'lib/ui/interfaces.go')
-rw-r--r-- | lib/ui/interfaces.go | 9 |
1 files changed, 6 insertions, 3 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() } |