[dali_2.3.33] Merge branch 'devel/master'
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / ubuntu-x11 / window-system-ecore-x.cpp
1 /*
2  * Copyright (c) 2024 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // INTERNAL HEADERS
19 #include <dali/devel-api/adaptor-framework/keyboard.h>
20 #include <dali/internal/window-system/common/window-system.h>
21
22 // EXTERNAL_HEADERS
23 #include <dali/integration-api/adaptor-framework/adaptor.h>
24 #include <dali/integration-api/adaptor-framework/scene-holder.h>
25 #include <dali/integration-api/debug.h>
26 #include <dali/internal/system/linux/dali-ecore-x.h>
27
28 namespace Dali
29 {
30 namespace Internal
31 {
32 namespace Adaptor
33 {
34 namespace WindowSystem
35 {
36 namespace
37 {
38 static bool gGeometryHittest = false;
39 } // unnamed namespace
40
41 void Initialize()
42 {
43   ecore_x_init(NULL);
44 }
45
46 void Shutdown()
47 {
48   ecore_x_shutdown();
49 }
50
51 void GetScreenSize(int32_t& width, int32_t& height)
52 {
53   ecore_x_screen_size_get(ecore_x_default_screen_get(), &width, &height);
54 }
55
56 void UpdateScreenSize()
57 {
58 }
59
60 bool SetKeyboardRepeatInfo(float rate, float delay)
61 {
62   return false;
63 }
64
65 bool GetKeyboardRepeatInfo(float& rate, float& delay)
66 {
67   return false;
68 }
69
70 bool SetKeyboardHorizontalRepeatInfo(float rate, float delay)
71 {
72   return false;
73 }
74
75 bool GetKeyboardHorizontalRepeatInfo(float& rate, float& delay)
76 {
77   return false;
78 }
79
80 bool SetKeyboardVerticalRepeatInfo(float rate, float delay)
81 {
82   return false;
83 }
84
85 bool GetKeyboardVerticalRepeatInfo(float& rate, float& delay)
86 {
87   return false;
88 }
89
90 void SetGeometryHittestEnabled(bool enable)
91 {
92   DALI_LOG_RELEASE_INFO("GeometryHittest : %d \n", enable);
93   if(gGeometryHittest != enable && Dali::Adaptor::IsAvailable())
94   {
95     Dali::SceneHolderList sceneHolders = Dali::Adaptor::Get().GetSceneHolders();
96     for(auto iter = sceneHolders.begin(); iter != sceneHolders.end(); ++iter)
97     {
98       if(*iter)
99       {
100         (*iter).SetGeometryHittestEnabled(enable);
101       }
102     }
103   }
104   gGeometryHittest = enable;
105 }
106
107 bool IsGeometryHittestEnabled()
108 {
109   return gGeometryHittest;
110 }
111
112 } // namespace WindowSystem
113
114 } // namespace Adaptor
115
116 } // namespace Internal
117
118 } // namespace Dali
119
120 #pragma GCC diagnostic pop