30 lines
606 B
Go
30 lines
606 B
Go
package allg5
|
|
|
|
// #include <allegro5/allegro.h>
|
|
import "C"
|
|
|
|
type MouseButton uint
|
|
|
|
const (
|
|
MouseButtonLeft MouseButton = 1
|
|
MouseButtonRight = 2
|
|
MouseButtonMiddle = 3
|
|
)
|
|
|
|
func IsMouseButtonDown(b MouseButton) bool {
|
|
var state C.ALLEGRO_MOUSE_STATE
|
|
C.al_get_mouse_state(&state)
|
|
return bool(C.al_mouse_button_down(&state, C.int(b)))
|
|
}
|
|
|
|
func IsAnyMouseButtonDown(buttons ...MouseButton) bool {
|
|
var state C.ALLEGRO_MOUSE_STATE
|
|
C.al_get_mouse_state(&state)
|
|
for _, b := range buttons {
|
|
if bool(C.al_mouse_button_down(&state, C.int(b))) {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|