EnsureVisualCaretOrder

Formularios, interacción, Unicode

Descripción

Auxiliar interno de TPDFlibFormSession que calcula el orden físico de ranuras del cursor en caché usado por el movimiento visual del cursor

Una caché valida para el valor de edición actual y la dirección de texto resuelta se reutiliza; en caso contrario, el orden se reconstruye desde la tabla de límites de grafemas

El valor se divide en líneas en los saltos LF, CR y CRLF, y cada línea se resuelve en tramos bidireccionales bajo la dirección base resuelta, con un tramo único de reserva cuando la resolución de tramos falla

Los niveles de incrustación de tramos se acotan al rango de 0 a 125 y el orden visual de tramos sigue los niveles resueltos

Los índices de límites de grafemas se agregan en orden físico de izquierda a derecha a través de los tramos, hacia adelante para los tramos de izquierda a derecha y hacia atrás para los de derecha a izquierda, así que un índice lógico en un límite de dirección mixta puede ocupar dos ranuras distintas

Las ranuras duplicadas consecutivas se fusionan, las posiciones de salto de línea se convierten en ranuras propias, un resultado vacío recurre a la ranura única 0 y una reconstrucción restablece la posición de ranura visual a -1

Declaración

procedure EnsureVisualCaretOrder;

Véase también

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