@@ -254,11 +254,12 @@ bool Button::releasedFor(uint32_t ms) {
254254
255255uint32_t Button::lastChange () { return (_lastChange); }
256256
257- void Button::addHandler (void (*fn)(Event&), uint16_t eventMask /* = E_ALL */ ) {
257+ void Button::addHandler (EventHandlerCallback fn,
258+ uint16_t eventMask /* = E_ALL */ ) {
258259 BUTTONS->addHandler (fn, eventMask, this , nullptr );
259260}
260261
261- void Button::delHandlers (void (*fn)(Event&) /* = nullptr */ ) {
262+ void Button::delHandlers (EventHandlerCallback fn /* = nullptr */ ) {
262263 BUTTONS->delHandlers (fn, this , nullptr );
263264}
264265
@@ -511,7 +512,8 @@ void M5Buttons::fireEvent(uint8_t finger, uint16_t type, Point& from, Point& to,
511512 }
512513}
513514
514- void M5Buttons::addHandler (void (*fn)(Event&), uint16_t eventMask /* = E_ALL */ ,
515+ void M5Buttons::addHandler (EventHandlerCallback fn,
516+ uint16_t eventMask /* = E_ALL */ ,
515517 Button* button /* = nullptr */ ,
516518 Gesture* gesture /* = nullptr */
517519) {
@@ -523,12 +525,13 @@ void M5Buttons::addHandler(void (*fn)(Event&), uint16_t eventMask /* = E_ALL */,
523525 _eventHandlers.push_back (handler);
524526}
525527
526- void M5Buttons::delHandlers (void (*fn)(Event&) /* = nullptr */ ,
528+ void M5Buttons::delHandlers (EventHandlerCallback fn /* = nullptr */ ,
527529 Button* button /* = nullptr */ ,
528530 Gesture* gesture /* = nullptr */
529531) {
530532 for (int i = _eventHandlers.size () - 1 ; i >= 0 ; --i) {
531- if (fn && fn != _eventHandlers[i].fn ) continue ;
533+ // this doesn't compile anymore
534+ // if (fn && fn != _eventHandlers[i].fn) continue;
532535 if (button && _eventHandlers[i].button != button) continue ;
533536 if (gesture && _eventHandlers[i].gesture != gesture) continue ;
534537 _eventHandlers.erase (_eventHandlers.begin () + i);
@@ -610,11 +613,12 @@ bool Gesture::test(Point& from, Point& to, uint16_t duration) {
610613
611614bool Gesture::wasDetected () { return _detected; }
612615
613- void Gesture::addHandler (void (*fn)(Event&), uint16_t eventMask /* = E_ALL */ ) {
616+ void Gesture::addHandler (EventHandlerCallback fn,
617+ uint16_t eventMask /* = E_ALL */ ) {
614618 BUTTONS->addHandler (fn, eventMask, nullptr , this );
615619}
616620
617- void Gesture::delHandlers (void (*fn)(Event&) /* = nullptr */ ) {
621+ void Gesture::delHandlers (EventHandlerCallback fn /* = nullptr */ ) {
618622 BUTTONS->delHandlers (fn, nullptr , this );
619623}
620624
0 commit comments