[SRUK] Initial copy from Tizen 2.2 version
[platform/core/uifw/dali-core.git] / dali / public-api / events / key-event.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 // CLASS HEADER
18 #include <dali/public-api/events/key-event.h>
19
20 namespace Dali
21 {
22
23 namespace
24 {
25 const unsigned int MODIFIER_SHIFT = 0x1;
26 const unsigned int MODIFIER_CTRL  = 0x2;
27 const unsigned int MODIFIER_ALT   = 0x4;
28 const int KEY_INVALID_CODE = -1;
29
30 }
31
32 KeyEvent::KeyEvent()
33 : keyPressedName(""),
34   keyPressed(""),
35   keyCode(KEY_INVALID_CODE),
36   keyModifier(0),
37   cursorOffset(0),
38   numberOfChars(0),
39   state(KeyEvent::Down)
40 {
41 }
42
43 KeyEvent::KeyEvent(const std::string& keyName, const std::string& keyPressed, const int& keyModifier, const int& offset, const int& characters, const State& keyState)
44 : keyPressedName(keyName),
45   keyPressed(keyPressed),
46   keyCode(KEY_INVALID_CODE),
47   keyModifier(keyModifier),
48   cursorOffset(offset),
49   numberOfChars(characters),
50   time(0),
51   state(keyState)
52 {
53 }
54
55 KeyEvent::KeyEvent(const std::string& keyName, const std::string& keyString, const int& keyCode, const int& keyModifier, const int& cursorOffset, const int& numberOfChars, const State& keyState)
56 : keyPressedName(keyName),
57   keyPressed(keyString),
58   keyCode(keyCode),
59   keyModifier(keyModifier),
60   cursorOffset(cursorOffset),
61   numberOfChars(numberOfChars),
62   time(0),
63   state(keyState)
64 {
65 }
66
67 KeyEvent::KeyEvent(const std::string& keyName, const std::string& keyString, const int& keyCode, const int& keyModifier, const int& cursorOffset, const int& numberOfChars, const unsigned long& timeStamp, const State& keyState)
68 : keyPressedName(keyName),
69   keyPressed(keyString),
70   keyCode(keyCode),
71   keyModifier(keyModifier),
72   cursorOffset(cursorOffset),
73   numberOfChars(numberOfChars),
74   time(timeStamp),
75   state(keyState)
76 {
77 }
78
79 KeyEvent::~KeyEvent()
80 {
81 }
82
83 bool KeyEvent::IsShiftModifier() const
84 {
85   if ((MODIFIER_SHIFT & keyModifier) == MODIFIER_SHIFT)
86   {
87     return true;
88   }
89
90   return false;
91 }
92
93 bool KeyEvent::IsCtrlModifier() const
94 {
95   if ((MODIFIER_CTRL & keyModifier) == MODIFIER_CTRL)
96   {
97     return true;
98   }
99
100   return false;
101 }
102
103 bool KeyEvent::IsAltModifier() const
104 {
105   if ((MODIFIER_ALT & keyModifier) == MODIFIER_ALT)
106   {
107     return true;
108   }
109
110   return false;
111 }
112
113 } // namespace Dali