GetVisualCaretOrder

Formulieren, interactie, Unicode

Beschrijving

Geeft elke caretpositie voor de actieve bewerking terug in fysieke linkernaarrechtvolgorde na het oplossen van bidirectionele runs

Elke regel wordt onafhankelijk opgelost en elke geretourneerde positie is uitgelijnd op een grens van een uitgebreide grapheme-cluster

Dezelfde logische index kan op een grens van gemengde richting in meer dan één niet-aangrenzend slot voorkomen, omdat de twee visuele caretposities fysiek verschillend zijn

De gevraagde indexeenheid wijzigt alleen de gerapporteerde logische indexen en wijzigt de visuele ordening niet

Declaratie

function GetVisualCaretOrder(
  IndexUnit: TPDFlibFormSelectionUnit;
  out CaretIndices: TPDFlibFormCaretIndices): Integer;

Syntaxis

IndexUnitfsuUTF16CodeUnit, fsuUnicodeCodePoint of fsuGraphemeCluster
CaretIndicesOntvangt logische caretindexen geordend van de linkerrand van de visuele tekst naar de rechterrand

Retourwaarde

Geeft het aantal visuele caretposities terug, of nul wanneer geen bewerking actief is of de indexeenheid ongeldig is

Prestaties

Grafeemgrenzen en geresolveerde visuele volgorde worden gecacht voor de huidige bewerkingswaarde en richting, met binair zoeken om rungrenzen toe te wijzen

Voorbeeld

var
  Carets: TPDFlibFormCaretIndices;
begin
  if Session.GetVisualCaretOrder(fsuGraphemeCluster, Carets) > 0 then
    FirstVisualCaret := Carets[0];
end;

Zie ook

MoveVisualCaret, SetTextDirection, GetSelectionRange, TPDFlibFormSession