diff --git a/frameworks/draw/draw_label.cpp b/frameworks/draw/draw_label.cpp index 101858c9b4c4dd3427941bdae362ecec9d38b67f..d736b491d6d8d0142c9dc63d59b54079e001deed 100755 --- a/frameworks/draw/draw_label.cpp +++ b/frameworks/draw/draw_label.cpp @@ -84,7 +84,10 @@ void DrawLabel::DrawArcText(BufferInfo& gfxDstBuffer, float posX; float posY; float rotateAngle; - bool xorFlag = (orientation == UIArcLabel::TextOrientation::INSIDE) ^ (arcTextInfo.direct == TEXT_DIRECT_LTR); + + bool orientationFlag = (orientation == UIArcLabel::TextOrientation::INSIDE); + bool directFlag = (arcTextInfo.direct == TEXT_DIRECT_LTR); + bool xorFlag = !((orientationFlag && directFlag) || (!orientationFlag && !directFlag)); while (i < arcTextInfo.lineEnd) { uint32_t tmp = i;