EnsureVisualCaretOrder

Formulários, interação, unicode

Descrição

Auxiliar interno de TPDFlibFormSession que calcula a ordem de slots físicos do cursor em cache usada pelo movimento visual do cursor

Um cache válido para o valor de edição atual e a direção de texto resolvida é reutilizado; caso contrário, a ordem é reconstruída a partir da tabela de fronteiras de grafemo

O valor é dividido em linhas nas quebras LF, CR e CRLF, e cada linha é resolvida em trechos bidirecionais sob a direção base resolvida, com fallback de trecho único quando a resolução de trechos falha

Níveis de embutimento de trechos são limitados à faixa de 0 a 125, e a ordem visual dos trechos segue os níveis resolvidos

Índices de fronteira de grafemo são anexados em ordem física da esquerda para a direita através dos trechos, para frente em trechos da esquerda para a direita e para trás em trechos da direita para a esquerda, então um índice lógico em uma fronteira de direção mista pode ocupar dois slots distintos

Slots duplicados consecutivos são mesclados, posições de quebra de linha viram slots próprios, um resultado vazio volta para o slot único 0 e uma reconstrução reinicia a posição visual do slot para -1

Declaração

procedure EnsureVisualCaretOrder;

Veja também

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