MCPcopy Create free account
hub / github.com/Tencent/libpag / AEStringToTextFirstBaseLine

Function AEStringToTextFirstBaseLine

exporter/src/utils/AEDataTypeConverter.cpp:577–604  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

575}
576
577float 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
606pag::GradientColorHandle GetDefaultGradientColors() {
607 auto gradientColor = std::make_shared<pag::GradientColor>();

Callers 1

ParseTextDocumentFunction · 0.85

Calls 2

sizeMethod · 0.80
toStringMethod · 0.80

Tested by

no test coverage detected