[Tizen] Add codes for Dali Windows Backend
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / windows / event-system-win.cpp
1 #include <dali/internal/window-system/windows/event-system-win.h>\r
2 #include <map>\r
3 \r
4 using namespace std;\r
5 \r
6 namespace Dali\r
7 {\r
8 \r
9 namespace Internal\r
10 {\r
11 \r
12 namespace Adaptor\r
13 {\r
14 \r
15 struct TCallbackInfo\r
16 {\r
17     TCallbackInfo(EventCallback callback, void* handler)\r
18     {\r
19         this->callback = callback;\r
20         this->handler = handler;\r
21     }\r
22 \r
23     EventCallback callback;\r
24     void* handler;\r
25 };\r
26 \r
27 map<int, TCallbackInfo*> eventTypeToCallbackInfo;\r
28 \r
29 Event_Handler event_handler_add(int eventType, EventCallback callback, void* handler)\r
30 {\r
31     eventTypeToCallbackInfo.insert(make_pair(eventType, new TCallbackInfo(callback, handler)));\r
32     return eventType;\r
33 }\r
34 \r
35 void event_handler_del(Event_Handler handler)\r
36 {\r
37     map<int, TCallbackInfo*>::iterator x = eventTypeToCallbackInfo.find(handler);\r
38 \r
39     if (eventTypeToCallbackInfo.end() != x)\r
40     {\r
41         delete x->second;\r
42         eventTypeToCallbackInfo.erase( handler );\r
43     }\r
44 }\r
45 \r
46 void* GetEventHandler(int eventType)\r
47 {\r
48     map<int, TCallbackInfo*>::iterator x = eventTypeToCallbackInfo.find(eventType);\r
49 \r
50     if (eventTypeToCallbackInfo.end() != x)\r
51     {\r
52         return x->second->handler; \r
53     }\r
54     else\r
55     {\r
56         return NULL;\r
57     }\r
58 }\r
59 \r
60 EventCallback GetCallback(int eventType)\r
61 {\r
62     map<int, TCallbackInfo*>::iterator x = eventTypeToCallbackInfo.find(eventType);\r
63 \r
64     if (eventTypeToCallbackInfo.end() != x)\r
65     {\r
66         return x->second->callback;\r
67     }\r
68     else\r
69     {\r
70         return NULL;\r
71     }\r
72 }\r
73
74 } // namespace Adaptor
75
76 } // namespace internal
77
78 } // namespace Dali