Passer au contenu principal
La zone de recherche d’un élément est définie à l’aide des propriétés de l’élément dans la section Où rechercher et des conditions dans la section Conditions de recherche. Avant d’appliquer ces propriétés et conditions, la zone de recherche coïncide avec le rectangle de la Page. Le programme applique d’abord les propriétés de l’élément, puis les restrictions supplémentaires définies dans la section Conditions de recherche. Les types de contrainte suivants peuvent être définis dans la section Conditions de recherche :
  1. La zone de recherche peut être limitée à un rectangle (variable Rect), à une région (c’est-à-dire un ensemble continu de rectangles — variable Region), ou à un tableau de rectangles qui, en général, n’a pas besoin d’être continu (variable RectArray). Ce type de contrainte est défini à l’aide de la fonction RestrictSearchArea en spécifiant un paramètre du type correspondant. Toute expression renvoyant une valeur du type requis peut être indiquée comme paramètre.
  2. La zone de recherche peut être limitée à un demi-plan situé à gauche, à droite, au-dessus ou au-dessous d’un point donné. De telles contraintes sont définies à l’aide des fonctions Leftof, Rightof, Above et Below.
  3. Il peut être utile de définir des contraintes sur une limite d’élément. Par exemple, on peut savoir à l’avance que la limite gauche d’un élément se situe toujours dans la partie gauche de l’image, tandis que la limite droite peut s’étendre indéfiniment vers la droite. Le langage FlexiLayout permet de définir de telles contraintes lors du calcul de la zone de recherche, réduisant ainsi l’éventail des hypothèses possibles pour un élément. Ces contraintes sont définies à l’aide des fonctions LeftBound, RightBound, topBound et BottomBound et des opérateurs > et <. Les fonctions LeftBound et RightBound servent à accéder aux limites gauche et droite de la zone de recherche, et les fonctions topBound et BottomBound aux limites supérieure et inférieure respectivement.
  4. Vous pouvez définir des contraintes de recherche en excluant de la zone de recherche un rectangle, un ensemble de rectangles, une hypothèse, etc. Pour cela, utilisez les fonctions Exclude, ExcludeRect et ExcludeSet.
Vous pouvez spécifier un nombre quelconque de contraintes de recherche des types ci-dessus dans la section Conditions de recherche. Chaque contrainte créera une région sur l’image. Toutes les régions créées par les contraintes seront intersectées. En outre, la zone de recherche calculée pour l’élément sera intersectée avec la zone de recherche de l’élément Group dont cet élément est membre.