[Tizen] Add codes for Dali Windows Backend
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / windows / display-connection-impl-win.h
1 #ifndef DALI_INTERNAL_WIN_DIPLAY_CONNECTION_H\r
2 #define DALI_INTERNAL_WIN_DIPLAY_CONNECTION_H\r
3 \r
4 /*\r
5  * Copyright (c) 2015 Samsung Electronics Co., Ltd.\r
6  *\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  *\r
11  * http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  *\r
19  */\r
20 \r
21 // INTERNAL INCLUDES\r
22 #include <dali/internal/window-system/common/display-connection-impl.h>\r
23 #include <dali/public-api/object/base-object.h>\r
24 #include <dali/internal/graphics/gles20/egl-implementation.h>\r
25 \r
26 namespace Dali\r
27 {\r
28 \r
29 class RenderSurface;\r
30 class DisplayConnection;\r
31 \r
32 namespace Internal\r
33 {\r
34 \r
35 namespace Adaptor\r
36 {\r
37 \r
38 /**\r
39  * DisplayConnection implementation\r
40  */\r
41 class DisplayConnectionWin : public Dali::Internal::Adaptor::DisplayConnection\r
42 {\r
43 public:\r
44 \r
45   /**\r
46    * @brief Default constructor\r
47    */\r
48   DisplayConnectionWin();\r
49 \r
50   /**\r
51    * @brief Create an initialized DisplayConnection.\r
52    *\r
53    * @return A handle to a newly allocated DisplayConnection resource.\r
54    */\r
55   static DisplayConnection* New();\r
56 \r
57 public:\r
58 \r
59   /**\r
60    * @copydoc Dali::DisplayConnection::GetDisplay\r
61    */\r
62   Any GetDisplay();\r
63 \r
64   /**\r
65    * @copydoc Dali::DisplayConnection::ConsumeEvents\r
66    */\r
67   void ConsumeEvents();\r
68 \r
69   /**\r
70    * @copydoc Dali::DisplayConnection::InitializeEgl\r
71    */\r
72   bool InitializeEgl(EglInterface& egl);\r
73 \r
74   void SetSurfaceType( RenderSurface::Type type );\r
75 \r
76 public:\r
77 \r
78   /**\r
79    * Destructor\r
80    */\r
81   virtual ~DisplayConnectionWin();\r
82 \r
83 protected:\r
84 \r
85   // Undefined\r
86   DisplayConnectionWin(const DisplayConnectionWin&) = delete;\r
87 \r
88   // Undefined\r
89   DisplayConnectionWin& operator=(const DisplayConnectionWin& rhs) = delete;\r
90 \r
91 private:\r
92     HDC mDisplay;\r
93 };\r
94 \r
95 } // namespace Adaptor\r
96 \r
97 } // namespace internal\r
98 \r
99 } // namespace Dali\r
100 \r
101 #endif // DALI_INTERNAL_WIN_DIPLAY_CONNECTION_H\r