/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <dali/public-api/events/key-event.h>
// INTERNAL INCLUDES
-#include <dali/devel-api/events/key-event-devel.h>
#include <dali/internal/event/events/key-event-impl.h>
namespace Dali
{
-
-namespace
+KeyEvent::KeyEvent()
+: BaseHandle()
{
-const unsigned int MODIFIER_SHIFT = 0x1;
-const unsigned int MODIFIER_CTRL = 0x2;
-const unsigned int MODIFIER_ALT = 0x4;
-const int KEY_INVALID_CODE = -1;
}
-KeyEvent::KeyEvent()
-: keyPressedName(""),
- keyPressed(""),
- keyCode(KEY_INVALID_CODE),
- keyModifier(0),
- time(0),
- state(KeyEvent::Down)
+KeyEvent::KeyEvent(const KeyEvent& rhs) = default;
+
+KeyEvent::KeyEvent(KeyEvent&& rhs) noexcept = default;
+
+KeyEvent::~KeyEvent() = default;
+
+KeyEvent& KeyEvent::operator=(const KeyEvent& rhs) = default;
+
+KeyEvent& KeyEvent::operator=(KeyEvent&& rhs) noexcept = default;
+
+bool KeyEvent::IsShiftModifier() const
{
- new Internal::KeyEventImpl( this );
+ return GetImplementation(*this).IsShiftModifier();
}
-KeyEvent::KeyEvent(const std::string& keyName, const std::string& keyString, int keyCode, int keyModifier,unsigned long timeStamp, const State& keyState)
-: keyPressedName(keyName),
- keyPressed(keyString),
- keyCode(keyCode),
- keyModifier(keyModifier),
- time(timeStamp),
- state(keyState)
+bool KeyEvent::IsCtrlModifier() const
{
- new Internal::KeyEventImpl( this );
+ return GetImplementation(*this).IsCtrlModifier();
}
-KeyEvent::KeyEvent( const KeyEvent& rhs )
-: keyPressedName( rhs.keyPressedName ),
- keyPressed( rhs.keyPressed ),
- keyCode( rhs.keyCode ),
- keyModifier( rhs.keyModifier ),
- time( rhs.time ),
- state( rhs.state )
+bool KeyEvent::IsAltModifier() const
{
- Internal::KeyEventImpl* impl = new Internal::KeyEventImpl( this );
- *impl = *GetImplementation( &rhs );
+ return GetImplementation(*this).IsAltModifier();
}
-KeyEvent& KeyEvent::operator=( const KeyEvent& rhs )
+const std::string& KeyEvent::GetCompose() const
{
- if( this != &rhs )
- {
- keyPressedName = rhs.keyPressedName;
- keyPressed = rhs.keyPressed;
- keyCode = rhs.keyCode;
- keyModifier = rhs.keyModifier;
- time = rhs.time;
- state = rhs.state;
+ return GetImplementation(*this).GetCompose();
+}
- *GetImplementation( this ) = *GetImplementation( &rhs );
- }
+const std::string& KeyEvent::GetDeviceName() const
+{
+ return GetImplementation(*this).GetDeviceName();
+}
- return *this;
+Device::Class::Type KeyEvent::GetDeviceClass() const
+{
+ return GetImplementation(*this).GetDeviceClass();
}
-KeyEvent::~KeyEvent()
+Device::Subclass::Type KeyEvent::GetDeviceSubclass() const
{
- delete GetImplementation( this );
+ return GetImplementation(*this).GetDeviceSubclass();
}
-bool KeyEvent::IsShiftModifier() const
+const std::string& KeyEvent::GetKeyName() const
{
- if ((MODIFIER_SHIFT & keyModifier) == MODIFIER_SHIFT)
- {
- return true;
- }
+ return GetImplementation(*this).GetKeyName();
+}
- return false;
+const std::string& KeyEvent::GetKeyString() const
+{
+ return GetImplementation(*this).GetKeyString();
}
-bool KeyEvent::IsCtrlModifier() const
+const std::string& KeyEvent::GetLogicalKey() const
{
- if ((MODIFIER_CTRL & keyModifier) == MODIFIER_CTRL)
- {
- return true;
- }
+ return GetImplementation(*this).GetLogicalKey();
+}
- return false;
+int32_t KeyEvent::GetKeyCode() const
+{
+ return GetImplementation(*this).GetKeyCode();
}
-bool KeyEvent::IsAltModifier() const
+int32_t KeyEvent::GetKeyModifier() const
{
- if ((MODIFIER_ALT & keyModifier) == MODIFIER_ALT)
- {
- return true;
- }
+ return GetImplementation(*this).GetKeyModifier();
+}
- return false;
+unsigned long KeyEvent::GetTime() const
+{
+ return GetImplementation(*this).GetTime();
}
-std::string DevelKeyEvent::GetDeviceName( const KeyEvent& keyEvent )
+KeyEvent::State KeyEvent::GetState() const
{
- return GetImplementation( &keyEvent )->GetDeviceName();
+ return GetImplementation(*this).GetState();
}
-DevelKeyEvent::DeviceClass::Type DevelKeyEvent::GetDeviceClass( const KeyEvent& keyEvent )
+KeyEvent::KeyEvent(Internal::KeyEvent* internal)
+: BaseHandle(internal)
{
- return GetImplementation( &keyEvent )->GetDeviceClass();
}
} // namespace Dali