diff options
author | kdx <kikoodx@paranoici.org> | 2023-06-06 00:39:18 +0200 |
---|---|---|
committer | kdx <kikoodx@paranoici.org> | 2023-06-06 00:39:18 +0200 |
commit | 9d111b8b3a03513bfb15349036c9a9e3465bc865 (patch) | |
tree | f6d68ab1b76483e7094238d4c2a03dc940a09b98 | |
parent | 70b965771d71876d63c3e760aadf23188a3942e3 (diff) | |
download | tzr-9d111b8b3a03513bfb15349036c9a9e3465bc865.tar.gz |
complete mouse API
-rw-r--r-- | headers/TZR_mouse.h | 8 | ||||
-rw-r--r-- | sources/TZR_MouseDown.c | 8 | ||||
-rw-r--r-- | sources/TZR_MouseGetState.c | 7 | ||||
-rw-r--r-- | sources/TZR_MousePressed.c | 7 | ||||
-rw-r--r-- | sources/TZR_MouseReleased.c | 7 | ||||
-rw-r--r-- | sources/TZR_MouseUp.c | 8 |
6 files changed, 45 insertions, 0 deletions
diff --git a/headers/TZR_mouse.h b/headers/TZR_mouse.h index bca21a3..517c34f 100644 --- a/headers/TZR_mouse.h +++ b/headers/TZR_mouse.h @@ -1,3 +1,11 @@ #pragma once +#include "TZR_types.h" +/* `x` and `y` are out values and nullable. */ void TZR_MouseGetPosition(int *x, int *y); + +TZR_KeyState TZR_MouseGetState(uint8_t button); +bool TZR_MouseDown(uint8_t button); +bool TZR_MouseUp(uint8_t button); +bool TZR_MouseReleased(uint8_t button); +bool TZR_MousePressed(uint8_t button); diff --git a/sources/TZR_MouseDown.c b/sources/TZR_MouseDown.c new file mode 100644 index 0000000..a36f46c --- /dev/null +++ b/sources/TZR_MouseDown.c @@ -0,0 +1,8 @@ +#include "TZR_mouse.h" + +bool +TZR_MouseDown(uint8_t button) +{ + const TZR_KeyState state = TZR_MouseGetState(button); + return (state == TZR_KEYSTATE_DOWN || state == TZR_KEYSTATE_PRESS); +} diff --git a/sources/TZR_MouseGetState.c b/sources/TZR_MouseGetState.c new file mode 100644 index 0000000..dad4be2 --- /dev/null +++ b/sources/TZR_MouseGetState.c @@ -0,0 +1,7 @@ +#include "TZR_globals.h" + +TZR_KeyState +TZR_MouseGetState(uint8_t button) +{ + return ___tzr_mousestates[button]; +} diff --git a/sources/TZR_MousePressed.c b/sources/TZR_MousePressed.c new file mode 100644 index 0000000..d59c066 --- /dev/null +++ b/sources/TZR_MousePressed.c @@ -0,0 +1,7 @@ +#include "TZR_mouse.h" + +bool +TZR_MousePressed(uint8_t button) +{ + return (TZR_MouseGetState(button) == TZR_KEYSTATE_PRESS); +} diff --git a/sources/TZR_MouseReleased.c b/sources/TZR_MouseReleased.c new file mode 100644 index 0000000..2bd8311 --- /dev/null +++ b/sources/TZR_MouseReleased.c @@ -0,0 +1,7 @@ +#include "TZR_mouse.h" + +bool +TZR_MouseReleased(uint8_t button) +{ + return (TZR_MouseGetState(button) == TZR_KEYSTATE_RELEASE); +} diff --git a/sources/TZR_MouseUp.c b/sources/TZR_MouseUp.c new file mode 100644 index 0000000..645f323 --- /dev/null +++ b/sources/TZR_MouseUp.c @@ -0,0 +1,8 @@ +#include "TZR_mouse.h" + +bool +TZR_MouseUp(uint8_t button) +{ + const TZR_KeyState state = TZR_MouseGetState(button); + return (state == TZR_KEYSTATE_UP || state == TZR_KEYSTATE_RELEASE); +} |