ginebra2/Kinetics/KineticScrollable.h
changeset 9 b39122337a00
equal deleted inserted replaced
7:a1f515018ac1 9:b39122337a00
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 *
       
     5 * This program is free software: you can redistribute it and/or modify
       
     6 * it under the terms of the GNU Lesser General Public License as published by
       
     7 * the Free Software Foundation, version 2.1 of the License.
       
     8 *
       
     9 * This program is distributed in the hope that it will be useful,
       
    10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12 * GNU Lesser General Public License for more details.
       
    13 *
       
    14 * You should have received a copy of the GNU Lesser General Public License
       
    15 * along with this program.  If not,
       
    16 * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
       
    17 *
       
    18 * Description:
       
    19 *
       
    20 */
       
    21 
       
    22 #ifndef KineticScrollable_h
       
    23 #define KineticScrollable_h
       
    24 
       
    25 #include <QSize>
       
    26 #include <QPoint>
       
    27 
       
    28 namespace GVA {
       
    29 
       
    30 class KineticScrollable {
       
    31 
       
    32 public:
       
    33     enum State {
       
    34         Inactive,
       
    35         Pushing,
       
    36         AutoScrolling
       
    37     };
       
    38 
       
    39     virtual QSize viewportSize() const = 0;
       
    40     virtual QPoint maximumScrollPosition() const = 0;
       
    41     virtual QPoint scrollPosition() const = 0;
       
    42     virtual void setScrollPosition(const QPoint& pos, const QPoint& overshootDelta) = 0;
       
    43     virtual void stateChanged(KineticScrollable::State oldState, KineticScrollable::State newState) = 0;
       
    44 };
       
    45 
       
    46 } //namespace GVA
       
    47 
       
    48 #endif //KineticScrollable_h