Ejemplo n.º 1
0
void PageView::update(float dt)
{
    if (_isAutoScrolling)
    {
        switch (_autoScrollDir)
        {
            case 0:
            {
                float step = _autoScrollSpeed*dt;
                if (_autoScrollDistance + step >= 0.0f)
                {
                    step = -_autoScrollDistance;
                    _autoScrollDistance = 0.0f;
                    _isAutoScrolling = false;
                }
                else
                {
                    _autoScrollDistance += step;
                }
                scrollPages(-step);
                if (!_isAutoScrolling)
                {
                    pageTurningEvent();
                }
                break;
            }
                break;
            case 1:
            {
                float step = _autoScrollSpeed*dt;
                if (_autoScrollDistance - step <= 0.0f)
                {
                    step = _autoScrollDistance;
                    _autoScrollDistance = 0.0f;
                    _isAutoScrolling = false;
                }
                else
                {
                    _autoScrollDistance -= step;
                }
                scrollPages(step);
                if (!_isAutoScrolling)
                {
                    pageTurningEvent();
                }
                break;
            }
            default:
                break;
        }
    }
}
Ejemplo n.º 2
0
void PageView::autoScroll(float dt)
    {
        switch (_autoScrollDirection)
        {
            case AutoScrollDirection::LEFT:
            {
                float step = _autoScrollSpeed*dt;
                if (_autoScrollDistance + step >= 0.0f)
                {
                    step = -_autoScrollDistance;
                    _autoScrollDistance = 0.0f;
                    _isAutoScrolling = false;
                }
                else
                {
                    _autoScrollDistance += step;
                }
                scrollPages(-step);
                if (!_isAutoScrolling)
                {
                    pageTurningEvent();
                }
                break;
            }
                break;
            case AutoScrollDirection::RIGHT:
            {
                float step = _autoScrollSpeed*dt;
                if (_autoScrollDistance - step <= 0.0f)
                {
                    step = _autoScrollDistance;
                    _autoScrollDistance = 0.0f;
                    _isAutoScrolling = false;
                }
                else
                {
                    _autoScrollDistance -= step;
                }
                scrollPages(step);
                
                if (!_isAutoScrolling)
                {
                    pageTurningEvent();
                }
                
                break;
            }
            default:
                break;
        }

    }
Ejemplo n.º 3
0
void UIPageView::update(float dt)
{
    if (m_bIsAutoScrolling)
    {
        switch (m_nAutoScrollDir)
        {
        case 0:
        {
            float step = m_fAutoScrollSpeed*dt;
            if (m_fAutoScrollDistance + step >= 0.0f)
            {
                step = -m_fAutoScrollDistance;
                m_fAutoScrollDistance = 0.0f;
                m_bIsAutoScrolling = false;
                pageTurningEvent();
            }
            else
            {
                m_fAutoScrollDistance += step;
            }
            scrollPages(-step);
            break;
        }
        break;
        case 1:
        {
            float step = m_fAutoScrollSpeed*dt;
            if (m_fAutoScrollDistance - step <= 0.0f)
            {
                step = m_fAutoScrollDistance;
                m_fAutoScrollDistance = 0.0f;
                m_bIsAutoScrolling = false;
                pageTurningEvent();
            }
            else
            {
                m_fAutoScrollDistance -= step;
            }
            scrollPages(step);
            break;
        }
        default:
            break;
        }
    }
}