}
}
+void AccessibilityManager::DeleteAccessibilityAttribute(Actor actor)
+{
+ if(actor)
+ {
+ unsigned int actorID = actor.GetProperty< int >( Actor::Property::ID );
+ mIDAdditionalInfoContainer.erase(actorID);
+ }
+}
+
std::string AccessibilityManager::GetAccessibilityAttribute(Actor actor, Toolkit::AccessibilityManager::AccessibilityAttribute type) const
{
std::string text;
actor.Add( GetFocusIndicatorActor() );
}
+ // Send Focused actor information
+ Vector2 windowSize = rootActor.GetCurrentProperty<Vector2>(Actor::Property::SIZE);
+ AccessibilityAdaptor adaptor = AccessibilityAdaptor::Get();
+ adaptor.SetFocusedActorPosition( Vector2((actor.GetCurrentProperty<Vector3>(Actor::Property::WORLD_POSITION).x + (windowSize.width / 2)),
+ (actor.GetCurrentProperty<Vector3>(Actor::Property::WORLD_POSITION).y + (windowSize.height / 2))) );
+
// Send notification for the change of focus actor
mFocusChangedSignal.Emit( GetCurrentFocusActor(), actor );
return adaptor.GetReadPosition();
}
+void AccessibilityManager::EnableAccessibility(bool enabled)
+{
+ DALI_LOG_INFO( gLogFilter, Debug::General, "[%s:%d] Set Enabled Forcibly : %d \n", __FUNCTION__, __LINE__, enabled );
+ AccessibilityAdaptor adaptor = AccessibilityAdaptor::Get();
+ adaptor.EnableAccessibility(enabled);
+}
+
+bool AccessibilityManager::IsEnabled() const
+{
+ AccessibilityAdaptor adaptor = AccessibilityAdaptor::Get();
+ return adaptor.IsEnabled();
+}
+
void AccessibilityManager::SetGroupMode(bool enabled)
{
mIsFocusWithinGroup = enabled;
mIsAccessibilityTtsEnabled = adaptor.IsEnabled();
Dali::Toolkit::AccessibilityManager handle( this );
+ DALI_LOG_INFO( gLogFilter, Debug::General, "[%s:%d] TtsEnabled : %d \n", __FUNCTION__, __LINE__, mIsAccessibilityTtsEnabled );
+
if(mIsAccessibilityTtsEnabled)
{
// Show indicator when tts turned on if there is focused actor.
return mIsAccessibilityTtsEnabled;
}
+bool AccessibilityManager::AccessibilityActionForwardToApp()
+{
+ Dali::Toolkit::AccessibilityManager handle( this );
+ if( !mActionForwardSignal.Empty() )
+ {
+ mActionForwardSignal.Emit( handle );
+ }
+
+ return mIsAccessibilityTtsEnabled;
+}
+
bool AccessibilityManager::HandlePanGesture(const AccessibilityGestureEvent& panEvent)
{
bool handled = false;
DevelPanGesture::SetNumberOfTouches( pan, panEvent.numberOfTouches );
DevelPanGesture::SetScreenPosition( pan, panEvent.currentPosition );
DevelPanGesture::SetScreenDisplacement( pan, mPreviousPosition - panEvent.currentPosition );
- DevelPanGesture::SetScreenVelocity( pan, Vector2( pan.GetScreenDisplacement().x / panEvent.timeDelta, pan.GetScreenDisplacement().y / panEvent.timeDelta ) );
+ // Avoid dividing by 0
+ if(panEvent.timeDelta > 0)
+ {
+ DevelPanGesture::SetScreenVelocity( pan, Vector2( pan.GetScreenDisplacement().x / panEvent.timeDelta, pan.GetScreenDisplacement().y / panEvent.timeDelta ) );
+ }
// Only handle the pan gesture when the current focused actor is scrollable or within a scrollable actor
while(mCurrentGesturedActor && mCurrentGesturedActor != rootActor && !handled)
control.ScreenToLocal( localPrevious.x, localPrevious.y, mPreviousPosition.x, mPreviousPosition.y );
DevelPanGesture::SetDisplacement( pan, localCurrent - localPrevious );
- DevelPanGesture::SetVelocity( pan, Vector2( pan.GetDisplacement().x / panEvent.timeDelta, pan.GetDisplacement().y / panEvent.timeDelta ));
+ // Avoid dividing by 0
+ if(panEvent.timeDelta > 0)
+ {
+ DevelPanGesture::SetVelocity( pan, Vector2( pan.GetDisplacement().x / panEvent.timeDelta, pan.GetDisplacement().y / panEvent.timeDelta ));
+ }
handled = GetImplementation( control ).OnAccessibilityPan(pan);
}