summaryrefslogtreecommitdiff
path: root/in_practice/breakout/input.h
blob: d5b93065ec625ad71218847d3f5efa3b73a9d0a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef INPUT_H
#define INPUT_H

#include "types.h"

typedef struct {
	i32 last;
	i32 current;
} key_state_t;

typedef struct {
	key_state_t escape;
	key_state_t right;
	key_state_t left;
	key_state_t space;
} input_t;

extern input_t init_input(void);
extern void update_input(input_t *input);
extern i32 key_first_press(key_state_t key);
extern i32 key_is_pressed(key_state_t key);
extern i32 key_was_pressed(key_state_t key);

#endif