@Override
  protected void executeOnScrollFinishListeners(
      TouchEvent pSceneTouchEvent, float pOffsetX, float pOffsetY) {
    super.executeOnScrollFinishListeners(pSceneTouchEvent, pOffsetX, pOffsetY);

    if (mSlidingDirection != Direction.NONE) {
      if (mListener instanceof ISlideDetectorListener)
        ((ISlideDetectorListener) mListener)
            .onSlideEnd(pSceneTouchEvent, pOffsetX, pOffsetY, mSlidingDirection);

      mSlidingDirection = Direction.NONE;
    }
  }
  @Override
  protected void executeOnScrollListeners(
      TouchEvent pSceneTouchEvent, float pOffsetX, float pOffsetY) {
    super.executeOnScrollListeners(pSceneTouchEvent, pOffsetX, pOffsetY);

    if (mListener instanceof ISlideDetectorListener) {
      ((ISlideDetectorListener) mListener)
          .onSlide(
              pSceneTouchEvent,
              (mSlidingDirection != Direction.TOP && mSlidingDirection != Direction.BOTTOM)
                  ? pOffsetX
                  : mFixedPos,
              (mSlidingDirection != Direction.LEFT && mSlidingDirection != Direction.RIGHT)
                  ? pOffsetY
                  : mFixedPos,
              mSlidingDirection);
    }
  }