Visuals devel API migrated to public
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / scrollable / scroll-view / scroll-view-devel.h
1 #ifndef DALI_TOOLKIT_SCROLL_VIEW_DEVEL_H
2 #define DALI_TOOLKIT_SCROLL_VIEW_DEVEL_H
3
4 /*
5  * Copyright (c) 2017 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 namespace DevelScrollView
31 {
32
33 namespace Property
34 {
35
36 enum
37 {
38   // Event side properties
39
40   WRAP_ENABLED = Dali::Toolkit::ScrollView::Property::WRAP_ENABLED,
41   PANNING_ENABLED = Dali::Toolkit::ScrollView::Property::PANNING_ENABLED,
42   AXIS_AUTO_LOCK_ENABLED = Dali::Toolkit::ScrollView::Property::AXIS_AUTO_LOCK_ENABLED,
43   WHEEL_SCROLL_DISTANCE_STEP = Dali::Toolkit::ScrollView::Property::WHEEL_SCROLL_DISTANCE_STEP,
44
45   /**
46    * @brief The scroll mode
47    * @details Name "scrollMode", type Property::MAP
48    * The scroll mode map is a frontend for the Ruler helper class, containing the following keys:
49    *
50    * | %Property Name       | Type     | Required | Description                                                                                                                           |
51    * |----------------------|----------|----------|---------------------------------------------------------------------------------------------------------------------------------------|
52    * | xAxisScrollEnabled   | BOOLEAN  | No       | True if the content can be scrolled in X axis or false if not.                                                                        |
53    * | xAxisSnapToInterval  | FLOAT    | No       | When set, causes scroll view to snap to multiples of the value of the interval in the X axis while flicking. (by default no snapping) |
54    * | xAxisScrollBoundary  | FLOAT    | No       | When set, causes scroll view unable to scroll beyond the value of the boundary in the X axis (by default no boundary)                 |
55    * | yAxisScrollEnabled   | BOOLEAN  | No       | True if the content can be scrolled in Y axis or false if not.                                                                        |
56    * | yAxisSnapToInterval  | FLOAT    | No       | When set, causes scroll view to snap to multiples of the value of the interval in the Y axis while flicking. (by default no snapping) |
57    * | yAxisScrollBoundary  | FLOAT    | No       | When set, causes scroll view unable to scroll beyond the value of the boundary in the Y axis (by default no boundary)                 |
58    *
59    * Alternatively, one can use the keys defined in the Dali::Toolkit::ScrollMode::Type enumeration.
60    */
61   SCROLL_MODE = WHEEL_SCROLL_DISTANCE_STEP + 1,
62 };
63
64 } // namespace Property
65
66 } // namespace DevelScrollView
67
68 } // namespace Toolkit
69
70 } // namespace Dali
71
72 #endif // DALI_TOOLKIT_SCROLL_VIEW_DEVEL_H