#include "jinput.h" #include #include "jdraw.h" namespace input { static const uint8_t *keys = nullptr; static uint8_t keypressed = 0; static uint8_t keydown = 0; static uint8_t btnClicked = 0; static int screen_zoom = 1; void init(const int zoom) { keys = SDL_GetKeyboardState(NULL); screen_zoom = zoom; } // Determina si la tecla especificada està sent polsada ara mateix bool keyDown(const uint8_t key) { return keys[key]; } // Determina si la tecla especificada ha sigut polsada, pero no tornarà a ser true fins bool keyPressed(const uint8_t key) { return key == keypressed; } // Determina si hi ha alguna tecla polsada ara mateix bool anyKey() { return keydown != 0; } // Torna el codi de la tecla que està sent polsada ara mateix const uint8_t whichKey() { return keydown; } void updateKey(uint8_t key) { keydown = key; } void updateKeypressed(uint8_t key) { keypressed = key; } void updateClk(uint8_t btn) { btnClicked = btn; } int mouseX() { int x; SDL_GetMouseState(&x, NULL); return x/screen_zoom; } int mouseY() { int y; SDL_GetMouseState(NULL, &y); return y/screen_zoom; } bool mouseBtn(int btn) { return (SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(btn)); } bool mouseClk(int btn) { return btnClicked == btn; } }