From 45acc0d895e10292386e1dc2fb61bf7f1a47cf01 Mon Sep 17 00:00:00 2001 From: Oliver <480930+rivo@users.noreply.github.com> Date: Sat, 10 Mar 2018 23:30:42 +0100 Subject: [PATCH] Added getters for some callback functions. Resolves #65 --- application.go | 18 ++++++++++++++++++ box.go | 12 ++++++++++++ 2 files changed, 30 insertions(+) diff --git a/application.go b/application.go index 15911b1..b423e6c 100644 --- a/application.go +++ b/application.go @@ -59,6 +59,12 @@ func (a *Application) SetInputCapture(capture func(event *tcell.EventKey) *tcell return a } +// GetInputCapture returns the function installed with SetInputCapture() or nil +// if no such function has been installed. +func (a *Application) GetInputCapture() func(event *tcell.EventKey) *tcell.EventKey { + return a.inputCapture +} + // Run starts the application and thus the event loop. This function returns // when Stop() was called. func (a *Application) Run() error { @@ -214,6 +220,12 @@ func (a *Application) SetBeforeDrawFunc(handler func(screen tcell.Screen) bool) return a } +// GetBeforeDrawFunc returns the callback function installed with +// SetBeforeDrawFunc() or nil if none has been installed. +func (a *Application) GetBeforeDrawFunc() func(screen tcell.Screen) bool { + return a.beforeDraw +} + // SetAfterDrawFunc installs a callback function which is invoked after the root // primitive was drawn during screen updates. // @@ -223,6 +235,12 @@ func (a *Application) SetAfterDrawFunc(handler func(screen tcell.Screen)) *Appli return a } +// GetAfterDrawFunc returns the callback function installed with +// SetAfterDrawFunc() or nil if none has been installed. +func (a *Application) GetAfterDrawFunc() func(screen tcell.Screen) { + return a.afterDraw +} + // SetRoot sets the root primitive for this application. If "fullscreen" is set // to true, the root primitive's position will be changed to fill the screen. // diff --git a/box.go b/box.go index 72875f1..547945b 100644 --- a/box.go +++ b/box.go @@ -124,6 +124,12 @@ func (b *Box) SetDrawFunc(handler func(screen tcell.Screen, x, y, width, height return b } +// GetDrawFunc returns the callback function which was installed with +// SetDrawFunc() or nil if no such function has been installed. +func (b *Box) GetDrawFunc() func(screen tcell.Screen, x, y, width, height int) (int, int, int, int) { + return b.draw +} + // wrapInputHandler wraps an input handler (see InputHandler()) with the // functionality to capture input (see SetInputCapture()) before passing it // on to the provided (default) input handler. @@ -155,6 +161,12 @@ func (b *Box) SetInputCapture(capture func(event *tcell.EventKey) *tcell.EventKe return b } +// GetInputCapture returns the function installed with SetInputCapture() or nil +// if no such function has been installed. +func (b *Box) GetInputCapture() func(event *tcell.EventKey) *tcell.EventKey { + return b.inputCapture +} + // SetBackgroundColor sets the box's background color. func (b *Box) SetBackgroundColor(color tcell.Color) *Box { b.backgroundColor = color