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

Function ToTextDocument

src/platform/android/PAGText.cpp:127–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

125}
126
127TextDocumentHandle ToTextDocument(JNIEnv* env, jobject textData) {
128 if (PAGTextClass.get() == nullptr) {
129 LOGE("Could not run ToTextDocument, PAGTextClass is not found!");
130 return nullptr;
131 }
132 if (textData == nullptr) {
133 return nullptr;
134 }
135 auto textDocument = pag::TextDocumentHandle(new TextDocument());
136 textDocument->applyFill = env->GetBooleanField(textData, PAGText_applyFill);
137 textDocument->applyStroke = env->GetBooleanField(textData, PAGText_applyStroke);
138 textDocument->baselineShift = env->GetFloatField(textData, PAGText_baselineShift);
139 textDocument->boxText = env->GetBooleanField(textData, PAGText_boxText);
140 auto boxTextRect = env->GetObjectField(textData, PAGText_boxTextRect);
141 auto boxRect = ToRect(env, boxTextRect);
142 textDocument->boxTextPos = {boxRect.x(), boxRect.y()};
143 textDocument->boxTextSize = {boxRect.width(), boxRect.height()};
144 textDocument->firstBaseLine = env->GetFloatField(textData, PAGText_firstBaseLine);
145 textDocument->fauxBold = env->GetBooleanField(textData, PAGText_fauxBold);
146 textDocument->fauxItalic = env->GetBooleanField(textData, PAGText_fauxItalic);
147 jint fillColorObject = env->GetIntField(textData, PAGText_fillColor);
148 textDocument->fillColor = ToColor(env, fillColorObject);
149 auto fontFamilyObject = (jstring)env->GetObjectField(textData, PAGText_fontFamily);
150 textDocument->fontFamily = SafeConvertToStdString(env, fontFamilyObject);
151 auto fontStyleObject = (jstring)env->GetObjectField(textData, PAGText_fontStyle);
152 textDocument->fontStyle = SafeConvertToStdString(env, fontStyleObject);
153 textDocument->fontSize = env->GetFloatField(textData, PAGText_fontSize);
154 jint strokeColorObject = env->GetIntField(textData, PAGText_strokeColor);
155 textDocument->strokeColor = ToColor(env, strokeColorObject);
156 textDocument->strokeOverFill = env->GetBooleanField(textData, PAGText_strokeOverFill);
157 textDocument->strokeWidth = env->GetFloatField(textData, PAGText_strokeWidth);
158 auto textObject = (jstring)env->GetObjectField(textData, PAGText_text);
159 textDocument->text = SafeConvertToStdString(env, textObject);
160 textDocument->justification =
161 static_cast<ParagraphJustification>(env->GetIntField(textData, PAGText_justification));
162 textDocument->leading = env->GetFloatField(textData, PAGText_leading);
163 textDocument->tracking = env->GetFloatField(textData, PAGText_tracking);
164 jint backgroundColorObject = env->GetIntField(textData, PAGText_backgroundColor);
165 textDocument->backgroundColor = ToColor(env, backgroundColorObject);
166 jint backgroundAlphaObject = env->GetIntField(textData, PAGText_backgroundAlpha);
167 textDocument->backgroundAlpha = static_cast<uint8_t>(backgroundAlphaObject);
168 return textDocument;
169}
170} // namespace pag

Callers 1

Calls 6

ToRectFunction · 0.85
SafeConvertToStdStringFunction · 0.85
ToColorFunction · 0.70
getMethod · 0.45
widthMethod · 0.45
heightMethod · 0.45

Tested by

no test coverage detected