GetVisualCaretOrder
Moduli, interazione, Unicode
Descrizione
Restituisce ogni posizione del caret della modifica attiva in ordine fisico da sinistra a destra dopo la risoluzione dei segmenti bidirezionali
Ogni riga viene risolta indipendentemente e ogni posizione restituita è allineata a un confine di cluster di grafemi estesi
Lo stesso indice logico può apparire in più di uno slot non adiacente a un confine di direzione mista, perché le due posizioni visive del caret sono fisicamente distinte
L'unità di indice richiesta cambia solo gli indici logici riportati e non cambia l'ordine visivo
Dichiarazione
function GetVisualCaretOrder(
IndexUnit: TPDFlibFormSelectionUnit;
out CaretIndices: TPDFlibFormCaretIndices): Integer;
Parametri
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint o fsuGraphemeCluster |
|---|---|
| CaretIndices | Riceve gli indici logici del cursore ordinati dal bordo sinistro del testo visivo al bordo destro |
Valore restituito
Restituisce il numero di slot visivi del cursore, oppure zero quando nessuna modifica è attiva o l'unità di indice non è valida
Prestazioni
I confini dei grafemi e l'ordine visivo risolto sono memorizzati nella cache per il valore di modifica e la direzione correnti, con ricerche binarie usate per mappare i confini delle sequenze
Esempio
var
Carets: TPDFlibFormCaretIndices;
begin
if Session.GetVisualCaretOrder(fsuGraphemeCluster, Carets) > 0 then
FirstVisualCaret := Carets[0];
end;
Vedere anche
MoveVisualCaret, SetTextDirection, GetSelectionRange, TPDFlibFormSession