You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.4 KiB
63 lines
2.4 KiB
package cview |
|
|
|
import "github.com/gdamore/tcell/v2" |
|
|
|
// Primitive is the top-most interface for all graphical primitives. |
|
type Primitive interface { |
|
// Draw draws this primitive onto the screen. Implementers can call the |
|
// screen's ShowCursor() function but should only do so when they have focus. |
|
// (They will need to keep track of this themselves.) |
|
Draw(screen tcell.Screen) |
|
|
|
// GetRect returns the current position of the primitive, x, y, width, and |
|
// height. |
|
GetRect() (int, int, int, int) |
|
|
|
// SetRect sets a new position of the primitive. |
|
SetRect(x, y, width, height int) |
|
|
|
// GetVisible returns whether or not the primitive is visible. |
|
GetVisible() bool |
|
|
|
// SetVisible sets whether or not the primitive is visible. |
|
SetVisible(v bool) |
|
|
|
// InputHandler returns a handler which receives key events when it has focus. |
|
// It is called by the Application class. |
|
// |
|
// A value of nil may also be returned, in which case this primitive cannot |
|
// receive focus and will not process any key events. |
|
// |
|
// The handler will receive the key event and a function that allows it to |
|
// set the focus to a different primitive, so that future key events are sent |
|
// to that primitive. |
|
// |
|
// The Application's Draw() function will be called automatically after the |
|
// handler returns. |
|
// |
|
// The Box class provides functionality to intercept keyboard input. If you |
|
// subclass from Box, it is recommended that you wrap your handler using |
|
// Box.WrapInputHandler() so you inherit that functionality. |
|
InputHandler() func(event *tcell.EventKey, setFocus func(p Primitive)) |
|
|
|
// Focus is called by the application when the primitive receives focus. |
|
// Implementers may call delegate() to pass the focus on to another primitive. |
|
Focus(delegate func(p Primitive)) |
|
|
|
// Blur is called by the application when the primitive loses focus. |
|
Blur() |
|
|
|
// GetFocusable returns the item's Focusable. |
|
GetFocusable() Focusable |
|
|
|
// MouseHandler returns a handler which receives mouse events. |
|
// It is called by the Application class. |
|
// |
|
// A value of nil may also be returned to stop the downward propagation of |
|
// mouse events. |
|
// |
|
// The Box class provides functionality to intercept mouse events. If you |
|
// subclass from Box, it is recommended that you wrap your handler using |
|
// Box.WrapMouseHandler() so you inherit that functionality. |
|
MouseHandler() func(action MouseAction, event *tcell.EventMouse, setFocus func(p Primitive)) (consumed bool, capture Primitive) |
|
}
|
|
|