void TextLabel::RequestAsyncNaturalSize()
{
- Actor self = Self();
- Extents padding(0u, 0u, 0u, 0u);
- Vector2 contentSize(0.0f, 0.0f);
+ Actor self = Self();
+ Extents padding;
+ Size contentSize = Size::ZERO;
Dali::LayoutDirection::Type layoutDirection = mController->GetLayoutDirection(self);
AsyncTextParameters parameters = GetAsyncTextParameters(Async::COMPUTE_NATURAL_SIZE, contentSize, padding, layoutDirection);
void TextLabel::RequestAsyncHeightForWidth(float width)
{
- Actor self = Self();
- Extents padding(0u, 0u, 0u, 0u);
- Vector2 contentSize(width, 0.0f);
+ Actor self = Self();
+ Extents padding;
+ Size contentSize(width, 0.0f);
Dali::LayoutDirection::Type layoutDirection = mController->GetLayoutDirection(self);
AsyncTextParameters parameters = GetAsyncTextParameters(Async::COMPUTE_HEIGHT_FOR_WIDTH, contentSize, padding, layoutDirection);
return;
}
- Actor self = Self();
-
+ Actor self = Self();
Extents padding;
padding = self.GetProperty<Extents>(Toolkit::Control::Property::PADDING);
- Vector2 contentSize(width - (padding.start + padding.end), height - (padding.top + padding.bottom));
+ float contentWidth = std::max(width - (padding.start + padding.end), 0.0f);
+ float contentHeight = std::max(height - (padding.top + padding.bottom), 0.0f);
+ Size contentSize(contentWidth, contentHeight);
- // Support Right-To-Left
Dali::LayoutDirection::Type layoutDirection = mController->GetLayoutDirection(self);
-
- // Support Right-To-Left of padding
if(Dali::LayoutDirection::RIGHT_TO_LEFT == layoutDirection)
{
std::swap(padding.start, padding.end);
return;
}
- Actor self = Self();
-
+ Actor self = Self();
Extents padding;
padding = self.GetProperty<Extents>(Toolkit::Control::Property::PADDING);
- Vector2 contentSize(width - (padding.start + padding.end), heightConstraint - (padding.top + padding.bottom));
+ float contentWidth = std::max(width - (padding.start + padding.end), 0.0f);
+ float contentHeightConstraint = std::max(heightConstraint - (padding.top + padding.bottom), 0.0f);
+ Size contentSize(contentWidth, contentHeightConstraint);
- // Support Right-To-Left
Dali::LayoutDirection::Type layoutDirection = mController->GetLayoutDirection(self);
-
- // Support Right-To-Left of padding
if(Dali::LayoutDirection::RIGHT_TO_LEFT == layoutDirection)
{
std::swap(padding.start, padding.end);
return;
}
- Actor self = Self();
-
+ Actor self = Self();
Extents padding;
padding = self.GetProperty<Extents>(Toolkit::Control::Property::PADDING);
- Vector2 contentSize(widthConstraint - (padding.start + padding.end), heightConstraint - (padding.top + padding.bottom));
+ float contentWidthConstraint = std::max(widthConstraint - (padding.start + padding.end), 0.0f);
+ float contentHeightConstraint = std::max(heightConstraint - (padding.top + padding.bottom), 0.0f);
+ Size contentSize(contentWidthConstraint, contentHeightConstraint);
- // Support Right-To-Left
Dali::LayoutDirection::Type layoutDirection = mController->GetLayoutDirection(self);
-
- // Support Right-To-Left of padding
if(Dali::LayoutDirection::RIGHT_TO_LEFT == layoutDirection)
{
std::swap(padding.start, padding.end);