X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-impl.cpp;h=e3f65254ee6845687ad239dffa01cb8ec559bf84;hb=6af352690fe5cb16092dcf9de16357264288d89c;hp=cd060f0adb786bcf6c6c11a1f2a0434d2230a84d;hpb=6fe31dbd1820f16a125b239715f0b7310df62fad;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/common/window-impl.cpp b/dali/internal/window-system/common/window-impl.cpp index cd060f0..e3f6525 100644 --- a/dali/internal/window-system/common/window-impl.cpp +++ b/dali/internal/window-system/common/window-impl.cpp @@ -92,7 +92,8 @@ Window::Window() mResizeSignal(), mVisibilityChangedSignal(), mTransitionEffectEventSignal(), - mKeyboardRepeatSettingsChangedSignal() + mKeyboardRepeatSettingsChangedSignal(), + mAuxiliaryMessageSignal() { } @@ -100,7 +101,7 @@ Window::~Window() { auto bridge = Accessibility::Bridge::GetCurrentBridge(); auto rootLayer = mScene.GetRootLayer(); - auto accessible = Accessibility::Accessible::Get(rootLayer); + auto accessible = Accessibility::Accessible::Get(rootLayer, true); bridge->RemoveTopLevelWindow(accessible); if(mAdaptor) @@ -142,6 +143,7 @@ void Window::Initialize(Any surface, const PositionSize& positionSize, const std mWindowBase->KeyboardRepeatSettingsChangedSignal().Connect(this, &Window::OnKeyboardRepeatSettingsChanged); mWindowBase->WindowRedrawRequestSignal().Connect(this, &Window::OnWindowRedrawRequest); mWindowBase->UpdatePositionSizeSignal().Connect(this, &Window::OnUpdatePositionSize); + mWindowBase->AuxiliaryMessageSignal().Connect(this, &Window::OnAuxiliaryMessage); mWindowSurface->OutputTransformedSignal().Connect(this, &Window::OnOutputTransformed); @@ -177,6 +179,9 @@ void Window::OnAdaptorSet(Dali::Adaptor& adaptor) auto accessible = Accessibility::Accessible::Get(rootLayer, true); bridge->AddTopLevelWindow(accessible); + bridge->EnabledSignal().Connect(this, &Window::OnAccessibilityEnabled); + bridge->DisabledSignal().Connect(this, &Window::OnAccessibilityDisabled); + // If you call the 'Show' before creating the adaptor, the application cannot know the app resource id. // The show must be called after the adaptor is initialized. Show(); @@ -858,6 +863,27 @@ void Window::OnResume() mSurface->SetFullSwapNextFrame(); } +void Window::OnAuxiliaryMessage(const std::string& key, const std::string& value, const Property::Array& options) +{ + mAuxiliaryMessageSignal.Emit(key, value, options); +} + +void Window::OnAccessibilityEnabled() +{ + auto bridge = Accessibility::Bridge::GetCurrentBridge(); + auto rootLayer = mScene.GetRootLayer(); + auto accessible = Accessibility::Accessible::Get(rootLayer, true); + bridge->AddTopLevelWindow(accessible); +} + +void Window::OnAccessibilityDisabled() +{ + auto bridge = Accessibility::Bridge::GetCurrentBridge(); + auto rootLayer = mScene.GetRootLayer(); + auto accessible = Accessibility::Accessible::Get(rootLayer, true); + bridge->RemoveTopLevelWindow(accessible); +} + void Window::RecalculateTouchPosition(Integration::Point& point) { Vector2 position = point.GetScreenPosition();