Home | History | Annotate | Download | only in platform
      1 /*
      2  * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions
      6  * are met:
      7  * 1. Redistributions of source code must retain the above copyright
      8  *    notice, this list of conditions and the following disclaimer.
      9  * 2. Redistributions in binary form must reproduce the above copyright
     10  *    notice, this list of conditions and the following disclaimer in the
     11  *    documentation and/or other materials provided with the distribution.
     12  *
     13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
     14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
     17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
     20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
     21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     24  */
     25 
     26 #ifndef ScrollTypes_h
     27 #define ScrollTypes_h
     28 
     29 namespace WebCore {
     30 
     31     enum ScrollDirection {
     32         ScrollUp,
     33         ScrollDown,
     34         ScrollLeft,
     35         ScrollRight
     36     };
     37 
     38     enum ScrollGranularity {
     39         ScrollByLine,
     40         ScrollByPage,
     41         ScrollByDocument,
     42         ScrollByPixel
     43     };
     44 
     45     enum ScrollbarOrientation { HorizontalScrollbar, VerticalScrollbar };
     46 
     47     enum ScrollbarMode { ScrollbarAuto, ScrollbarAlwaysOff, ScrollbarAlwaysOn };
     48 
     49     enum ScrollbarControlSize { RegularScrollbar, SmallScrollbar };
     50 
     51     typedef unsigned ScrollbarControlState;
     52 
     53     enum ScrollbarControlStateMask {
     54         ActiveScrollbarState = 1,
     55         EnabledScrollbarState = 1 << 1,
     56         PressedScrollbarState = 1 << 2,
     57     };
     58 
     59     enum ScrollbarPart {
     60         NoPart = 0,
     61         BackButtonStartPart = 1,
     62         ForwardButtonStartPart = 1 << 1,
     63         BackTrackPart = 1 << 2,
     64         ThumbPart = 1 << 3,
     65         ForwardTrackPart = 1 << 4,
     66         BackButtonEndPart = 1 << 5,
     67         ForwardButtonEndPart = 1 << 6,
     68         ScrollbarBGPart = 1 << 7,
     69         TrackBGPart = 1 << 8,
     70         AllParts = 0xffffffff,
     71     };
     72 
     73     enum ScrollbarButtonsPlacement {
     74         ScrollbarButtonsNone,
     75         ScrollbarButtonsSingle,
     76         ScrollbarButtonsDoubleStart,
     77         ScrollbarButtonsDoubleEnd,
     78         ScrollbarButtonsDoubleBoth
     79     };
     80 
     81     typedef unsigned ScrollbarControlPartMask;
     82 
     83 }
     84 
     85 #endif
     86