- L’area di ricerca può essere limitata a un rettangolo (variabile
Rect), a una regione (ovvero 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 utilizzando la funzioneRestrictSearchAreae specificando un parametro del tipo corrispondente. Qualsiasi espressione che restituisca valori del tipo richiesto può essere specificata come parametro. - L’area di ricerca può essere limitata a un semipiano situato a sinistra, a destra, sopra o sotto un punto specifico. Tali vincoli si impostano utilizzando le funzioni Leftof, Rightof, Above e Below.
- Talvolta può essere utile impostare vincoli per un bordo di un elemento. Ad esempio, può essere noto 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ì la gamma di possibili ipotesi per un elemento. Tali vincoli si impostano utilizzando le funzioni
LeftBound,RightBound,topBoundeBottomBounde gli operatori>e<. Le funzioniLeftBoundeRightBoundconsentono di accedere 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 utilizzando le funzioni
Exclude,ExcludeRecteExcludeSet.
