Fix visual transform offset of text label 78/297978/3
authorBowon Ryu <bowon.ryu@samsung.com>
Tue, 29 Aug 2023 10:04:22 +0000 (19:04 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Wed, 30 Aug 2023 00:50:28 +0000 (09:50 +0900)
Font rendering quality is very degraded
when the visual translation y offset is a decimal value.
To prevent this issue, round the offset.

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

index e713486..aef9910 100644 (file)
@@ -1100,10 +1100,16 @@ void TextLabel::OnRelayout(const Vector2& size, RelayoutContainer& container)
       layoutSize.width = maxTextureSize;
     }
 
+    // This affects font rendering quality.
+    // It need to be integerized.
+    Vector2 visualTransformOffset;
+    visualTransformOffset.x = roundf(padding.start + alignmentOffset.x);
+    visualTransformOffset.y = roundf(padding.top + alignmentOffset.y);
+
     Property::Map visualTransform;
     visualTransform.Add(Toolkit::Visual::Transform::Property::SIZE, layoutSize)
       .Add(Toolkit::Visual::Transform::Property::SIZE_POLICY, Vector2(Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE))
-      .Add(Toolkit::Visual::Transform::Property::OFFSET, Vector2(padding.start, padding.top) + alignmentOffset)
+      .Add(Toolkit::Visual::Transform::Property::OFFSET, visualTransformOffset)
       .Add(Toolkit::Visual::Transform::Property::OFFSET_POLICY, Vector2(Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE))
       .Add(Toolkit::Visual::Transform::Property::ORIGIN, Toolkit::Align::TOP_BEGIN)
       .Add(Toolkit::Visual::Transform::Property::ANCHOR_POINT, Toolkit::Align::TOP_BEGIN);