Merge "FontClient - Do not resize cache vectors to size one." into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / internal / system / windows / callback-manager-win.cpp
1 /*\r
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  *\r
16  */\r
17 \r
18 // CLASS HEADER\r
19 #include <dali/internal/system/windows/callback-manager-win.h>\r
20 \r
21 // EXTERNAL INCLUDES\r
22 #include <dali/integration-api/debug.h>\r
23 #include <Windows.h>\r
24 \r
25 // INTERNAL INCLUDES\r
26 #include <dali/internal/window-system/windows/platform-implement-win.h>\r
27 \r
28 namespace Dali\r
29 {\r
30 \r
31 namespace Internal\r
32 {\r
33 \r
34 namespace Adaptor\r
35 {\r
36 \r
37 WinCallbackManager::WinCallbackManager()\r
38 :mRunning(false)\r
39 {\r
40 }\r
41 \r
42 void WinCallbackManager::Start()\r
43 {\r
44   DALI_ASSERT_DEBUG( mRunning == false );\r
45   mRunning = true;\r
46 }\r
47 \r
48 void WinCallbackManager::Stop()\r
49 {\r
50   // make sure we're not called twice\r
51   DALI_ASSERT_DEBUG( mRunning == true );\r
52 \r
53   mRunning = false;\r
54 }\r
55 \r
56 bool WinCallbackManager::AddIdleCallback( CallbackBase* callback, bool hasReturnValue )\r
57 {\r
58   if( !mRunning )\r
59   {\r
60     return false;\r
61   }\r
62 \r
63   WindowsPlatformImplementation::PostWinThreadMessage( WIN_CALLBACK_EVENT, reinterpret_cast<uint64_t>(callback), 0 );\r
64   return true;\r
65 }\r
66 \r
67 void WinCallbackManager::RemoveIdleCallback( CallbackBase* callback )\r
68 {\r
69   //Wait for deal\r
70 }\r
71 \r
72 bool WinCallbackManager::AddIdleEntererCallback( CallbackBase* callback )\r
73 {\r
74   return AddIdleCallback( callback, true );\r
75 }\r
76 \r
77 void WinCallbackManager::RemoveIdleEntererCallback( CallbackBase* callback )\r
78 {\r
79 \r
80 }\r
81 \r
82 // Creates a concrete interface for CallbackManager\r
83 CallbackManager* CallbackManager::New()\r
84 {\r
85   return new WinCallbackManager;\r
86 }\r
87 \r
88 } // namespace Adaptor\r
89 \r
90 } // namespace Internal\r
91 \r
92 } // namespace Dali\r