@@ -30,7 +30,7 @@ sk_context_state* create_default_state() {
3030 state->imageSmoothingQuality = kLow ;
3131 state->textAlign = kStart ;
3232 state->textBaseline = kAlphabetic ;
33- state->direction = kLTR ;
33+ state->direction = kInherit ;
3434 state->font = new Font ();
3535 state->font ->size = 10 ;
3636 state->font ->family = strdup (" sans-serif" );
@@ -298,7 +298,7 @@ extern "C" {
298298 skia::textlayout::ParagraphStyle paraStyle;
299299 paraStyle.setTextAlign (skia::textlayout::TextAlign::kLeft );
300300 paraStyle.setTextStyle (tstyle);
301- paraStyle.setTextDirection (skia::textlayout::TextDirection (context->state ->direction ));
301+ paraStyle.setTextDirection (skia::textlayout::TextDirection (context->state ->direction == kRTL ? 0 : 1 ));
302302
303303 auto builder = skia::textlayout::ParagraphBuilderImpl::make (paraStyle, fontCollection, SkUnicode::Make ());
304304 builder->addText (text, textLen);
@@ -395,10 +395,10 @@ extern "C" {
395395 paintX = x - lineWidth;
396396 break ;
397397 case TextAlign::kStart :
398- paintX = context->state ->direction == TextDirection::kLTR ? x : x - lineWidth;
398+ paintX = context->state ->direction == TextDirection::kRTL ? x - lineWidth : x ;
399399 break ;
400400 case TextAlign::kEnd :
401- paintX = context->state ->direction == TextDirection::kLTR ? x - lineWidth : x;
401+ paintX = context->state ->direction == TextDirection::kRTL ? x : x - lineWidth ;
402402 break ;
403403 }
404404 auto needScale = lineWidth > maxWidth;
0 commit comments