{
case Dali::Actor::Property::SIZE:
{
- if(mController->GetRenderMode() != DevelTextLabel::Render::SYNC)
+ const Vector2& size = propertyValue.Get<Vector2>();
+ if(mSize != size)
{
- mTextUpdateNeeded = true;
- mIsPropertyUpdated = true;
+ mSize = size;
+ if(mController->GetRenderMode() != DevelTextLabel::Render::SYNC)
+ {
+ mTextUpdateNeeded = true;
+ mIsPropertyUpdated = true;
+ }
}
break;
}
return;
}
- if(!mIsPropertyUpdated)
+ if(!mIsPropertyUpdated || mIsManualRendering)
{
return;
}
+ DALI_LOG_RELEASE_INFO("Request size : %f, %f\n", contentSize.width, contentSize.height);
AsyncTextParameters parameters = GetAsyncTextParameters(contentSize, padding, layoutDirection);
TextVisual::UpdateAsyncRenderer(mVisual, parameters);
mTextUpdateNeeded = false;
Extents padding;
padding = self.GetProperty<Extents>(Toolkit::Control::Property::PADDING);
+ if(mIsManualRendering)
+ {
+ mIsManualRendering = false;
+ }
+
EmitAsyncTextRenderedSignal(renderInfo.renderedSize.width + (padding.start + padding.end), renderInfo.renderedSize.height + (padding.top + padding.bottom));
}
TextLabel::TextLabel(ControlBehaviour additionalBehaviour)
: Control(ControlBehaviour(CONTROL_BEHAVIOUR_DEFAULT | additionalBehaviour)),
mLocale(std::string()),
+ mSize(),
mRenderingBackend(DEFAULT_RENDERING_BACKEND),
mTextUpdateNeeded(false),
mLastAutoScrollEnabled(false),
mControlBackgroundEnabeld(true),
- mIsPropertyUpdated(false)
+ mIsPropertyUpdated(false),
+ mIsManualRendering(false)
{
}
return;
}
+ mIsManualRendering = true;
+
Actor self = Self();
Extents padding;
return;
}
+ mIsManualRendering = true;
+
Actor self = Self();
Extents padding;
void TextLabel::RequestAsyncRenderWithConstraint(float widthConstraint, float heightConstraint)
{
- DALI_LOG_RELEASE_INFO("Request width constraint : %f\n", widthConstraint);
+ DALI_LOG_RELEASE_INFO("Request constraint : %f, %f\n", widthConstraint, heightConstraint);
if(mController->GetRenderMode() == DevelTextLabel::Render::SYNC)
{
return;
}
+ mIsManualRendering = true;
+
Actor self = Self();
Extents padding;