Exemple #1
0
bool Events::unregisterEvent(Events::eventHandler *handler) {
	if (handler->type == event_input) {
		if (!findOther(event_input, handler->inputSpec.pin, handler->id)) {
			disableInputInterrupt(handler->inputSpec.interrupt);
			setInputHandler(handler->inputSpec.interrupt, 0);
		}
	}

	handler->type = event_free;
	return true;
}
Exemple #2
0
Events::eventHandler *Events::registerInput(byte input, byte mode, Events::eventCallback callback, void *data) {
	Events::eventHandler *result = registerEvent(event_input, callback, data);
	if (result == 0) {
		return 0;
	}

	result->inputSpec.interrupt = INTERRUPT_FOR_PIN(input);
	if (result->inputSpec.interrupt == -1) {
		return 0;
	}
	result->inputSpec.pin = input;
	result->inputSpec.mode = mode;

	if (!findOther(event_input, result->inputSpec.pin, result->id)) {
		setInputHandler(result->inputSpec.interrupt, inputHandler);
		enableInputInterrupt(result->inputSpec.interrupt, mode);
	}

	return result;
}
void MarbleWidgetPrivate::setInputHandler()
{
    setInputHandler(new MarbleWidgetInputHandler(this, m_widget));
}
Exemple #4
0
InputHandler::~InputHandler() {
	if (_inputHandler == this)
		setInputHandler(_nextHandler);
}
Exemple #5
0
void MarbleWidgetPrivate::setInputHandler()
{
    setInputHandler( new MarbleWidgetInputHandler( &m_presenter, m_widget ) );
}