EnsureVisualCaretOrder
Formulários, interação, Unicode
Descrição
Função interna de TPDFlibFormSession que calcula a ordem de ranhuras do cursor físico em cache utilizada pelo movimento visual do cursor
Uma cache válida para o valor de edição atual e a direção de texto resolvida é reutilizada; caso contrário, a ordem é reconstruída a partir da tabela de limites de grafemas
O valor é dividido em linhas nas quebras LF, CR e CRLF, e cada linha é resolvida em sequências bidirecionais sob a direção base resolvida, com recurso a uma única sequência quando a resolução falha
Os níveis de incorporação das sequências são limitados ao intervalo de 0 a 125 e a ordem visual das sequências segue os níveis resolvidos
Os índices de limites de grafemas são acrescentados pela ordem física da esquerda para a direita nas sequências, para a frente nas sequências da esquerda para a direita e para trás nas da direita para a esquerda, pelo que um índice lógico num limite de direção mista pode ocupar duas ranhuras distintas
Ranhuras duplicadas consecutivas são fundidas, as posições de quebra de linha tornam-se ranhuras próprias, um resultado vazio recua para a ranhura única 0 e uma reconstrução repõe a posição visual da ranhura em -1
Declaração
procedure EnsureVisualCaretOrder;
Consulte também
InvalidateVisualCaretOrder, GetVisualCaretOrder, MoveVisualCaret, GetResolvedTextDirection, EnsureSelectionBoundaries, TPDFlibFormTextDirection, TPDFlibFormSession