Lines Matching refs:bidiBase

112     static void setTrailingWSStart(BidiBase bidiBase)
114 byte[] dirProps = bidiBase.dirProps;
115 byte[] levels = bidiBase.levels;
116 int start = bidiBase.length;
117 byte paraLevel = bidiBase.paraLevel;
126 bidiBase.trailingWSStart = start; /* currently == bidiBase.length */
140 bidiBase.trailingWSStart=start;
267 static byte getLevelAt(BidiBase bidiBase, int charIndex)
270 if (bidiBase.direction != BidiBase.MIXED || charIndex >= bidiBase.trailingWSStart) {
271 return bidiBase.GetParaLevelAt(charIndex);
273 return bidiBase.levels[charIndex];
277 static byte[] getLevels(BidiBase bidiBase)
279 int start = bidiBase.trailingWSStart;
280 int length = bidiBase.length;
291 /* bidiBase.paraLevel is ok even if contextual multiple paragraphs,
292 since bidiBase is a line object */
293 Arrays.fill(bidiBase.levels, start, length, bidiBase.paraLevel);
296 bidiBase.trailingWSStart = length;
298 if (length < bidiBase.levels.length) {
300 System.arraycopy(bidiBase.levels, 0, levels, 0, length);
303 return bidiBase.levels;
306 static BidiRun getLogicalRun(BidiBase bidiBase, int logicalPosition)
312 getRuns(bidiBase);
313 int runCount = bidiBase.runCount;
315 iRun = bidiBase.runs[0];
318 iRun = bidiBase.runs[i];
333 private static void getSingleRun(BidiBase bidiBase, byte level) {
335 bidiBase.runs = bidiBase.simpleRuns;
336 bidiBase.runCount = 1;
339 bidiBase.runs[0] = new BidiRun(0, bidiBase.length, level);
375 private static void reorderLine(BidiBase bidiBase, byte minLevel, byte maxLevel) {
394 runs = bidiBase.runs;
395 levels = bidiBase.levels;
396 runCount = bidiBase.runCount;
399 if (bidiBase.trailingWSStart < bidiBase.length) {
444 if (bidiBase.trailingWSStart == bidiBase.length) {
461 static int getRunFromLogicalIndex(BidiBase bidiBase, int logicalIndex) {
462 BidiRun[] runs = bidiBase.runs;
463 int runCount = bidiBase.runCount, visualStart = 0, i, length, logicalStart;
488 static void getRuns(BidiBase bidiBase) {
493 if (bidiBase.runCount >= 0) {
496 if (bidiBase.direction != BidiBase.MIXED) {
498 /* bidiBase.paraLevel is ok even for contextual multiple paragraphs */
499 getSingleRun(bidiBase, bidiBase.paraLevel);
502 int length = bidiBase.length, limit;
503 byte[] levels = bidiBase.levels;
517 limit = bidiBase.trailingWSStart;
534 getSingleRun(bidiBase, levels[0]);
548 bidiBase.getRunsMemory(runCount);
549 runs = bidiBase.runsMemory;
582 runs[runIndex] = new BidiRun(limit, length - limit, bidiBase.paraLevel);
583 /* For the trailing WS run, bidiBase.paraLevel is ok even
585 if (bidiBase.paraLevel < minLevel) {
586 minLevel = bidiBase.paraLevel;
591 bidiBase.runs = runs;
592 bidiBase.runCount = runCount;
594 reorderLine(bidiBase, minLevel, maxLevel);
606 /* For the trailing WS run, bidiBase.paraLevel is ok even if
609 int trailingRun = ((bidiBase.paraLevel & 1) != 0)? 0 : runIndex;
610 runs[trailingRun].level = bidiBase.paraLevel;
616 if (bidiBase.insertPoints.size > 0) {
619 for (ip = 0; ip < bidiBase.insertPoints.size; ip++) {
620 point = bidiBase.insertPoints.points[ip];
621 runIndex = getRunFromLogicalIndex(bidiBase, point.pos);
622 bidiBase.runs[runIndex].insertRemove |= point.flag;
627 if (bidiBase.controlCount > 0) {
630 for (ic = 0; ic < bidiBase.length; ic++) {
631 c = bidiBase.text[ic];
633 runIndex = getRunFromLogicalIndex(bidiBase, ic);
634 bidiBase.runs[runIndex].insertRemove--;
745 static int[] getVisualMap(BidiBase bidiBase)
748 BidiRun[] runs = bidiBase.runs;
750 int allocLength = bidiBase.length > bidiBase.resultLength ? bidiBase.length
751 : bidiBase.resultLength;
756 for (int j = 0; j < bidiBase.runCount; ++j) {
772 if (bidiBase.insertPoints.size > 0) {
773 int markFound = 0, runCount = bidiBase.runCount;
775 runs = bidiBase.runs;
787 k = bidiBase.resultLength;
804 else if (bidiBase.controlCount > 0) {
805 int runCount = bidiBase.runCount, logicalEnd;
809 runs = bidiBase.runs;
834 uchar = bidiBase.text[m];
841 if (allocLength == bidiBase.resultLength) {
844 int[] newMap = new int[bidiBase.resultLength];
845 System.arraycopy(indexMap, 0, newMap, 0, bidiBase.resultLength);