EnsureVisualCaretOrder

Moduli, interazione, Unicode

Descrizione

Helper interno di TPDFlibFormSession che calcola l'ordine fisico di slot del caret in cache usato dal movimento visivo del caret

Una cache valida per il valore di modifica corrente e la direzione di testo risolta viene riusata; altrimenti l'ordine viene ricostruito dalla tabella dei confini di grafemi

Il valore viene diviso in righe alle interruzioni LF, CR e CRLF, e ogni riga viene risolta in segmenti bidirezionali sotto la direzione base risolta, con un fallback a segmento singolo quando la risoluzione dei segmenti fallisce

I livelli di incorporamento dei segmenti vengono limitati all'intervallo da 0 a 125 e l'ordine visivo dei segmenti segue i livelli risolti

Gli indici di confine di grafemi vengono aggiunti in ordine fisico da sinistra a destra attraverso i segmenti, in avanti per i segmenti da sinistra a destra e all'indietro per quelli da destra a sinistra, così un indice logico a un confine di direzione mista può occupare due slot distinti

Gli slot duplicati consecutivi vengono uniti, le posizioni di interruzione di riga diventano slot propri, un risultato vuoto ricade sullo slot singolo 0 e una ricostruzione resetta la posizione di slot visivo a -1

Dichiarazione

procedure EnsureVisualCaretOrder;

Vedere anche

InvalidateVisualCaretOrder, GetVisualCaretOrder, MoveVisualCaret, GetResolvedTextDirection, EnsureSelectionBoundaries, TPDFlibFormTextDirection, TPDFlibFormSession