mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2025-02-03 15:17:04 -05:00
60e6fcb7ac
* moved filter constants back to d2enum * moving key and mouse button enums into d2enum * moving render type enum into d2enum * moving input even priority enums into d2enum * moving terminal enums into d2enum
102 lines
1.8 KiB
Go
102 lines
1.8 KiB
Go
package d2input
|
|
|
|
import (
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum"
|
|
)
|
|
|
|
// HandlerEvent is an event that EventHandlers will process and respond to
|
|
type HandlerEvent struct {
|
|
keyMod d2enum.KeyMod
|
|
buttonMod d2enum.MouseButtonMod
|
|
x int
|
|
y int
|
|
}
|
|
|
|
// KeyMod yields the modifier for a key action
|
|
func (e *HandlerEvent) KeyMod() d2enum.KeyMod {
|
|
return e.keyMod
|
|
}
|
|
|
|
// ButtonMod yields the modifier for a button action
|
|
func (e *HandlerEvent) ButtonMod() d2enum.MouseButtonMod {
|
|
return e.buttonMod
|
|
}
|
|
|
|
// X returns the x screen coordinate for the event
|
|
func (e *HandlerEvent) X() int {
|
|
return e.x
|
|
}
|
|
|
|
//Y returns the y screen coordinate for the event
|
|
func (e *HandlerEvent) Y() int {
|
|
return e.y
|
|
}
|
|
|
|
type KeyCharsEvent struct {
|
|
HandlerEvent
|
|
chars []rune
|
|
}
|
|
|
|
func (e *KeyCharsEvent) Chars() []rune {
|
|
return e.chars
|
|
}
|
|
|
|
type KeyEvent struct {
|
|
HandlerEvent
|
|
key d2enum.Key
|
|
// Duration represents the number of frames this key has been pressed for
|
|
duration int
|
|
}
|
|
|
|
func (e *KeyEvent) Key() d2enum.Key {
|
|
return e.key
|
|
}
|
|
func (e *KeyEvent) Duration() int {
|
|
return e.duration
|
|
}
|
|
|
|
type MouseEvent struct {
|
|
HandlerEvent
|
|
mouseButton d2enum.MouseButton
|
|
}
|
|
|
|
func (e *MouseEvent) KeyMod() d2enum.KeyMod {
|
|
return e.HandlerEvent.keyMod
|
|
}
|
|
|
|
func (e *MouseEvent) ButtonMod() d2enum.MouseButtonMod {
|
|
return e.HandlerEvent.buttonMod
|
|
}
|
|
|
|
func (e *MouseEvent) X() int {
|
|
return e.HandlerEvent.x
|
|
}
|
|
|
|
func (e *MouseEvent) Y() int {
|
|
return e.HandlerEvent.y
|
|
}
|
|
|
|
func (e *MouseEvent) Button() d2enum.MouseButton {
|
|
return e.mouseButton
|
|
}
|
|
|
|
type MouseMoveEvent struct {
|
|
HandlerEvent
|
|
}
|
|
|
|
func (e *MouseMoveEvent) KeyMod() d2enum.KeyMod {
|
|
return e.HandlerEvent.keyMod
|
|
}
|
|
|
|
func (e *MouseMoveEvent) ButtonMod() d2enum.MouseButtonMod {
|
|
return e.HandlerEvent.buttonMod
|
|
}
|
|
|
|
func (e *MouseMoveEvent) X() int {
|
|
return e.HandlerEvent.x
|
|
}
|
|
|
|
func (e *MouseMoveEvent) Y() int {
|
|
return e.HandlerEvent.y
|
|
}
|