mirror of https://github.com/rivo/tview.git
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
package tview
|
|
|
|
import "github.com/gdamore/tcell"
|
|
|
|
// EventKey is the key input event info.
|
|
// This exists for some consistency with EventMouse,
|
|
// even though it's just an alias to tcell.EventKey for backwards compatibility.
|
|
type EventKey = tcell.EventKey
|
|
|
|
// MouseAction are bit flags indicating what the mouse is logically doing.
|
|
type MouseAction int
|
|
|
|
const (
|
|
MouseDown MouseAction = 1 << iota
|
|
MouseUp
|
|
MouseClick // Button1 only.
|
|
MouseMove // The mouse position changed.
|
|
)
|
|
|
|
// EventMouse is the mouse event info.
|
|
type EventMouse struct {
|
|
*tcell.EventMouse
|
|
target Primitive
|
|
app *Application
|
|
action MouseAction
|
|
}
|
|
|
|
// Target gets the target Primitive of the mouse event.
|
|
func (e *EventMouse) Target() Primitive {
|
|
return e.target
|
|
}
|
|
|
|
// Application gets the event originating *Application.
|
|
func (e *EventMouse) Application() *Application {
|
|
return e.app
|
|
}
|
|
|
|
// MouseAction gets the mouse action of this event.
|
|
func (e *EventMouse) Action() MouseAction {
|
|
return e.action
|
|
}
|
|
|
|
// SetFocus will set focus to the primitive.
|
|
func (e *EventMouse) SetFocus(p Primitive) {
|
|
e.app.SetFocus(p)
|
|
}
|
|
|
|
// NewEventMouse creates a new mouse event.
|
|
func NewEventMouse(base *tcell.EventMouse, target Primitive, app *Application, action MouseAction) *EventMouse {
|
|
return &EventMouse{base, target, app, action}
|
|
}
|