X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Faccessibility%2Fbridge%2Faccessible.cpp;h=dc0fca248dd993d93840017ad6aa078cd08819b7;hb=92b27f0387165cef0c0cc3278e7c208c7eb5c4bd;hp=fb75de86dd7cf8a601bf87ee61131b045bf95c99;hpb=cb3eac000069a449cc32987911322d91ffdf9b57;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/accessibility/bridge/accessible.cpp b/dali/internal/accessibility/bridge/accessible.cpp index fb75de8..dc0fca2 100644 --- a/dali/internal/accessibility/bridge/accessible.cpp +++ b/dali/internal/accessibility/bridge/accessible.cpp @@ -18,47 +18,67 @@ // CLASS HEADER //INTERNAL INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include using namespace Dali::Accessibility; -std::vector Accessible::GetInterfaces() +std::vector Accessible::GetInterfaces() const { std::vector tmp; tmp.push_back(AtspiDbusInterfaceAccessible); - if(dynamic_cast(this)) + if(dynamic_cast(this)) { tmp.push_back(AtspiDbusInterfaceCollection); } - if(dynamic_cast(this)) + if(dynamic_cast(this)) { tmp.push_back(AtspiDbusInterfaceText); } - if(dynamic_cast(this)) + if(dynamic_cast(this)) { tmp.push_back(AtspiDbusInterfaceEditableText); } - if(dynamic_cast(this)) + if(dynamic_cast(this)) { tmp.push_back(AtspiDbusInterfaceValue); } - if(dynamic_cast(this)) + if(dynamic_cast(this)) { tmp.push_back(AtspiDbusInterfaceComponent); } - if(auto action = dynamic_cast(this)) + if(auto action = dynamic_cast(this)) { if(action->GetActionCount() > 0) { tmp.push_back(AtspiDbusInterfaceAction); } } - if(dynamic_cast(this)) + if(dynamic_cast(this)) { tmp.push_back(AtspiDbusInterfaceSelection); } + if(dynamic_cast(this)) + { + tmp.push_back(AtspiDbusInterfaceHypertext); + } + if(dynamic_cast(this)) + { + tmp.push_back(AtspiDbusInterfaceHyperlink); + } return tmp; } @@ -66,7 +86,7 @@ Accessible::Accessible() { } -Accessible::~Accessible() +Accessible::~Accessible() noexcept { auto handle = mBridgeData.lock(); if(handle) @@ -143,6 +163,15 @@ void Accessible::EmitTextCursorMoved(unsigned int cursorPosition) bridgeData->mBridge->EmitCursorMoved(this, cursorPosition); } } + +void Accessible::EmitMovedOutOfScreen(ScreenRelativeMoveType type) +{ + if(auto bridgeData = GetBridgeData()) + { + bridgeData->mBridge->EmitMovedOutOfScreen(this, type); + } +} + void Accessible::Emit(WindowEvent event, unsigned int detail) { if(auto bridgeData = GetBridgeData()) @@ -166,28 +195,18 @@ void Accessible::EmitBoundsChanged(Rect<> rect) } } -std::vector Accessible::GetChildren() -{ - std::vector tmp(GetChildCount()); - for(auto i = 0u; i < tmp.size(); ++i) - { - tmp[i] = GetChildAtIndex(i); - } - return tmp; -} - -std::shared_ptr Accessible::GetBridgeData() +std::shared_ptr Accessible::GetBridgeData() const { auto handle = mBridgeData.lock(); if(!handle) { auto bridge = Bridge::GetCurrentBridge(); - handle = bridge->mData; + handle = bridge->mData; } return handle; } -Address Accessible::GetAddress() +Address Accessible::GetAddress() const { auto handle = mBridgeData.lock(); if(!handle) @@ -203,7 +222,7 @@ Address Accessible::GetAddress() return {handle ? handle->mBusName : "", tmp.str()}; } -void Bridge::RegisterOnBridge(Accessible* object) +void Bridge::RegisterOnBridge(const Accessible* object) { assert(!object->mBridgeData.lock() || object->mBridgeData.lock() == mData); if(!object->mBridgeData.lock()) @@ -214,27 +233,26 @@ void Bridge::RegisterOnBridge(Accessible* object) } } -bool Accessible::IsProxy() +bool Accessible::IsHidden() const { return false; } -Accessible* Accessible::GetDefaultLabel() +bool Accessible::IsProxy() const { - return this; + return false; } void Accessible::NotifyAccessibilityStateChange(Dali::Accessibility::States states, bool isRecursive) { if(auto data = GetBridgeData()) { - auto currentState = GetStates() & states; - for(auto i = 0u; i < currentState.size(); i++) + for(auto i = 0u; i < static_cast(Dali::Accessibility::State::MAX_COUNT); i++) { auto index = static_cast(i); - if(currentState[index]) + if(states[index]) { - data->mBridge->EmitStateChanged(this, index, 1, 0); + data->mBridge->EmitStateChanged(this, index, GetStates()[index], 0); } }