Adjust the position of the partial Frame
[platform/framework/native/uifw.git] / inc / FUiCtrlIScrollEventListenerF.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FUiCtrlIScrollEventListenerF.h
20  * @brief       This is the header file for the %IScrollEventListenerF interface.
21  *
22  * This header file contains the declarations of the %IScrollEventListenerF interface. @n
23  * If a change event is generated, a method of this interface is called. @n
24  * The applications that perform tasks related to the change events, call the methods of this interface.
25  *
26  */
27 #ifndef _FUI_CTRL_ISCROLL_EVENT_LISTENER_F_H_
28 #define _FUI_CTRL_ISCROLL_EVENT_LISTENER_F_H_
29
30 #include <FBaseRtIEventListener.h>
31 #include <FUiCtrlScrollEventTypes.h>
32
33 namespace Tizen { namespace Ui
34 {
35 class Control;
36 }}      // Tizen::Ui
37
38 namespace Tizen {namespace Ui { namespace Controls
39 {
40
41 /**
42  * @interface   IScrollEventListenerF
43  * @brief       This interface implements a listener for scroll events.
44  *
45  * @since       2.1
46  *
47  * The %IScrollEventListenerF interface is the listener interface for receiving scroll events.
48  * The class that processes a scroll event implements this interface, and the instance created with that class is registered with
49  * a UI control, using the control's AddScrollEventListener() method. When the scroll event occurs, the OnScrollEndReached()
50  * method of that instance is invoked.
51  *
52  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_panels.htm">Panels</a> and <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_listviews.htm">ListViews</a>.
53  */
54 class _OSP_EXPORT_ IScrollEventListenerF
55         : public Tizen::Base::Runtime::IEventListener
56 {
57 // Operation
58 public:
59         /**
60          * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes are called when the destructor of this interface is called.
61          *
62          * @since 2.1
63          *
64          */
65         virtual ~IScrollEventListenerF(void) {}
66
67         /**
68          * Called when the scroll reaches the top, bottom, left or right end.
69          *
70          * @since           2.1
71          *
72          * @param[in]           source        The source of the event
73          * @param[in]           type          The type of scroll end event
74          */
75         virtual void OnScrollEndReached(Tizen::Ui::Control& source, Tizen::Ui::Controls::ScrollEndEvent type) = 0;
76
77         /**
78          * Called continuously when the control is being scrolled.
79          *
80          * @since 2.1
81          *
82          *@param[in]               source        The control being scrolled
83          *@param[in]               scrollPosition     The scrolled position
84          */
85         virtual void OnScrollPositionChanged(Tizen::Ui::Control& source, float scrollPosition) = 0;
86
87         /**
88          * Called when the control's scroll movement has come to a stop.
89          *
90          * @since 2.1
91          *
92          * @param[in]               source        The control being scrolled
93          */
94         virtual void OnScrollStopped(Tizen::Ui::Control& source) = 0;
95
96 protected:
97         //
98         // This method is for internal use only.
99         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
100         //
101         // This method is reserved and may change its name at any time without prior notice.
102         //
103         virtual void ScrollEventListener_Reserved1(void) {}
104
105         //
106         // This method is for internal use only.
107         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
108         //
109         // This method is reserved and may change its name at any time without prior notice.
110         //
111         virtual void ScrollEventListener_Reserved2(void) {}
112
113         //
114         // This method is for internal use only.
115         // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
116         //
117         // This method is reserved and may change its name at any time without prior notice.
118         //
119         virtual void ScrollEventListener_Reserved3(void) {}
120
121 }; // IScrollEventListenerF
122
123 }}}     // Tizen::Ui::Controls
124
125 #endif // _FUI_CTRL_ISCROLL_EVENT_LISTENER_F_H_