Example #1
0
 */bool TouchButton::checkButton(const int aTouchPositionX, const int aTouchPositionY, const bool doCallback) {
    if ((mFlags & FLAG_IS_ACTIVE) && mOnTouchHandler != NULL && checkButtonInArea(aTouchPositionX, aTouchPositionY)) {
        /*
         *  Touch position is in button - call callback function
         */
        if (doCallback) {
            mOnTouchHandler(this, mValue);
        }
        return true;
    }
    return false;
}
/**
 * Check if touch event is in button area
 * if yes - call callback function and return true
 * if no - return false
 */
bool TouchButton::checkButton(uint16_t aTouchPositionX, uint16_t aTouchPositionY) {
    if ((mFlags & FLAG_IS_ACTIVE) && mOnTouchHandler != NULL && checkButtonInArea(aTouchPositionX, aTouchPositionY)) {
        /*
         *  Touch position is in button - call callback function
         */
        if (mFlags & BUTTON_FLAG_DO_BEEP_ON_TOUCH) {
            FeedbackToneOK();
        }
#ifdef REMOTE_DISPLAY_SUPPORTED
        if ((mFlags & FLAG_USE_BDBUTTON_FOR_CALLBACK)
                && (&TouchButtonAutorepeat::autorepeatTouchHandler
                        != (void (*)(TouchButtonAutorepeat *, int16_t)) mOnTouchHandler)) {
            mOnTouchHandler((TouchButton *) this->mBDButtonPtr, mValue);
        } else {
            mOnTouchHandler(this, mValue);
        }
#else
        mOnTouchHandler(this, mValue);
#endif
        return true;
    }
    return false;
}