From: Jaehyun Cho Date: Tue, 18 Apr 2023 01:43:00 +0000 (+0000) Subject: Merge "Add Dali::DevelWindowSystem::GetScreenSize" into tizen_7.0 X-Git-Tag: accepted/tizen/7.0/unified/20230418.141938^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git;a=commitdiff_plain;h=64b25e7c3635ac6cb153d8a494ff77bdf7d10f5d;hp=a2fceaa029a72781b97e28937a0bf25ed845b9ad Merge "Add Dali::DevelWindowSystem::GetScreenSize" into tizen_7.0 --- diff --git a/dali/devel-api/atspi-interfaces/value.h b/dali/devel-api/atspi-interfaces/value.h index 6c9a963..2560222 100644 --- a/dali/devel-api/atspi-interfaces/value.h +++ b/dali/devel-api/atspi-interfaces/value.h @@ -38,11 +38,37 @@ public: /** * @brief Gets the current value. * + * The application may set the "value_format" attribute to one of the + * following values in order to customize what is read by the Screen Reader: + * 1. "percent" (the default) - GetCurrent() normalized as a percentage + * of the range [GetMinimum(), GetMaximum()], + * 2. "number" - GetCurrent() verbatim + * 3. "text" - GetValueText() is used instead of GetCurrent() + * * @return The current value + * + * @see Value::GetMinimum() + * @see Value::GetMaximum() + * @see Value::GetValueText() + * @see Dali::Toolkit::DevelControl::AppendAccessibilityAttribute() */ virtual double GetCurrent() const = 0; /** + * @brief Gets the formatted current value. + * + * This does not have to be GetCurrent() formatted in any particular way, + * i.e. it may be an arbitrary string, e.g. "small font size" for the + * numeric value 10.0. + * + * @return The current value as text + * + * @note Only used if the "value_format" attribute is "text" + * @see Value::GetCurrent() + */ + virtual std::string GetValueText() const = 0; + + /** * @brief Gets the highest possible value. * * @return The highest value. diff --git a/dali/internal/accessibility/bridge/bridge-accessible.cpp b/dali/internal/accessibility/bridge/bridge-accessible.cpp index db9a2aa..0d0f9ed 100644 --- a/dali/internal/accessibility/bridge/bridge-accessible.cpp +++ b/dali/internal/accessibility/bridge/bridge-accessible.cpp @@ -488,14 +488,16 @@ BridgeAccessible::ReadingMaterialType BridgeAccessible::GetReadingMaterial() auto describedByObject = findObjectByRelationType(RelationType::DESCRIBED_BY); - double currentValue = 0.0; - double minimumIncrement = 0.0; - double maximumValue = 0.0; - double minimumValue = 0.0; - auto* valueInterface = Value::DownCast(self); + double currentValue = 0.0; + std::string currentValueText; + double minimumIncrement = 0.0; + double maximumValue = 0.0; + double minimumValue = 0.0; + auto* valueInterface = Value::DownCast(self); if(valueInterface) { currentValue = valueInterface->GetCurrent(); + currentValueText = valueInterface->GetValueText(); minimumIncrement = valueInterface->GetMinimumIncrement(); maximumValue = valueInterface->GetMaximum(); minimumValue = valueInterface->GetMinimum(); @@ -573,6 +575,7 @@ BridgeAccessible::ReadingMaterialType BridgeAccessible::GetReadingMaterial() localizedRoleName, childCount, currentValue, + currentValueText, minimumIncrement, maximumValue, minimumValue, diff --git a/dali/internal/accessibility/bridge/bridge-accessible.h b/dali/internal/accessibility/bridge/bridge-accessible.h index cf67cac..329fc43 100644 --- a/dali/internal/accessibility/bridge/bridge-accessible.h +++ b/dali/internal/accessibility/bridge/bridge-accessible.h @@ -74,6 +74,7 @@ public: std::string, // localized name int32_t, // child count double, // current value + std::string, // formatted current value double, // minimum increment double, // maximum value double, // minimum value diff --git a/dali/internal/accessibility/bridge/bridge-value.cpp b/dali/internal/accessibility/bridge/bridge-value.cpp index 8ac9007..37e752b 100644 --- a/dali/internal/accessibility/bridge/bridge-value.cpp +++ b/dali/internal/accessibility/bridge/bridge-value.cpp @@ -28,6 +28,7 @@ void BridgeValue::RegisterInterfaces() { DBus::DBusInterfaceDescription desc{Accessible::GetInterfaceName(AtspiInterface::VALUE)}; AddGetSetPropertyToInterface(desc, "CurrentValue", &BridgeValue::GetCurrentValue, &BridgeValue::SetCurrentValue); + AddGetPropertyToInterface(desc, "Text", &BridgeValue::GetCurrentValueText); AddGetPropertyToInterface(desc, "MaximumValue", &BridgeValue::GetMaximumValue); AddGetPropertyToInterface(desc, "MinimumIncrement", &BridgeValue::GetMinimumIncrement); AddGetPropertyToInterface(desc, "MinimumValue", &BridgeValue::GetMinimumValue); @@ -49,6 +50,11 @@ void BridgeValue::SetCurrentValue(double newValue) FindSelf()->SetCurrent(newValue); } +std::string BridgeValue::GetCurrentValueText() +{ + return FindSelf()->GetValueText(); +} + double BridgeValue::GetMaximumValue() { return FindSelf()->GetMaximum(); diff --git a/dali/internal/accessibility/bridge/bridge-value.h b/dali/internal/accessibility/bridge/bridge-value.h index caa7cc1..e2d4d09 100644 --- a/dali/internal/accessibility/bridge/bridge-value.h +++ b/dali/internal/accessibility/bridge/bridge-value.h @@ -64,6 +64,11 @@ public: void SetCurrentValue(double newValue); /** + * @copydoc Dali::Accessibility::Value::GetValueText() + */ + std::string GetCurrentValueText(); + + /** * @copydoc Dali::Accessibility::Value::GetMaximum() */ double GetMaximumValue();