X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fevents%2Fkey-event-processor.cpp;h=8fd110158d1bba6a617d61808d9c2da57397ed52;hb=72c0c0343aa6a83940a726946b237c132f32890f;hp=399c209b43f521d2922230be6f6c7ff447dcc7f0;hpb=7cd83f52b8fd45e3c8089016b1b6b871d5b79d68;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/events/key-event-processor.cpp b/dali/internal/event/events/key-event-processor.cpp old mode 100755 new mode 100644 index 399c209..8fd1101 --- a/dali/internal/event/events/key-event-processor.cpp +++ b/dali/internal/event/events/key-event-processor.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -19,38 +19,37 @@ #include // INTERNAL INCLUDES -#include -#include -#include -#include #include +#include +#include +#include namespace Dali { - namespace Internal { - -KeyEventProcessor::KeyEventProcessor( Scene& scene ) -: mScene( scene ) +KeyEventProcessor::KeyEventProcessor(Scene& scene) +: mScene(scene) { } -KeyEventProcessor::~KeyEventProcessor() -{ -} +KeyEventProcessor::~KeyEventProcessor() = default; -void KeyEventProcessor::ProcessKeyEvent( const Integration::KeyEvent& event ) +void KeyEventProcessor::ProcessKeyEvent(const Integration::KeyEvent& event) { - KeyEvent keyEvent(event.keyName, event.keyString, event.keyCode, event.keyModifier, event.time, static_cast(event.state)); - GetImplementation( &keyEvent )->SetLogicalKey( event.logicalKey ); - GetImplementation( &keyEvent )->SetCompose( event.compose ); - GetImplementation( &keyEvent )->SetDeviceName( event.deviceName ); - GetImplementation( &keyEvent )->SetDeviceClass( event.deviceClass ); - GetImplementation( &keyEvent )->SetDeviceSubclass( event.deviceSubclass ); + KeyEventPtr keyEvent(new KeyEvent(event.keyName, event.logicalKey, event.keyString, event.keyCode, event.keyModifier, event.time, static_cast(event.state), event.compose, event.deviceName, event.deviceClass, event.deviceSubclass)); + Dali::KeyEvent keyEventHandle(keyEvent.Get()); // Emit the key event signal from the scene. - mScene.EmitKeyEventSignal( keyEvent ); + bool consumed = mScene.EmitInterceptKeyEventSignal(keyEventHandle); + if(!consumed) + { + consumed = mScene.EmitKeyEventGeneratedSignal(keyEventHandle); + } + if(!consumed) + { + mScene.EmitKeyEventSignal(keyEventHandle); + } } } // namespace Internal