void Button::onClick( glm::vec2 pos ) { // check to see if button was click if ( state != DISABLED && isOverButton(pos) ) { state = PRESSED; if ( onClickFunction ) { ServiceLocator::getAudio().playSound( ResourceManager::getPath( "sounds" ) + "button_pressed.wav", GL_FALSE ); onClickFunction(); } } }
bool GuiPushButton::onEventElement(SDL_Event& event) { if (event.type == SDL_MOUSEBUTTONDOWN && event.button.button == SDL_BUTTON_LEFT && hitTest(event.button.x, event.button.y)) { pressed = true; return false; } else if (event.type == SDL_MOUSEBUTTONUP && event.button.button == SDL_BUTTON_LEFT && pressed) { pressed = false; if (hitTest(event.button.x, event.button.y)) { active = !active; onClickFunction(); } return false; } return true; }