N_SE-47263 : reset touch cancel when indicator touch released/N_SE-51832 : fix checki...
[platform/framework/native/uifw.git] / inc / FUiIDragDropEventListenerF.h
1
2 //
3 // Open Service Platform
4 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 //
6 // Licensed under the Apache License, Version 2.0 (the License);
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
9 //
10 //     http://www.apache.org/licenses/LICENSE-2.0/
11 //
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
17 //
18 /**
19 * @file         FUiIDragDropEventListenerF.h
20 * @brief        This is the header file for the %IDragDropEventListenerF interface.
21 *
22 * This header file contains the declarations of the %IDragDropEventListenerF interface.
23 */
24 #ifndef _FUI_IDRAG_DROP_EVENT_LISTENERF_H_
25 #define _FUI_IDRAG_DROP_EVENT_LISTENERF_H_
26
27 #include <FBaseRtIEventListener.h>
28 #include <FBaseTypes.h>
29 #include <FGraphics.h>
30
31 namespace Tizen { namespace Ui
32 {
33
34 class Control;
35
36 /**
37  * @interface   IDragDropEventListenerF
38  * @brief               This interface implements the listener for a drag and drop event.
39  *
40  * @since               2.1
41  *
42  * The %IDragDropEventListenerF interface is the listener interface for receiving drag and drop events.
43  * The class that processes a drag and drop event implements this interface, and the instance created with that class is
44  * registered with a UI control, using the control's AddDragDropEventListenerF() method. When the drag and drop event occurs, a
45  * method of that instance is invoked.
46  * @n
47  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/event_listener.htm">Event Listeners</a>.
48  */
49 class _OSP_EXPORT_ IDragDropEventListenerF
50         : virtual public Tizen::Base::Runtime::IEventListener
51 {
52 // Operation
53 public:
54          //
55          // This method is for internal use only.
56          // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
57          //
58          // This is the destructor for this class.
59          //
60          // @since                      2.1
61          //
62         virtual ~IDragDropEventListenerF(void) {}
63
64         /**
65          * Called when an entity is dragged.
66          *
67          * @since               2.1
68          *
69          * @param[in]   source                  The source of the event
70          * @param[in]   startPosition   The start position
71          * @param[in]   currentPosition The current position
72          */
73         virtual void OnTouchDraggedF(const Tizen::Ui::Control& source,
74                 const Tizen::Graphics::FloatPoint& startPosition, const Tizen::Graphics::FloatPoint& currentPosition) = 0;
75
76         /**
77          * Called when an entity is dropped.
78          *
79          * @since               2.1
80          *
81          * @param[in]   source                  The source of the event
82          * @param[in]   startPosition   The start position
83          * @param[in]   currentPosition The current position
84          */
85         virtual void OnTouchDroppedF(const Tizen::Ui::Control& source,
86                 const Tizen::Graphics::FloatPoint& startPosition, const Tizen::Graphics::FloatPoint& currentPosition) = 0;
87
88 protected:
89         // Reserved virtual methods for later extension
90         //
91         // The following methods are reserved and may change its name at any time without prior notice.
92         //
93         virtual void IDragDropEventListenerF_Reserved1(void) {}
94
95         // Reserved virtual methods for later extension
96         //
97         // The following methods are reserved and may change its name at any time without prior notice.
98         //
99         virtual void IDragDropEventListenerF_Reserved2(void) {}
100
101         // Reserved virtual methods for later extension
102         //
103         // The following methods are reserved and may change its name at any time without prior notice.
104         //
105         virtual void IDragDropEventListenerF_Reserved3(void) {}
106 }; // IDragDropEventListenerF
107
108 } }    // Tizen::Ui
109
110 #endif // _FUI_IDRAG_DROP_EVENT_LISTENERF_H_