Saltar al contenido principal
La región de búsqueda de un elemento se define mediante las propiedades del elemento configuradas en la sección Dónde buscar y las condiciones establecidas 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, aplica las restricciones adicionales definidas 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, un conjunto continuo de rectángulos: variable Region), o a un conjunto de rectángulos que, en términos generales, no tiene por qué ser continuo (variable RectArray). Este tipo de restricción se establece mediante la función RestrictSearchArea y la especificación de un parámetro del tipo correspondiente. Cualquier expresión que devuelva valores del tipo requerido puede utilizarse 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 concreto. Estas restricciones se definen con las funciones Leftof, Rightof, Above y Below.
  3. En ocasiones puede querer 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 definir estas restricciones en la fase de cálculo del área de búsqueda, reduciendo así el conjunto de posibles hipótesis para un elemento. Estas restricciones se establecen mediante 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 de la zona de búsqueda un rectángulo, un conjunto de rectángulos, una hipótesis, etc. Esto puede hacerse mediante las funciones Exclude, ExcludeRect y ExcludeSet.
Puede especificar cualquier número de restricciones de búsqueda de los tipos anteriores en la sección Condiciones de búsqueda. 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 este elemento forma parte.