Vai al contenuto principale
Supponiamo, per comodità, che non siano impostati vincoli di regione di ricerca nel pannello Proprietà dell’elemento (e di eventuali suoi elementi Group padre). In questo caso, prima che il programma applichi i vincoli dalla sezione Search Conditions, l’area di ricerca dell’elemento coinciderà con il rettangolo della pagina. Se non ci sono ulteriori vincoli nella sezione, il programma cercherà l’elemento sull’intera pagina. L’applicazione dei vincoli di tipo 1, 2 e 4 descritti in Search Constraints sopra creerà un’area di ricerca costituita da un array di rettangoli. Il programma considererà l’area di ricerca come un unico rettangolo che circoscrive l’intero array, dal quale deve essere escluso un set specificato di rettangoli (rettangoli esclusi). L’applicazione dei vincoli di ricerca di tipo 3 descritti in Search Constraints sopra creerà un intervallo di coordinate consentite per ciascun bordo delle ipotesi – sinistro, destro, superiore e inferiore. Ciascuno dei bordi è caratterizzato da un intervallo di coordinate sull’asse corrispondente, ad es. [x1, x2] o [y1, y2]. Qui x1 e x2 sono di tipo XCoordinate, e y1 e y2 sono di tipo YCoordinate. Il tratto dell’asse deve soddisfare la seguente condizione: x1 <= x2 per le coordinate X e y1 <= y2 per le coordinate Y. Se più vincoli vengono applicati consecutivamente a un bordo, ciascun vincolo cambierà l’intervallo di coordinate consentite per il bordo. Si supponga che la sezione Search Condition contenga i seguenti vincoli:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
Si supponga che l’area di ricerca coincida con il rettangolo della pagina, cioè [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom], prima che siano applicati i vincoli sopra. Quindi gli intervalli delle coordinate dei bordi dell’elemento saranno: Si supponga che l’area di ricerca non sia specificata prima dell’esecuzione di questi vincoli. Quindi, nel caso di un FlexiLayout a una pagina (il numero minimo e massimo consentito di pagine in un documento è 1), l’area di ricerca coincide con il rettangolo della pagina [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]. Nel caso di un FlexiLayout multipagina, l’area di ricerca ha la dimensione massima [-INF, -INF, INF, INF]. Gli intervalli di coordinate dei bordi dell’elemento saranno i seguenti:
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]
Quando viene eseguito il vincolo LeftBound > 5mm, cambia solo il bordo sinistro. L’intervallo dei suoi valori possibili diventa il segmento [5mm, PageRect.Right] per i FlexiLayout a una pagina e il segmento [5mm, INF] per i FlexiLayout multipagina. Dopo l’applicazione del vincolo LeftBound > 5mm, cambierà solo il bordo sinistro – le sue coordinate consentite saranno [5mm, PageRect.Right]. Dopo l’applicazione del vincolo LeftBound < 15mm, l’intervallo di coordinate consentite del bordo sinistro sarà [5mm, 15mm]. Dopo l’applicazione del vincolo LeftBound < 10mm, l’intervallo di coordinate consentite del bordo sinistro sarà [5mm, 10mm]. Analogamente è possibile impostare vincoli per gli altri bordi dell’elemento. I bordi specificati dell’area di ricerca formano un cosiddetto fuzzy rectangle.