Passer au contenu principal
Supposons, pour plus de simplicité, qu’aucune contrainte de zone de recherche ne soit définie dans le panneau Properties de l’élément (ni de l’un de ses éléments Group parents). Dans ce cas, avant que le programme n’applique les contraintes de la section Search Conditions, la zone de recherche de l’élément coïncide avec le rectangle de la page. S’il n’y a pas de contraintes supplémentaires dans la section, le programme recherchera l’élément sur toute la page. L’application des contraintes de type 1, 2 et 4 décrites dans Search Constraints ci-dessus crée une zone de recherche composée d’un tableau de rectangles. Le programme considère que la zone de recherche est constituée d’un rectangle circonscrivant l’ensemble du tableau, dont un ensemble spécifié de rectangles (rectangles exclus) doit être soustrait. L’application des contraintes de type 3 décrites dans Search Constraints ci-dessus crée une plage de coordonnées autorisées pour chaque limite des hypothèses — gauche, droite, haut et bas. Chacune des limites est caractérisée par une plage de coordonnées sur l’axe correspondant, par exemple [x1, x2] ou [y1, y2]. Ici, x1 et x2 sont de type XCoordinate, et y1 et y2 sont de type YCoordinate. Le segment d’axe doit satisfaire la condition suivante : x1 <= x2 pour les coordonnées X, et y1 <= y2 pour les coordonnées Y. Si plusieurs contraintes sont appliquées consécutivement à une limite, chaque contrainte modifie la plage de coordonnées autorisées pour cette limite. Supposons que la section Search Condition contienne les contraintes suivantes :
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 5mm.
Supposons que la zone de recherche coïncide avec le rectangle de la page, c.-à-d. [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom], avant l’application des contraintes ci-dessus. Alors, les plages de coordonnées des limites de l’élément seront : Supposons que la zone de recherche ne soit pas spécifiée avant l’exécution de ces contraintes. Dans le cas d’un FlexiLayout d’une seule page (le nombre minimum et maximum de pages autorisées dans un document est 1), la zone de recherche coïncide avec le rectangle de la page [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]. Dans le cas d’un FlexiLayout multipage, la zone de recherche a la taille maximale [-INF, -INF, INF, INF]. Les plages de coordonnées des limites de l’élément seront les suivantes :
BoundaryRange for one-page FlexiLayoutRange for multi-page FlexiLayout
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
Lorsque la contrainte LeftBound > 5mm est appliquée, seule la limite gauche change. La plage de ses valeurs possibles devient le segment [5mm, PageRect.Right] pour les FlexiLayouts d’une page et le segment [5mm, INF] pour les FlexiLayouts multipages. Après l’application de la contrainte LeftBound > 5mm, seule la limite gauche change — ses coordonnées autorisées deviennent [5mm, PageRect.Right]. Après l’application de la contrainte LeftBound < 15mm, la plage de coordonnées autorisées de la limite gauche devient [5mm, 15mm]. Après l’application de la contrainte LeftBound < 5mm, la plage de coordonnées autorisées de la limite gauche devient [5mm, 5mm]. De même, vous pouvez définir des contraintes pour les autres limites de l’élément. Les limites spécifiées de la zone de recherche forment un fuzzy rectangle.