Fix minor render scale issues 05/324605/1
authorBowon Ryu <bowon.ryu@samsung.com>
Wed, 21 May 2025 10:47:44 +0000 (19:47 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Wed, 21 May 2025 10:48:27 +0000 (19:48 +0900)
Integerizing the min line size makes the result more unnatural,
so I change it to a simple calculation.

And as I kept adding complex formulas to compensate for the real error of layout size,
the final result became the same as width / scale.
I will keep this state until I find a better way.

Change-Id: Ica8e456567db14d7a0ce2848521b35a85494edc6
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
dali-toolkit/internal/text/async-text/async-text-loader-impl.cpp

index 31af9d6b166d939b8ae9a3ce99a7ff50b684a3dc..3714843f9886290c9b2586cc5e16dadec1e8daf2 100644 (file)
@@ -937,8 +937,8 @@ AsyncTextRenderInfo AsyncTextLoader::Render(AsyncTextParameters& parameters)
   bool isRenderScale = parameters.renderScale > 1.0f ? true : false;
   if(isRenderScale)
   {
-    float width     = (layoutSize.width / parameters.renderScale) * (layoutSize.width / ((layoutSize.width / parameters.renderScale) * parameters.renderScale));
-    float height    = (layoutSize.height / parameters.renderScale) * (layoutSize.height / ((layoutSize.height / parameters.renderScale) * parameters.renderScale));
+    float width     = layoutSize.width / parameters.renderScale;
+    float height    = layoutSize.height / parameters.renderScale;
     renderInfo.size = Size(width, height);
   }
   else
@@ -1116,7 +1116,7 @@ Size AsyncTextLoader::SetupRenderScale(AsyncTextParameters& parameters, bool& ca
     parameters.renderScaleHeight = parameters.textHeight;
     parameters.textWidth         = ConvertToEven(ceil(parameters.textWidth * parameters.renderScale));
     parameters.textHeight        = ConvertToEven(ceil(parameters.textHeight * parameters.renderScale));
-    parameters.minLineSize       = ConvertToEven(ceil(parameters.minLineSize * parameters.renderScale));
+    parameters.minLineSize       = parameters.minLineSize * parameters.renderScale;
     cachedNaturalSize            = false;
     return Size::ZERO;
   }
@@ -1142,7 +1142,7 @@ Size AsyncTextLoader::SetupRenderScale(AsyncTextParameters& parameters, bool& ca
   parameters.renderScaleHeight = parameters.textHeight;
   parameters.textWidth         = ConvertToEven(ceil(parameters.textWidth * parameters.renderScale));
   parameters.textHeight        = ConvertToEven(ceil(parameters.textHeight * parameters.renderScale));
-  parameters.minLineSize       = ConvertToEven(ceil(parameters.minLineSize * parameters.renderScale));
+  parameters.minLineSize       = parameters.minLineSize * parameters.renderScale;
 
   // The texture in RenderScale needs to be resized because it exceeds the control size.
   if(!widthEllipsized && naturalSize.width > parameters.textWidth)