void Button::handle(const SDL_Event& e) { if (e.type == SDL_MOUSEMOTION) { int x = e.motion.x; int y = e.motion.y; if (x < entityProperties.getXpos() || x > entityProperties.getXpos() + entityProperties.getWidth()) { mouseIsOver = false; return; } if (y < entityProperties.getYpos() || y > entityProperties.getYpos() + entityProperties.getHeight()) { mouseIsOver = false; return; } mouseIsOver = true; } if (e.type == SDL_MOUSEBUTTONDOWN && e.button.button == SDL_BUTTON_LEFT && mouseIsOver) { triggerClick(); } }
bool Button::keyPressed (const KeyPress& key) { if (isEnabled() && key.isKeyCode (KeyPress::returnKey)) { triggerClick(); return true; } return false; }