Skip to content
Snippets Groups Projects
ButtonEventDispatcher.cpp 710 B
Newer Older
Christian Werner's avatar
Christian Werner committed
#include "ButtonEventDispatcher.hpp"
Christian Werner's avatar
Christian Werner committed

ButtonEventDispatcher::ButtonEventDispatcher()
:callbackFuncPtr{}
{}

void ButtonEventDispatcher::Dispatch(const ButtonEvent& e) const {
	for (size_t i = 0 ; i < capacity; i++) {
		if (callbackFuncPtr[i]) callbackFuncPtr[i](e);
	}
}
void ButtonEventDispatcher::RegisterButtonHandler(void (*handler)(const ButtonEvent& e)) {
	for (size_t i = 0 ; i < capacity; i++) {
		if (!callbackFuncPtr[i]) {
			callbackFuncPtr[i] = handler;
            break;
		}
	}
}
void ButtonEventDispatcher::UnregisterButtonHandler(void (*handler)(const ButtonEvent& e)) {
	for (size_t i = 0 ; i < capacity; i++) {
		if (callbackFuncPtr[i] == handler) {
			callbackFuncPtr[i] = nullptr;
		}
	}
}