| 125 | } |
| 126 | |
| 127 | TextDocumentHandle 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 |
no test coverage detected