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();
		}
	}
}
Example #2
0
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;
}