1 #ifndef PLATFORM_IMPLEMENT_WIN_INCLUDE
\r
2 #define PLATFORM_IMPLEMENT_WIN_INCLUDE
\r
5 * Copyright (c) 2018 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
23 #include <dali/public-api/signals/callback.h>
\r
25 typedef bool Eina_Bool;
\r
27 typedef unsigned int winWindow;
\r
28 typedef unsigned int Win_Window_Handle;
\r
29 typedef unsigned int WinPixmap;
\r
40 namespace WindowsPlatformImplement
\r
45 void SetParent(long child, long parent);
\r
47 int GetEdgeHeight();
\r
50 _In_opt_ const char *lpClassName,
\r
51 _In_opt_ const char *lpWindowName,
\r
56 _In_opt_ long parent);
\r
58 typedef void (*winEventCallback)(long hWnd, unsigned int uMsg, long wParam, long lParam);
\r
60 void RemoveListener(int msgType);
\r
62 void AddListener( winEventCallback callback );
\r
63 void AddListener( int msgType, Dali::CallbackBase *callback );
\r
65 bool PostWinMessage(
\r
66 _In_ unsigned int Msg,
\r
69 _In_ long hWnd = 0);
\r
71 void ShowWindow(long hWnd);
\r
72 void HideWindow(long hWnd);
\r
74 long CreateWinSemaphore(_In_ long lInitialCount, _In_ long lMaximumCount);
\r
76 unsigned long WaitForSingleObject(_In_ long hHandle, _In_ unsigned long dwMilliseconds);
\r
78 bool ReleaseSemaphore(_In_ long hSemaphore, _In_ long lReleaseCount, _Out_opt_ long *lpPreviousCount);
\r
80 typedef void(*timerCallback)(void *data);
\r
82 int SetTimer(int interval, timerCallback callback, void *data);
\r
84 void KillTimer(int id);
\r
86 void GetDPI( float &xDpi, float &yDpi );
\r
88 const char* GetKeyName( int keyCode );
\r
90 long GetCurrentThreadId();
\r
92 void GetNanoseconds( uint64_t& timeInNanoseconds );
\r
94 unsigned int GetCurrentMilliSeconds( void );
\r
96 } // namespace WindowsPlatformImplement
98 } // namespace Adaptor
100 } // namespace internal
104 #endif // WIN32_WINDOWS_SYSTEM_INCLUDE
\r