From: ANZ1217 Date: Mon, 13 May 2024 10:14:45 +0000 (+0900) Subject: [Tizen] Fix vertical position error when cutout enabled. X-Git-Tag: accepted/tizen/8.0/unified/20240520.155119~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25cafd37f09efedcfec3353190c90212484ab7b4;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Fix vertical position error when cutout enabled. Change-Id: Idf4a63296d18b9800767088211b2f7205e9f2f22 --- diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp index 50ae898..a07471b 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.cpp @@ -46,9 +46,9 @@ #include #include #include +#include #include #include -#include // DEVEL INCLUDES #include @@ -1121,8 +1121,8 @@ void TextLabel::OnPropertySet(Property::Index index, const Property::Value& prop { Vector4 backgroundColor = Vector4::ZERO; - const Property::Map backgroundMap = Self().GetProperty(Toolkit::Control::Property::BACKGROUND).Get(); - Property::Value* backgroundValue = backgroundMap.Find(ColorVisual::Property::MIX_COLOR); + const Property::Map backgroundMap = Self().GetProperty(Toolkit::Control::Property::BACKGROUND).Get(); + Property::Value* backgroundValue = backgroundMap.Find(ColorVisual::Property::MIX_COLOR); if(backgroundValue) { backgroundColor = backgroundValue->Get(); @@ -1141,6 +1141,7 @@ void TextLabel::OnPropertySet(Property::Index index, const Property::Value& prop } TextVisual::SetRequireRender(mVisual, cutoutEnabled); + break; } default: { diff --git a/dali-toolkit/internal/text/rendering/text-typesetter.cpp b/dali-toolkit/internal/text/rendering/text-typesetter.cpp index b8eddcd..6ca9d17 100644 --- a/dali-toolkit/internal/text/rendering/text-typesetter.cpp +++ b/dali-toolkit/internal/text/rendering/text-typesetter.cpp @@ -19,6 +19,7 @@ #include // EXTERNAL INCLUDES +#include #include #include #include @@ -981,8 +982,9 @@ Devel::PixelBuffer Typesetter::RenderWithPixelBuffer(const Vector2& size, Toolki } case VerticalAlignment::CENTER: { - penY = static_cast(0.5f * (size.height - layoutSize.height)); + penY = static_cast(std::round(0.5f * (size.height - layoutSize.height))); penY = penY < 0.f ? 0.f : penY; + break; } case VerticalAlignment::BOTTOM: diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index 3ad2c9a..b8876c9 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -585,7 +585,8 @@ void TextVisual::UpdateRenderer() const bool isOverlayStyle = underlineEnabled || strikethroughEnabled; // if background with cutout is enabled, This text visual must render the entire control size. - if(backgroundWithCutoutEnabled) + + if(cutoutEnabled) { relayoutSize = Vector2(controlWidth, controlHeight); mImpl->mTransform.mSize.width = controlWidth; @@ -902,7 +903,10 @@ Shader TextVisual::GetTextShader(VisualFactoryCache& factoryCache, const TextVis void TextVisual::SetRequireRender(bool requireRender) { mTextRequireRender = requireRender; - mImpl->mRenderer.SetProperty(mTextRequireRenderPropertyIndex, mTextRequireRender); + if(mImpl->mRenderer) + { + mImpl->mRenderer.SetProperty(mTextRequireRenderPropertyIndex, mTextRequireRender); + } } } // namespace Internal