Merge "Fix Ime Rotation" into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiIDragDropEventListener.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 * @file         FUiIDragDropEventListener.h
19 * @brief        This is the header file for the %IDragDropEventListener interface.
20 *
21 * This header file contains the declarations of the %IDragDropEventListener interface.
22 */
23 #ifndef _FUI_IDRAG_DROP_EVENT_LISTENER_H_
24 #define _FUI_IDRAG_DROP_EVENT_LISTENER_H_
25
26 #include <FBaseRtIEventListener.h>
27 #include <FBaseTypes.h>
28 #include <FGraphics.h>
29
30 namespace Tizen { namespace Ui
31 {
32
33 class Control;
34
35 /**
36  * @interface   IDragDropEventListener
37  * @brief               This interface implements the listener for a drag and drop event.
38  *
39  * @since               2.0
40  *
41  * The %IDragDropEventListener interface is the listener interface for receiving drag and drop events.
42  * The class that processes a drag and drop event implements this interface, and the instance created with that class is
43  * registered with a UI control, using the Control::AddDragDropEventListener() method. When the drag and drop event occurs, a
44  * method of that instance is invoked.
45  * @n
46  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/event_listener.htm">Event Listeners</a>.
47  */
48 class _OSP_EXPORT_ IDragDropEventListener
49         : virtual public Tizen::Base::Runtime::IEventListener
50 {
51 // Operation
52 public:
53          //
54          // This method is for internal use only.
55          // Using this method can cause behavioral, security-related, and consistency-related issues in the application.
56          //
57          // This is the destructor for this class.
58          //
59          // @since                      2.0
60          //
61         virtual ~IDragDropEventListener(void) {}
62
63         /**
64          * Called when an entity is dragged.
65          *
66          * @since               2.0
67          *
68          * @param[in]   source                  The source of the event
69          * @param[in]   startPosition   The start position
70          * @param[in]   currentPosition The current position
71          */
72         virtual void OnTouchDragged(const Tizen::Ui::Control& source,
73                 const Tizen::Graphics::Point& startPosition, const Tizen::Graphics::Point& currentPosition) = 0;
74
75         /**
76          * Called when an entity is dropped.
77          *
78          * @since               2.0
79          *
80          * @param[in]   source                  The source of the event
81          * @param[in]   startPosition   The start position
82          * @param[in]   currentPosition The current position
83          */
84         virtual void OnTouchDropped(const Tizen::Ui::Control& source,
85                 const Tizen::Graphics::Point& startPosition, const Tizen::Graphics::Point& currentPosition) = 0;
86
87 protected:
88         // Reserved virtual methods for later extension
89         //
90         // The following methods are reserved and may change its name at any time without prior notice.
91         //
92         virtual void IDragDropEventListener_Reserved1(void) {}
93
94         // Reserved virtual methods for later extension
95         //
96         // The following methods are reserved and may change its name at any time without prior notice.
97         //
98         virtual void IDragDropEventListener_Reserved2(void) {}
99
100         // Reserved virtual methods for later extension
101         //
102         // The following methods are reserved and may change its name at any time without prior notice.
103         //
104         virtual void IDragDropEventListener_Reserved3(void) {}
105 }; // IDragDropEventListener
106
107 } }    // Tizen::Ui
108
109 #endif // _FUI_IDRAG_DROP_EVENT_LISTENER_H_