Passer au contenu principal
La région 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 l’application des propriétés et des 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 à la zone, puis il applique les restrictions supplémentaires définies dans la section Conditions de recherche. Les types de contraintes 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, de manière générale, n’ont pas besoin d’être contigus (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 fournie en paramètre.
  2. La zone de recherche peut être limitée à un demi-plan situé à gauche, à droite, au-dessus ou en dessous d’un point particulier. 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 frontière d’élément. Par exemple, on peut savoir à l’avance que la frontière gauche d’un élément se situe toujours dans la partie gauche de l’image, tandis que la frontière droite peut s’étendre indéfiniment vers la droite. Le langage FlexiLayout permet de définir ces contraintes au moment 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 permettent d’accéder respectivement aux frontières gauche et droite de la zone de recherche, et les fonctions TopBound et BottomBound aux frontières supérieure et inférieure.
  4. Vous pouvez définir des contraintes de recherche en excluant un rectangle, un tableau de rectangles, une hypothèse, etc., de la zone de recherche. Cela peut être fait à l’aide des 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.