#pragma once #include namespace input { namespace mouse { namespace button { const int left = 1; const int middle = 2; const int right = 3; } } /// @brief Inicialitza els sistemes de teclat, ratolí i gamepad void init(const int zoom); /// @brief Determina si la tecla especificada està sent polsada ara mateix /// @param key tecla a consultar /// @return true si està polsada, false si no bool keyDown(const uint8_t key); /// @brief Determina si la tecla especificada ha sigut polsada, pero no tornarà a ser true fins /// @brief que no se solte la tecla i se torne a polsar. /// @param key tecla a consultar /// @return true si està polsada, false si no bool keyPressed(const uint8_t key); /// @brief Determina si hi ha alguna tecla polsada ara mateix /// @return true si hi ha alguna tecla polsada, false si no bool anyKey(); /// @brief El equivalent a anykey per a keypressed /// @return true si hi ha alguna tecla polsada, false si no bool anyKeyPressed(); /// @brief Torna el codi de la tecla que està sent polsada ara mateix /// @return Quina tecla està sent polsada const uint8_t whichKey(); /// @brief Torna el codi de la tecla que està sent polsada ara mateix /// @brief (nomes una vegada, com keypress) /// @return Quina tecla està sent polsada const uint8_t getKeyPressed(); /// @brief (US INTERN) Actualitza la tecla actualment polsada (keydown) desde jgame /// @param key tecla polsada void updateKey(const uint8_t key); /// @brief (US INTERN) Actualitza la tecla actualment polsada (keypress) desde jgame /// @param key tecla polsada void updateKeypressed(const uint8_t key); /// @brief (US INTERN) Actualitza el botó del ratolí actualment polsat desde jgame /// @param btn botó polsat void updateClk(const uint8_t btn); /// @brief (US INTERN) Actualitza el valor de la roda del ratolí actual desde jgame /// @param dy desplaçament de la rodeta void updateWheel(const int dy); /// @brief Torna la posició X actual del ratolí /// @return valor de la coordenada X del ratolí const int mouseX(); /// @brief Torna la posició Y actual del ratolí /// @return valor de la coordenada Y del ratolí const int mouseY(); /// @brief Determina si el botó del ratolí especificat està sent polsada ara mateix /// @brief (Equivalent a keydown en tecles) /// @param btn botó a consultar /// @return true si està polsat, false si no const bool mouseBtn(const int btn); /// @brief Determina si el botó especificat ha sigut polsat, pero no tornarà a ser true fins /// @brief que no se solte el botó i se torne a polsar (Equivalent a keypress en tecles). /// @param btn botó a consultar /// @return true si està polsat, false si no const bool mouseClk(const int btn); /// @brief Obté el valor actual de la rodeta del ratolí /// @return 0 si no es mou, positiu si roda cap amunt, negatiu si roda cap avall const int mouseWheel(); }