X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fcontrol%2Fcontrol-data-impl.h;h=73b12e020c40444c078e042a07c58a70baf7ef29;hp=492461e730e9b4453743f23fbef9fc68ef75df5b;hb=bd38905697b8025824ae614445759eb7c030dea7;hpb=c87b2e1b8bde8db53067b24e191a1adf9deeb8db diff --git a/dali-toolkit/internal/controls/control/control-data-impl.h b/dali-toolkit/internal/controls/control/control-data-impl.h index 492461e..73b12e0 100644 --- a/dali-toolkit/internal/controls/control/control-data-impl.h +++ b/dali-toolkit/internal/controls/control/control-data-impl.h @@ -342,8 +342,7 @@ public: * Attribute is added if not existed previously or updated * if existed. */ - void AppendAccessibilityAttribute(const std::string& key, - const std::string value); + void AppendAccessibilityAttribute(const std::string& key, const std::string value); /** * @brief Removes accessibility attribute @@ -393,6 +392,34 @@ public: */ Dali::Property GetVisualProperty(Dali::Property::Index index, Dali::Property::Key visualPropertyKey); + /** + * @brief Make visual transition from source control to this control about specific Property::Index + * If both of source and this control have Property::Index property, than create animation between them. + * + * @param[in] animation Return animation from source to this control. + * @param[in] source Source control to be used property animation. + * @param[in] visualIndex Property::Index to make animation. + * @param[in] alphaFunction alpha function of the animation. + * @param[in] timePeriod time period of the animation. + */ + void MakeVisualTransition(Dali::Animation& animation, Dali::Toolkit::Control source, Dali::Property::Index visualIndex, AlphaFunction alphaFunction, TimePeriod timePeriod); + + /** + * @brief Gets the current control's accessible object. + * + * @return The handle to Accessible object + */ + Dali::Accessibility::Accessible* GetAccessibilityObject(); + + /** + * @brief Gets Accessible object handle. + * + * The method acquires Accessible handle from Actor object + * @param actor Actor object + * @return The handle to Accessible object + */ + static Dali::Accessibility::Accessible* GetAccessibilityObject(Dali::Actor actor); + private: /** * Used as an alternative to boolean so that it is obvious whether a visual is enabled/disabled. @@ -441,6 +468,21 @@ private: */ void OnIdleCallback(); + /** + * @brief Checks highlighted object geometry if it is showing or not + */ + void CheckHighlightedObjectGeometry(); + + /** + * @brief Register property notification to check highlighted object position + */ + void RegisterAccessibilityPositionPropertyNotification(); + + /** + * @brief Remove property notification added by RegisterPropertyNotification + */ + void UnregisterAccessibilityPositionPropertyNotification(); + public: Control& mControlImpl; DevelControl::State mState; @@ -452,17 +494,19 @@ public: int mUpFocusableActorId; ///< Actor ID of Up focusable control. int mDownFocusableActorId; ///< Actor ID of Down focusable control. - RegisteredVisualContainer mVisuals; ///< Stores visuals needed by the control, non trivial type so std::vector used. - std::string mStyleName; - Vector4 mBackgroundColor; ///< The color of the background visual - Vector3* mStartingPinchScale; ///< The scale when a pinch gesture starts, TODO: consider removing this - Extents mMargin; ///< The margin values - Extents mPadding; ///< The padding values - Toolkit::Control::KeyEventSignalType mKeyEventSignal; - Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusGainedSignal; - Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusLostSignal; - Toolkit::Control::ResourceReadySignalType mResourceReadySignal; - DevelControl::VisualEventSignalType mVisualEventSignal; + RegisteredVisualContainer mVisuals; ///< Stores visuals needed by the control, non trivial type so std::vector used. + std::string mStyleName; + Vector4 mBackgroundColor; ///< The color of the background visual + Vector3* mStartingPinchScale; ///< The scale when a pinch gesture starts, TODO: consider removing this + Extents mMargin; ///< The margin values + Extents mPadding; ///< The padding values + Toolkit::Control::KeyEventSignalType mKeyEventSignal; + Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusGainedSignal; + Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusLostSignal; + Toolkit::Control::ResourceReadySignalType mResourceReadySignal; + DevelControl::VisualEventSignalType mVisualEventSignal; + + // Accessibility Toolkit::DevelControl::AccessibilityActivateSignalType mAccessibilityActivateSignal; Toolkit::DevelControl::AccessibilityReadingSkippedSignalType mAccessibilityReadingSkippedSignal; Toolkit::DevelControl::AccessibilityReadingPausedSignalType mAccessibilityReadingPausedSignal; @@ -475,12 +519,10 @@ public: Toolkit::DevelControl::AccessibilityDoGestureSignalType mAccessibilityDoGestureSignal; std::string mAccessibilityName; - bool mAccessibilityNameSet = false; - std::string mAccessibilityDescription; - bool mAccessibilityDescriptionSet = false; - std::string mAccessibilityTranslationDomain; + bool mAccessibilityNameSet = false; + bool mAccessibilityDescriptionSet = false; bool mAccessibilityTranslationDomainSet = false; bool mAccessibilityHighlightable = false; @@ -488,8 +530,9 @@ public: Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN; - std::vector> mAccessibilityRelations; - bool mAccessibilityAnimated = false; + std::vector> mAccessibilityRelations; + std::function(Actor)> mAccessibilityConstructor; + std::unique_ptr mAccessibilityObject; // Gesture Detection PinchGestureDetector mPinchGestureDetector; @@ -535,23 +578,11 @@ public: static const PropertyRegistration PROPERTY_21; static const PropertyRegistration PROPERTY_22; - /** - * The method acquires Accessible handle from Actor object - * @param actor Actor object - * @return handle to Accessible object - */ - static Dali::Accessibility::Accessible* GetAccessibilityObject(Dali::Actor actor); - Dali::Accessibility::Accessible* GetAccessibilityObject(); - - void AccessibilityRegister(); - void AccessibilityDeregister(); - - std::function(Actor)> accessibilityConstructor; - std::unique_ptr accessibilityObject; - Dali::PropertyNotification accessibilityNotificationPosition, accessibilityNotificationSize, accessibilityNotificationCulled; - bool accessibilityNotificationSet = false; - static void PositionOrSizeChangedCallback(PropertyNotification&); - static void CulledChangedCallback(PropertyNotification&); +private: + // Accessibility - notification for highlighted object to check if it is showing. + bool mIsAccessibilityPositionPropertyNotificationSet{false}; + Dali::PropertyNotification mAccessibilityPositionNotification; + Dali::Accessibility::ScreenRelativeMoveType mAccessibilityLastScreenRelativeMoveType{Accessibility::ScreenRelativeMoveType::OUTSIDE}; }; } // namespace Internal