\r
// EXTERNAL_HEADERS\r
#include <stdint.h>\r
+#include <string>\r
#include <dali/public-api/signals/callback.h>\r
\r
-typedef uint64_t WinWindowHandle;\r
+typedef uintptr_t WinWindowHandle;\r
typedef uint64_t WinPixmap;\r
\r
namespace Dali\r
namespace Adaptor\r
{\r
\r
-namespace WindowsPlatformImplementation\r
+namespace WindowsPlatform\r
{\r
\r
-void RunLoop();\r
+bool PostWinThreadMessage(\r
+ _In_ uint32_t Msg,\r
+ _In_ uint64_t wParam,\r
+ _In_ uint64_t lParam,\r
+ _In_ uint64_t threadID = -1 );\r
+\r
+using timerCallback = bool(*)(void *data);\r
+\r
+intptr_t SetTimer(int interval, timerCallback callback, void *data);\r
+\r
+void KillTimer(intptr_t id);\r
+\r
+std::string GetKeyName( int keyCode );\r
+\r
+uint64_t GetCurrentThreadId();\r
+\r
+void GetNanoseconds( uint64_t& timeInNanoseconds );\r
+\r
+unsigned int GetCurrentMilliSeconds( void );\r
+\r
+class WindowImpl\r
+{\r
+public:\r
+ static const uint32_t STYLE;\r
+ static const int32_t EDGE_WIDTH;\r
+ static const int32_t EDGE_HEIGHT;\r
\r
-int GetEdgeHeight();\r
+ WindowImpl();\r
\r
-int GetColorDepth();\r
+ virtual ~WindowImpl();\r
\r
-uint64_t CreateHwnd(\r
- _In_opt_ const char *lpClassName,\r
+ static void ProcWinMessage( uint64_t hWnd, uint32_t uMsg, uint64_t wParam, uint64_t lParam );\r
+\r
+ static uint64_t CreateHwnd(\r
_In_opt_ const char *lpWindowName,\r
_In_ int X,\r
_In_ int Y,\r
_In_ int nWidth,\r
_In_ int nHeight,\r
- _In_opt_ uint64_t parent);\r
-\r
-void SetListener( CallbackBase *callback );\r
-\r
-bool PostWinMessage(\r
- _In_ uint32_t Msg,\r
- _In_ uint32_t wParam,\r
- _In_ uint64_t lParam,\r
- _In_ uint64_t hWnd);\r
-\r
-bool PostWinThreadMessage(\r
- _In_ uint32_t Msg,\r
- _In_ uint32_t wParam,\r
- _In_ uint64_t lParam,\r
- _In_ uint64_t threadID = -1 );\r
+ _In_opt_ uint64_t parent );\r
\r
-void ShowWindow( uint64_t hWnd );\r
-void HideWindow( uint64_t hWnd );\r
-\r
-using timerCallback = bool(*)(void *data);\r
+ static void DestroyHWnd(uint64_t hWnd);\r
\r
-int SetTimer(int interval, timerCallback callback, void *data);\r
+ void GetDPI( float &xDpi, float &yDpi );\r
\r
-void KillTimer(int id);\r
+ int GetColorDepth();\r
\r
-void GetDPI( uint64_t hWnd, float &xDpi, float &yDpi );\r
+ void SetListener( CallbackBase *callback );\r
\r
-int GetOrientation() const;\r
+ bool PostWinMessage(\r
+ _In_ uint32_t Msg,\r
+ _In_ uint64_t wParam,\r
+ _In_ uint64_t lParam );\r
\r
-const char* GetKeyName( int keyCode );\r
+ void SetHWND(uint64_t inHWnd);\r
+ void SetWinProc();\r
\r
-uint64_t GetCurrentThreadId();\r
+protected:\r
\r
-void GetNanoseconds( uint64_t& timeInNanoseconds );\r
+private:\r
+ int colorDepth;\r
+ uint64_t mHWnd; // no ownership, managed outside\r
+ uint64_t mHdc;\r
\r
-unsigned int GetCurrentMilliSeconds( void );\r
+ CallbackBase *listener;\r
+};\r
\r
} // namespace WindowsPlatformImplement\r
\r