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

IndexUnitfsuUTF16CodeUnit, fsuUnicodeCodePoint eller fsuGraphemeCluster
CaretIndicesMottar 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