Ejemplo n.º 1
0
bool ScrollBar::keyPressed (const KeyPress& key)
{
    if (! isVisible())
        return false;

    if (key.isKeyCode (KeyPress::upKey)
         || key.isKeyCode (KeyPress::leftKey))          moveScrollbarInSteps (-1);
    else if (key.isKeyCode (KeyPress::downKey)
              || key.isKeyCode (KeyPress::rightKey))    moveScrollbarInSteps (1);
    else if (key.isKeyCode (KeyPress::pageUpKey))       moveScrollbarInPages (-1);
    else if (key.isKeyCode (KeyPress::pageDownKey))     moveScrollbarInPages (1);
    else if (key.isKeyCode (KeyPress::homeKey))         scrollToTop();
    else if (key.isKeyCode (KeyPress::endKey))          scrollToBottom();
    else                                                return false;

    return true;
}
Ejemplo n.º 2
0
void ScrollBar::mouseDown (const MouseEvent& e)
{
    isDraggingThumb = false;
    lastMousePos = vertical ? e.y : e.x;
    dragStartMousePos = lastMousePos;
    dragStartRange = visibleRange.getStart();

    if (dragStartMousePos < thumbStart)
    {
        moveScrollbarInPages (-1);
        startTimer (400);
    }
    else if (dragStartMousePos >= thumbStart + thumbSize)
    {
        moveScrollbarInPages (1);
        startTimer (400);
    }
    else
    {
        isDraggingThumb = (thumbAreaSize > getLookAndFeel().getMinimumScrollbarThumbSize (*this))
                            && (thumbAreaSize > thumbSize);
    }
}