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
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint of fsuGraphemeCluster |
|---|---|
| CaretIndices | Ontvangt 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