diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-03-30 08:36:16 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-03-31 06:50:33 +0200 |
| commit | 45337576dff70a3b5991b79d0fe13420110b3594 (patch) | |
| tree | d3f18d3d92a9da8c7d2dd9e596b44eb579cf368c /src/mouse | |
| parent | 82c61e3d1d97c6e829bfbe0e35539abfe75d1380 (diff) | |
| download | rts-45337576dff70a3b5991b79d0fe13420110b3594.tar.gz | |
Implement touch controls
Diffstat (limited to 'src/mouse')
| -rw-r--r-- | src/mouse/inc/mouse.h | 3 | ||||
| -rw-r--r-- | src/mouse/sdl-1.2/src/mouse.c | 4 | ||||
| -rw-r--r-- | src/mouse/src/mouse.c | 5 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/mouse/inc/mouse.h b/src/mouse/inc/mouse.h index a4b4044..60b63d3 100644 --- a/src/mouse/inc/mouse.h +++ b/src/mouse/inc/mouse.h @@ -16,12 +16,13 @@ enum mouse_button struct mouse { - short x, y; + short x, y, dx, dy; int mask, oldmask; }; void mouse_init(struct mouse *m); void mouse_update(struct mouse *m); +bool mouse_pressed(const struct mouse *m, enum mouse_button b); bool mouse_justpressed(const struct mouse *m, enum mouse_button b); bool mouse_justreleased(const struct mouse *m, enum mouse_button b); diff --git a/src/mouse/sdl-1.2/src/mouse.c b/src/mouse/sdl-1.2/src/mouse.c index a0a6d90..cee4549 100644 --- a/src/mouse/sdl-1.2/src/mouse.c +++ b/src/mouse/sdl-1.2/src/mouse.c @@ -39,6 +39,7 @@ static void mouse_event(const SDL_MouseMotionEvent *const ev, void mouse_update(struct mouse *const m) { + const short x = m->x, y = m->y; SDL_Event ev; int n; @@ -71,6 +72,9 @@ void mouse_update(struct mouse *const m) } } + m->dx = m->x - x; + m->dy = m->y - y; + end: if (n < 0) diff --git a/src/mouse/src/mouse.c b/src/mouse/src/mouse.c index 5f5c059..bec978d 100644 --- a/src/mouse/src/mouse.c +++ b/src/mouse/src/mouse.c @@ -1,6 +1,11 @@ #include <mouse.h> #include <stdbool.h> +bool mouse_pressed(const struct mouse *const m, const enum mouse_button b) +{ + return m->mask & (1 << b); +} + bool mouse_justpressed(const struct mouse *const m, const enum mouse_button b) { |
