| 575 | } |
| 576 | |
| 577 | float AEStringToTextFirstBaseLine(const QJsonArray& array, float lineHeight, float baseLineShift, |
| 578 | bool isVertical) { |
| 579 | if (array.size() < 4) { |
| 580 | return 0; |
| 581 | } |
| 582 | |
| 583 | int lineNum = static_cast<int>(array.size()) / 4; |
| 584 | int index = (lineNum - 1) * 4; |
| 585 | float firstBaseLine = 0; |
| 586 | if (isVertical) { |
| 587 | firstBaseLine = array[0].toString().toFloat(); |
| 588 | if (fabsf(firstBaseLine) > 100000000.0f) { |
| 589 | auto lastBaseLine = array[index + 0].toString().toFloat(); |
| 590 | firstBaseLine = lastBaseLine + lineHeight * static_cast<float>((lineNum - 1)); |
| 591 | } |
| 592 | } else { |
| 593 | firstBaseLine = array[1].toString().toFloat(); |
| 594 | if (fabsf(firstBaseLine) > 100000000.0f) { |
| 595 | auto lastBaseLine = array[index + 1].toString().toFloat(); |
| 596 | firstBaseLine = lastBaseLine - lineHeight * static_cast<float>((lineNum - 1)); |
| 597 | } |
| 598 | } |
| 599 | if (fabsf(firstBaseLine) > 100000000.0f) { |
| 600 | firstBaseLine = 0; |
| 601 | } |
| 602 | |
| 603 | return isVertical ? firstBaseLine - baseLineShift : firstBaseLine + baseLineShift; |
| 604 | } |
| 605 | |
| 606 | pag::GradientColorHandle GetDefaultGradientColors() { |
| 607 | auto gradientColor = std::make_shared<pag::GradientColor>(); |
no test coverage detected