-
L’area di ricerca può essere limitata a un rettangolo (variabile
Rect), a una regione (ossia un array continuo di rettangoli – variabileRegion), oppure a un array di rettangoli che, in generale, non deve essere continuo (variabileRectArray). Questo tipo di vincolo si imposta usando la funzioneRestrictSearchAreae specificando un parametro del tipo corrispondente. È possibile specificare come parametro qualsiasi espressione che restituisca valori del tipo richiesto. - L’area di ricerca può essere limitata a un semipiano situato a sinistra, a destra, sopra o sotto un determinato punto. Tali vincoli si impostano usando le funzioni Leftof, Rightof, Above e Below.
-
Talvolta può essere utile vincolare un bordo dell’elemento. Ad esempio, si può sapere in anticipo che il bordo sinistro di un elemento si trova sempre nella parte sinistra dell’immagine, mentre il bordo destro può estendersi indefinitamente verso destra. Il linguaggio FlexiLayout consente di impostare tali vincoli nella fase di calcolo dell’area di ricerca, restringendo così l’insieme delle possibili ipotesi per un elemento. Tali vincoli si impostano usando le funzioni
LeftBound,RightBound,topBoundeBottomBounde gli operatori>e<. Le funzioniLeftBoundeRightBoundconsentono di accedere rispettivamente ai bordi sinistro e destro dell’area di ricerca, mentre le funzionitopBoundeBottomBoundconsentono di accedere rispettivamente ai bordi superiore e inferiore. -
È possibile impostare vincoli di ricerca escludendo dall’area di ricerca un rettangolo, un array di rettangoli, un’ipotesi, ecc. Ciò può essere fatto usando le funzioni
Exclude,ExcludeRecteExcludeSet.
