GetVisualCaretOrder
Formularer, interaktion, Unicode
Beskrivelse
Returnerer hver caretposition for den aktive redigering i fysisk venstre-mod-højre-rækkefølge efter opløsning af bidirektionelle runs Hver linje opløses uafhængigt, og hver returneret position er justeret til en udvidet grafemklyngegrænse Samme logiske indeks kan optræde i mere end én ikke-tilstødende slot ved en blandet retninggrænse, fordi de to visuelle caretpositioner er fysisk forskellige Den ønskede indeksenhed ændrer kun de rapporterede logiske indekser og ændrer ikke den visuelle rækkefølge
Deklaration
function GetVisualCaretOrder(
IndexUnit: TPDFlibFormSelectionUnit;
out CaretIndices: TPDFlibFormCaretIndices): Integer;
Parametre
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint eller fsuGraphemeCluster |
|---|---|
| CaretIndices | Modtager logiske caretindekser ordnet fra den visuelle teksts venstre kant til højre kant |
Returværdi
Returnerer antallet af visuelle caretslots eller nul, når ingen redigering er aktiv, eller indeksenheden er ugyldig
Ydeevne
Grafemgrænser og opløst visuel rækkefølge caches for den aktuelle redigeringsværdi og retning, med binære søgninger brugt til at afbilde rungrænser
Eksempel
var
Carets: TPDFlibFormCaretIndices;
begin
if Session.GetVisualCaretOrder(fsuGraphemeCluster, Carets) > 0 then
FirstVisualCaret := Carets[0];
end;
Se også
MoveVisualCaret, SetTextDirection, GetSelectionRange, TPDFlibFormSession