Vai al contenuto principale
La regione di ricerca di un elemento viene definita utilizzando le proprietà dell’elemento impostate nella sezione Dove cercare e le condizioni impostate nella sezione Condizioni di ricerca. Prima che vengano applicate proprietà e condizioni, l’area di ricerca coincide con il rettangolo della Pagina. Per prima cosa, il programma applica all’area le proprietà dell’elemento. Successivamente, applica le ulteriori restrizioni impostate nella sezione Condizioni di ricerca. Nella sezione Condizioni di ricerca è possibile impostare i seguenti tipi di vincolo:
  1. L’area di ricerca può essere limitata a un rettangolo (variabile Rect), a una regione (ovvero un array continuo di rettangoli – variabile Region), oppure a un array di rettangoli che, in generale, non deve essere continuo (variabile RectArray). Questo tipo di vincolo si imposta utilizzando la funzione RestrictSearchArea e specificando un parametro del tipo corrispondente. Qualsiasi espressione che restituisca valori del tipo richiesto può essere specificata come parametro.
  2. 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.
  3. 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, topBound e BottomBound e gli operatori > e <. Le funzioni LeftBound e RightBound consentono di accedere ai bordi sinistro e destro dell’area di ricerca, mentre le funzioni topBound e BottomBound consentono di accedere rispettivamente ai bordi superiore e inferiore.
  4. È 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, ExcludeRect e ExcludeSet.
Nella sezione Condizioni di ricerca è possibile specificare un numero qualsiasi di vincoli di ricerca dei tipi sopra indicati. Ogni vincolo creerà una regione sull’immagine. Tutte le regioni create dai vincoli verranno intersecate. Inoltre, l’area di ricerca calcolata per l’elemento verrà intersecata con l’area di ricerca dell’elemento Group di cui questo elemento è membro.