EnsureVisualCaretOrder

Formulaires, interaction, Unicode

Description

Assistant interne de TPDFlibFormSession qui calcule l'ordre physique d'emplacements du curseur en cache utilisé par le mouvement visuel du curseur

Un cache valide pour la valeur d'édition actuelle et la direction de texte résolue est réutilisé ; sinon, l'ordre est reconstruit à partir de la table de frontières de graphèmes

La valeur est divisée en lignes aux sauts LF, CR et CRLF, et chaque ligne est résolue en segments bidirectionnels sous la direction de base résolue, avec un repli à segment unique quand la résolution de segments échoue

Les niveaux d'incorporation des segments sont bornés à la plage 0 à 125 et l'ordre visuel des segments suit les niveaux résolus

Les index de frontières de graphèmes sont ajoutés dans l'ordre physique gauche-à-droite à travers les segments, en avant pour les segments gauche-à-droite et en arrière pour les segments droite-à-gauche ; un index logique à une limite de direction mixte peut donc occuper deux emplacements distincts

Les emplacements dupliqués consécutifs sont fusionnés, les positions de saut de ligne deviennent leurs propres emplacements, un résultat vide retombe sur l'emplacement unique 0 et une reconstruction réinitialise la position d'emplacement visuel à -1

Déclaration

procedure EnsureVisualCaretOrder;

Voir aussi

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