Lines Matching refs:fStyleRunInfo
326 /*fVisualRuns(NULL), fStyleRunInfo(NULL), fVisualRunCount(-1),
376 fStyleRunInfo = LE_NEW_ARRAY(StyleRunInfo, fStyleRunCount);
377 if (fStyleRunInfo == NULL) {
384 fStyleRunInfo[run].font = NULL;
385 fStyleRunInfo[run].runBase = 0;
386 fStyleRunInfo[run].runLimit = 0;
387 fStyleRunInfo[run].script = (UScriptCode)0;
388 fStyleRunInfo[run].locale = NULL;
389 fStyleRunInfo[run].level = 0;
390 fStyleRunInfo[run].glyphBase = 0;
391 fStyleRunInfo[run].engine = NULL;
392 fStyleRunInfo[run].glyphCount = 0;
393 fStyleRunInfo[run].glyphs = NULL;
394 fStyleRunInfo[run].positions = NULL;
400 fStyleRunInfo[run].font = fFontRuns->getFont(styleIndices[0]);
401 fStyleRunInfo[run].runBase = runStart;
402 fStyleRunInfo[run].runLimit = fStyleRunLimits[run];
403 fStyleRunInfo[run].script = (UScriptCode) fScriptRuns->getValue(styleIndices[2]);
404 fStyleRunInfo[run].locale = fLocaleRuns->getLocale(styleIndices[3]);
405 fStyleRunInfo[run].level = (UBiDiLevel) fLevelRuns->getValue(styleIndices[1]);
406 fStyleRunInfo[run].glyphBase = fGlyphCount;
408 fStyleRunInfo[run].engine = LayoutEngine::layoutEngineFactory(fStyleRunInfo[run].font,
409 fStyleRunInfo[run].script, getLanguageCode(fStyleRunInfo[run].locale), layoutStatus);
415 fStyleRunInfo[run].glyphCount = fStyleRunInfo[run].engine->layoutChars(fChars, runStart, fStyleRunLimits[run] - runStart, fCharCount,
416 fStyleRunInfo[run].level & 1, 0, 0, layoutStatus);
424 fGlyphCount += fStyleRunInfo[run].glyphCount;
447 LayoutEngine *engine = fStyleRunInfo[run].engine;
448 le_int32 glyphCount = fStyleRunInfo[run].glyphCount;
449 le_int32 glyphBase = fStyleRunInfo[run].glyphBase;
451 fStyleRunInfo[run].glyphs = LE_NEW_ARRAY(LEGlyphID, glyphCount);
452 fStyleRunInfo[run].positions = LE_NEW_ARRAY(float, glyphCount * 2 + 2);
453 if ((fStyleRunInfo[run].glyphs == NULL) ||
454 (fStyleRunInfo[run].positions == NULL)) {
459 engine->getGlyphs(fStyleRunInfo[run].glyphs, layoutStatus);
465 engine->getGlyphPositions(fStyleRunInfo[run].positions, layoutStatus);
478 fGlyphWidths[glyphBase + glyph] = fStyleRunInfo[run].positions[glyph * 2 + 2] - fStyleRunInfo[run].positions[glyph * 2];
481 if ((fStyleRunInfo[run].level & 1) != 0) {
489 fStyleRunInfo[run].engine = NULL;
590 LE_DELETE_ARRAY(fStyleRunInfo[run].glyphs);
591 LE_DELETE_ARRAY(fStyleRunInfo[run].positions);
593 fStyleRunInfo[run].glyphs = NULL;
594 fStyleRunInfo[run].positions = NULL;
597 LE_DELETE_ARRAY(fStyleRunInfo);
601 fStyleRunInfo = NULL;
1037 le_int32 firstChar = (run == firstRun)? runStart : fStyleRunInfo[run].runBase;
1038 le_int32 lastChar = (run == lastRun)? runEnd : fStyleRunInfo[run].runLimit - 1;
1049 le_int32 glyphBase = fStyleRunInfo[run].glyphBase;
1072 if ((fStyleRunInfo[run].level & 1) != 0) {
1074 le_int32 last = glyphBase + fStyleRunInfo[run].glyphCount - 1;
1090 fVisualRunLastX -= fStyleRunInfo[run].positions[leftGlyph * 2];
1096 UBiDiDirection direction = ((fStyleRunInfo[run].level & 1) == 0)? UBIDI_LTR : UBIDI_RTL;
1102 LE_ARRAY_COPY(glyphs, &fStyleRunInfo[run].glyphs[leftGlyph], glyphCount);
1105 positions[outGlyph] = fStyleRunInfo[run].positions[inGlyph] + fVisualRunLastX;
1106 positions[outGlyph + 1] = fStyleRunInfo[run].positions[inGlyph + 1] + fVisualRunLastY;
1114 if ((fStyleRunInfo[run].level & 1) == 0) {
1122 le_int32 base = glyphBase + fStyleRunInfo[run].glyphCount - 1;
1129 line->append(fStyleRunInfo[run].font, direction, glyphCount, glyphs, positions, glyphToCharMap);