/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
if(scrollableHandle)
{
mScrollPositionIntervalReachedSignal.Emit(scrollableHandle.GetCurrentProperty<float>(mPropertyScrollPosition));
- if(Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor())
+
+ auto accessible = GetAccessibleObject();
+ if(DALI_LIKELY(accessible) && accessible->IsHighlighted())
{
- GetAccessibleObject()->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::VALUE);
+ accessible->Emit(Dali::Accessibility::ObjectPropertyChangeEvent::VALUE);
}
}
}
Dali::Vector<float> positions;
size_t positionCount = array->Count();
positions.Resize(positionCount);
+
+ bool valid = true;
for(size_t i = 0; i != positionCount; ++i)
{
- array->GetElementAt(i).Get(positions[i]);
+ if(DALI_UNLIKELY(!array->GetElementAt(i).Get(positions[i])))
+ {
+ // Given array is invalid. Fast out.
+ valid = false;
+ break;
+ }
}
- scrollBarImpl.SetScrollPositionIntervals(positions);
+ if(DALI_LIKELY(valid))
+ {
+ scrollBarImpl.SetScrollPositionIntervals(positions);
+ }
}
break;
}
return scrollableHandle ? scrollableHandle.GetCurrentProperty<float>(GetImpl(self).mPropertyScrollPosition) : 0.0f;
}
+std::string ScrollBar::ScrollBarAccessible::GetValueText() const
+{
+ return {}; // Text mode is not used at the moment
+}
+
double ScrollBar::ScrollBarAccessible::GetMaximum() const
{
auto self = Toolkit::ScrollBar::DownCast(Self());