static gint getOffsetAtPointCB(AtkText *aText, gint aX, gint aY, AtkCoordType aCoords) { AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText)); if (!accWrap) return -1; HyperTextAccessible* text = accWrap->AsHyperText(); if (!text || !text->IsTextRole()) return -1; int32_t offset = 0; uint32_t geckoCoordType; if (aCoords == ATK_XY_SCREEN) geckoCoordType = nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE; else geckoCoordType = nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE; text->GetOffsetAtPoint(aX, aY, geckoCoordType, &offset); return static_cast<gint>(offset); }