Saltar al contenido principal
La región de búsqueda de un elemento se forma utilizando las propiedades del elemento configuradas en la sección Dónde buscar y las condiciones configuradas en la sección Condiciones de búsqueda. Antes de aplicar las propiedades y condiciones, el área de búsqueda coincide con el rectángulo de la página. Primero, el programa aplica las propiedades del elemento al área. Después, el programa aplica las restricciones adicionales configuradas en la sección Condiciones de búsqueda. En la sección Condiciones de búsqueda se pueden establecer los siguientes tipos de restricción:
  1. El área de búsqueda puede limitarse a un rectángulo (variable Rect), a una región (es decir, una matriz continua de rectángulos: variable Region) o a una matriz de rectángulos que, en general, no tiene por qué ser continua (variable RectArray). Este tipo de restricción se establece mediante la función RestrictSearchArea y especificando un parámetro del tipo correspondiente. Cualquier expresión que devuelva valores del tipo requerido puede especificarse como parámetro.
  2. El área de búsqueda puede limitarse a un semiplano situado a la izquierda, a la derecha, por encima o por debajo de un punto determinado. Estas restricciones se establecen utilizando las funciones Leftof, Rightof, Above y Below.
  3. A veces puede resultar conveniente establecer restricciones para un límite de un elemento. Por ejemplo, puede saberse de antemano que el límite izquierdo de un elemento siempre se encuentra en la parte izquierda de la imagen, mientras que el límite derecho puede extenderse indefinidamente hacia la derecha. El lenguaje FlexiLayout permite establecer dichas restricciones en la etapa de cálculo del área de búsqueda, reduciendo así el abanico de posibles hipótesis para un elemento. Estas restricciones se establecen utilizando las funciones LeftBound, RightBound, topBound y BottomBound y los operadores > y <. Las funciones LeftBound y RightBound se utilizan para acceder a los límites izquierdo y derecho del área de búsqueda, y las funciones topBound y BottomBound se utilizan para acceder a los límites superior e inferior, respectivamente.
  4. Puede establecer restricciones de búsqueda excluyendo un rectángulo, una matriz de rectángulos, una hipótesis, etc., del área de búsqueda. Esto puede hacerse utilizando las funciones Exclude, ExcludeRect y ExcludeSet.
En la sección Condiciones de búsqueda puede especificar cualquier número de restricciones de búsqueda de los tipos anteriores. Cada restricción creará una región en la imagen. Todas las regiones creadas por las restricciones se intersectarán. Además, el área de búsqueda calculada para el elemento se intersectará con el área de búsqueda del elemento Group del que forma parte este elemento.