Lines Matching refs:logicalIndex

562     public int logicalToVisual(int logicalIndex) {
565 logicalIndex : fCharLogicalOrder[logicalIndex];
568 public byte getCharLevel(int logicalIndex) {
570 return fCharLevels==null? 0 : fCharLevels[logicalIndex];
573 public boolean isCharLTR(int logicalIndex) {
575 return (getCharLevel(logicalIndex) & 0x1) == 0;
578 public int getCharType(int logicalIndex) {
580 return Character.getType(fChars[logicalIndex + fCharsStart]);
583 public boolean isCharSpace(int logicalIndex) {
585 return Character.isSpaceChar(fChars[logicalIndex + fCharsStart]);
588 public boolean isCharWhitespace(int logicalIndex) {
590 return Character.isWhitespace(fChars[logicalIndex + fCharsStart]);
593 public float getCharAngle(int logicalIndex) {
595 return getCoreMetricsAt(logicalIndex).italicAngle;
598 public CoreMetrics getCoreMetricsAt(int logicalIndex) {
600 if (logicalIndex < 0) {
601 throw new IllegalArgumentException("Negative logicalIndex.");
604 if (logicalIndex > fCharsLimit - fCharsStart) {
605 throw new IllegalArgumentException("logicalIndex too large.");
614 if (tlcLimit > logicalIndex) {
624 public float getCharAscent(int logicalIndex) {
626 return getCoreMetricsAt(logicalIndex).ascent;
629 public float getCharDescent(int logicalIndex) {
631 return getCoreMetricsAt(logicalIndex).descent;
634 public float getCharShift(int logicalIndex) {
636 return getCoreMetricsAt(logicalIndex).ssOffset;
639 private float applyFunctionAtIndex(int logicalIndex, Function f) {
641 if (logicalIndex < 0) {
642 throw new IllegalArgumentException("Negative logicalIndex.");
650 if (tlcLimit > logicalIndex) {
651 return f.computeFunction(this, i, logicalIndex - tlcStart);
658 throw new IllegalArgumentException("logicalIndex too large.");
661 public float getCharAdvance(int logicalIndex) {
663 return applyFunctionAtIndex(logicalIndex, fgAdvanceF);
666 public float getCharXPosition(int logicalIndex) {
668 return applyFunctionAtIndex(logicalIndex, fgXPositionF);
671 public float getCharYPosition(int logicalIndex) {
673 return applyFunctionAtIndex(logicalIndex, fgYPositionF);
676 public float getCharLinePosition(int logicalIndex) {
678 return getCharXPosition(logicalIndex);
681 public float getCharLinePosition(int logicalIndex, boolean leading) {
682 Function f = isCharLTR(logicalIndex) == leading ? fgXPositionF : fgPosAdvF;
683 return applyFunctionAtIndex(logicalIndex, f);
705 throw new IllegalArgumentException("logicalIndex too large.");
733 public Rectangle2D getCharBounds(int logicalIndex) {
735 if (logicalIndex < 0) {
736 throw new IllegalArgumentException("Negative logicalIndex.");
744 if (tlcLimit > logicalIndex) {
747 int indexInTlc = logicalIndex - tlcStart;
762 throw new IllegalArgumentException("logicalIndex too large.");