/
event.go
84 lines (74 loc) · 1.32 KB
/
event.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package zero
// #include <SDL2/SDL.h>
import "C"
type KeyCode C.int
// Events
var (
EventInit = func() {}
EventQuit = func() {}
EventDraw = func() {}
EventUpdate = func() {}
EventKeyDown = func(KeyCode) {}
EventKeyUp = func(KeyCode) {}
)
// KeyCodes
const (
// Letters
K_A = C.SDLK_a
K_B = C.SDLK_b
K_C = C.SDLK_c
K_D = C.SDLK_d
K_E = C.SDLK_e
K_F = C.SDLK_f
K_G = C.SDLK_g
K_H = C.SDLK_h
K_I = C.SDLK_i
K_J = C.SDLK_j
K_K = C.SDLK_k
K_L = C.SDLK_l
K_M = C.SDLK_m
K_N = C.SDLK_n
K_O = C.SDLK_o
K_P = C.SDLK_p
K_Q = C.SDLK_q
K_R = C.SDLK_r
K_S = C.SDLK_s
K_T = C.SDLK_t
K_U = C.SDLK_u
K_V = C.SDLK_v
K_W = C.SDLK_w
K_X = C.SDLK_x
K_Y = C.SDLK_y
K_Z = C.SDLK_z
// Arrows
K_Right = C.SDLK_RIGHT
K_Left = C.SDLK_LEFT
K_Down = C.SDLK_DOWN
K_Up = C.SDLK_UP
// Common keys
K_Backspace = C.SDLK_BACKSPACE
K_Escape = C.SDLK_ESCAPE
K_LShift = C.SDLK_LSHIFT
K_Return = C.SDLK_RETURN
K_RShift = C.SDLK_RSHIFT
K_Space = C.SDLK_SPACE
K_Tab = C.SDLK_TAB
)
//export eventQuit
func eventQuit() {
EventQuit()
}
//export eventDraw
func eventDraw() {
EventUpdate()
EventDraw()
C.SDL_RenderPresent(renderer)
}
//export eventKeyDown
func eventKeyDown(key C.int) {
EventKeyDown(KeyCode(key))
}
//export eventKeyUp
func eventKeyUp(key C.int) {
EventKeyUp(KeyCode(key))
}