GetVisualCaretOrder
Skjemaer, interaksjon, Unicode
Beskrivelse
Returnerer hver tekstmarkørposisjon for den aktive redigeringen i fysisk venstre-til-høyre-rekkefølge etter å ha løst bidireksjonelle løp
Hver linje løses uavhengig, og hver returnerte posisjon justeres til en utvidet grafemklynge-grense
Samme logiske indeks kan vises i mer enn én ikke-tilstøtende plass ved en blandet-retning-grense fordi de to visuelle tekstmarkørposisjonene er fysisk distinkte
Den etterspurte indeksenheten endrer bare de rapporterte logiske indeksene og endrer ikke visuell rekkefølge
Deklarasjon
function GetVisualCaretOrder(
IndexUnit: TPDFlibFormSelectionUnit;
out CaretIndices: TPDFlibFormCaretIndices): Integer;
Parametere
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint eller fsuGraphemeCluster |
|---|---|
| CaretIndices | Mottar logiske tekstmarkørindekser sortert fra venstre kant av den visuelle teksten til høyre kant |
Returverdi
Returnerer antallet visuelle tekstmarkørplasser, eller null når ingen redigering er aktiv eller indeksenheten er ugyldig
Ytelse
Grafemgrenser og løst visuell rekkefølge hurtiglagres for gjeldende redigeringsverdi og retning, med binærsøk brukt til å kartlegge løpsgrenser
Eksempel
var
Carets: TPDFlibFormCaretIndices;
begin
if Session.GetVisualCaretOrder(fsuGraphemeCluster, Carets) > 0 then
FirstVisualCaret := Carets[0];
end;
Se også
MoveVisualCaret, SetTextDirection, GetSelectionRange, TPDFlibFormSession