[dali_2.3.33] Merge branch 'devel/master'
[platform/core/uifw/dali-core.git] / dali / devel-api / events / key-event-devel.cpp
1 /*\r
2  * Copyright (c) 2023 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 // INTERNAL INCLUDES\r
19 #include <dali/devel-api/events/key-event-devel.h>\r
20 #include <dali/internal/event/events/key-event-impl.h>\r
21 \r
22 namespace Dali\r
23 {\r
24 namespace DevelKeyEvent\r
25 {\r
26 KeyEvent New()\r
27 {\r
28   Internal::KeyEventPtr internal = Internal::KeyEvent::New();\r
29 \r
30   return KeyEvent(internal.Get());\r
31 }\r
32 \r
33 KeyEvent New(const std::string&           keyName,\r
34              const std::string&           logicalKey,\r
35              const std::string&           keyString,\r
36              int                          keyCode,\r
37              int                          keyModifier,\r
38              unsigned long                timeStamp,\r
39              const Dali::KeyEvent::State& keyState,\r
40              const std::string&           compose,\r
41              const std::string&           deviceName,\r
42              const Device::Class::Type    deviceClass,\r
43              const Device::Subclass::Type deviceSubclass)\r
44 {\r
45   Internal::KeyEventPtr internal = Internal::KeyEvent::New(keyName, logicalKey, keyString, keyCode, keyModifier, timeStamp, keyState, compose, deviceName, deviceClass, deviceSubclass);\r
46 \r
47   return KeyEvent(internal.Get());\r
48 }\r
49 \r
50 void SetKeyName(KeyEvent keyEvent, const std::string& keyName)\r
51 {\r
52   GetImplementation(keyEvent).SetKeyName(keyName);\r
53 }\r
54 \r
55 void SetKeyString(KeyEvent keyEvent, const std::string& keyString)\r
56 {\r
57   GetImplementation(keyEvent).SetKeyString(keyString);\r
58 }\r
59 \r
60 void SetKeyCode(KeyEvent keyEvent, int32_t keyCode)\r
61 {\r
62   GetImplementation(keyEvent).SetKeyCode(keyCode);\r
63 }\r
64 \r
65 void SetKeyModifier(KeyEvent keyEvent, int32_t keyModifier)\r
66 {\r
67   GetImplementation(keyEvent).SetKeyModifier(keyModifier);\r
68 }\r
69 \r
70 void SetNoInterceptModifier(KeyEvent keyEvent, bool noIntercept)\r
71 {\r
72   GetImplementation(keyEvent).SetNoInterceptModifier(noIntercept);\r
73 }\r
74 \r
75 void SetTime(KeyEvent keyEvent, unsigned long time)\r
76 {\r
77   GetImplementation(keyEvent).SetTime(time);\r
78 }\r
79 \r
80 void SetState(KeyEvent keyEvent, const KeyEvent::State& state)\r
81 {\r
82   GetImplementation(keyEvent).SetState(state);\r
83 }\r
84 \r
85 void SetRepeat(KeyEvent keyEvent, const bool repeat)\r
86 {\r
87   GetImplementation(keyEvent).SetRepeat(repeat);\r
88 }\r
89 \r
90 void SetWindowId(KeyEvent keyEvent, uint32_t windowId)\r
91 {\r
92   GetImplementation(keyEvent).SetWindowId(windowId);\r
93 }\r
94 \r
95 } // namespace DevelKeyEvent\r
96 \r
97 } // namespace Dali\r