int get_characterExtents(int offset, int coordType, int /*long*/ pX, int /*long*/ pY, int /*long*/ pWidth, int /*long*/ pHeight) { int length = getCharacterCount(); AccessibleTextEvent event = new AccessibleTextEvent(this); event.start = offset == COM.IA2_TEXT_OFFSET_LENGTH ? length : offset < 0 ? 0 : offset; event.end = offset == COM.IA2_TEXT_OFFSET_LENGTH || offset >= length ? length : offset + 1; for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = accessibleTextExtendedListeners.get(i); listener.getTextBounds(event); } /* Note: event.rectangles is not used here, because IAccessibleText::get_characterExtents is just for one character. */ if (DEBUG) print(this + ".IAccessibleText::get_characterExtents(" + offset + ") returning " + event.x + ", " + event.y + ", " + event.width + ", " + event.height); COM.MoveMemory(pX, new int [] { event.x }, 4); COM.MoveMemory(pY, new int [] { event.y }, 4); COM.MoveMemory(pWidth, new int [] { event.width }, 4); COM.MoveMemory(pHeight, new int [] { event.height }, 4); if (event.width == 0 && event.height == 0) return COM.E_INVALIDARG; return COM.S_OK; }
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getTextBounds(event);
for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) accessibleTextExtendedListeners.elementAt(i); listener.getTextBounds(event);