DALI_DEVEL_PROPERTY_REGISTRATION(Toolkit, TextLabel, "cutout", BOOLEAN, CUTOUT )
DALI_DEVEL_PROPERTY_REGISTRATION(Toolkit, TextLabel, "renderMode", INTEGER, RENDER_MODE )
DALI_DEVEL_PROPERTY_REGISTRATION_READ_ONLY(Toolkit, TextLabel, "manualRendered", BOOLEAN, MANUAL_RENDERED )
+DALI_DEVEL_PROPERTY_REGISTRATION_READ_ONLY(Toolkit, TextLabel, "asyncLineCount", INTEGER, ASYNC_LINE_COUNT )
DALI_ANIMATABLE_PROPERTY_REGISTRATION_WITH_DEFAULT(Toolkit, TextLabel, "textColor", Color::BLACK, TEXT_COLOR )
DALI_ANIMATABLE_PROPERTY_COMPONENT_REGISTRATION(Toolkit, TextLabel, "textColorRed", TEXT_COLOR_RED, TEXT_COLOR, 0)
value = impl.mManualRendered;
break;
}
+ case Toolkit::DevelTextLabel::Property::ASYNC_LINE_COUNT:
+ {
+ value = impl.mAsyncLineCount;
+ break;
+ }
}
}
{
case Async::COMPUTE_NATURAL_SIZE:
{
- DALI_LOG_RELEASE_INFO("Natural size : %f, %f\n", renderInfo.renderedSize.width, renderInfo.renderedSize.height);
+ DALI_LOG_RELEASE_INFO("Natural size : %f, %f, line count : %d\n", renderInfo.renderedSize.width, renderInfo.renderedSize.height, renderInfo.lineCount);
+ mAsyncLineCount = renderInfo.lineCount;
EmitAsyncNaturalSizeComputedSignal(renderInfo.renderedSize.width, renderInfo.renderedSize.height);
}
break;
case Async::COMPUTE_HEIGHT_FOR_WIDTH:
{
- DALI_LOG_RELEASE_INFO("Height for width : %f, %f\n", renderInfo.renderedSize.width, renderInfo.renderedSize.height);
+ DALI_LOG_RELEASE_INFO("Height for width : %f, %f, line count : %d\n", renderInfo.renderedSize.width, renderInfo.renderedSize.height, renderInfo.lineCount);
+ mAsyncLineCount = renderInfo.lineCount;
EmitAsyncHeightForWidthComputedSignal(renderInfo.renderedSize.width, renderInfo.renderedSize.height);
}
break;
- case Async::COMPUTE_LINE_COUNT:
- {
- // TODO
- }
- break;
-
default:
{
DALI_LOG_ERROR("Unexpected request type recieved : %d\n", renderInfo.requestType);
void TextLabel::AsyncLoadComplete(Text::AsyncTextRenderInfo renderInfo)
{
// Pure Virtual from AsyncTextInterface
- DALI_LOG_RELEASE_INFO("Rendered size : %f, %f\n", renderInfo.renderedSize.width, renderInfo.renderedSize.height);
+ DALI_LOG_RELEASE_INFO("Rendered size : %f, %f, line count : %d\n", renderInfo.renderedSize.width, renderInfo.renderedSize.height, renderInfo.lineCount);
// To avoid flickering issues, enable/disable the background visual when async load is completed.
EnableControlBackground(!mController->IsTextCutout());
}
mManualRendered = renderInfo.manualRendered;
+ mAsyncLineCount = renderInfo.lineCount;
EmitAsyncTextRenderedSignal(renderInfo.renderedSize.width + (padding.start + padding.end), renderInfo.renderedSize.height + (padding.top + padding.bottom));
}
mLocale(std::string()),
mSize(),
mRenderingBackend(DEFAULT_RENDERING_BACKEND),
+ mAsyncLineCount(0),
mTextUpdateNeeded(false),
mLastAutoScrollEnabled(false),
mControlBackgroundEnabeld(true),
renderInfo.styleEnabled = styleEnabled;
renderInfo.isOverlayStyle = isOverlayStyle;
renderInfo.manualRendered = parameters.manualRender;
+ renderInfo.lineCount = mTextModel->GetNumberOfLines();
if(cutoutEnabled)
{
AsyncTextRenderInfo renderInfo;
renderInfo.renderedSize.width = parameters.textWidth;
renderInfo.renderedSize.height = height;
- renderInfo.requestType = Async::COMPUTE_HEIGHT_FOR_WIDTH;
+ renderInfo.requestType = Async::COMPUTE_HEIGHT_FOR_WIDTH;
+ renderInfo.lineCount = mTextModel->GetNumberOfLines();
return renderInfo;
}
AsyncTextRenderInfo renderInfo;
renderInfo.renderedSize = textNaturalSize;
renderInfo.requestType = Async::COMPUTE_NATURAL_SIZE;
+ renderInfo.lineCount = mTextModel->GetNumberOfLines();
return renderInfo;
}