Next: C.2.1 Los constructores de 
Up: AÏDA
 Previous: AÏDA
 
Desde el punto de vista de AÏDA, una imagen es un objeto LE-LISP que
puede ser dibujado en una pantalla gráfica. AÏDA proporciona un conjunto 
de objetos que implementan imágenes
atómicas
 y compuestas
,
así como un lenguaje de descripción de imágenes que permite construir
nuevas imágenes mediante la aplicación de constructores de imágenes
a las ya definidas.
Las imágenes se representan en LE-LISP mediante estructuras capaces
de responder a mensajes como:
-  display, que indica una petición para dibujar la imagen en pantalla.
        La petición puede ser para la imagen completa o para una parte o región
        de la misma.
 -  invert-display, que muestra una imagen en video inverso.
 -  bounding-box, que se utiliza para obtener el menor
	rectángulo capaz de contener a la imagen.
 -  width, que devuelve la anchura de la bounding-box.
 -  height, que  devuelve la altura de la bounding-box.
 -  x e y devuelven, respectivamente, las coordenadas horizontal y 
        vertical del display point, que se corresponde con la esquina
        de la bounding-box más cercana al eje de coordenadas. Siempre
        que se dibuja una imagen en pantalla, se utiliza el display point 
        como punto de referencia.
 
También es posible modificar físicamente las im genes. Para ello se hace uso
de unos métodos llamados transformaciones. Con ello se evita la creación 
o asignación de imágenes completamente nuevas. Sin embargo, las transformaciones no
suelen tener un efecto inmediato en pantalla, sino que debe ser el propio
programador el que indique explícitamente que se redibujen ciertas imágenes. 
Como precaución hay que tener en cuenta que hay imágenes que no son 
modificables físicamente; en tales casos el resultado correcto está en la 
imagen devuelta, ya que la imagen argumento no habrá sufrido cambios.
Transformaciones muy utilizadas son:
-  translate, utilizada para desplazar la posición de la imagen en la pantalla.
        No es aplicable sobre cadenas de caracteres.
 -  grow, que se utiliza para modificar las dimensiones de la imagen.
        Los iconos y las cadenas de caracteres no pueden modificar su tamaño.
 -  resize, prácticamente igual que grow excepto que se puede indicar 
        que la imagen sólo crezca (o mengüe) en una dimensión.
 
Otros métodos interesantes son intersecp, un predicado que indica si un 
punto en  una imagen está localizado dentro de una determinada sección 
rectangular de la pantalla, y map-constituents, que permite aplicar 
una función a todas las imágenes que a su vez componen la imagen, aunque tan solo 
en un primer nivel de descomposición.
AÏDA también proporciona un conjunto de macros que facilitan 
la definición del tamaño de las imágenes: Estas macros son:
-  #<tanto-por-ciento>wdisplay o #<tanto-por-ciento>wd, que 
        devuelven un entero que representa la porción del ancho de la pantalla
        indicada por el entero <tanto-por-ciento>.
 -  #<tanto-por-ciento>hdisplay o #<tanto-por-ciento>hd, 
        como la anterior, pero para la altura.
 -  #<número>wchar o #<número>wc devuelve el ancho en pixels
        del espacio en blanco en la fuente actual multiplicado por <número>.
 -  #<número>hchar o #<número>hc, como la anterior pero para
        la altura.
 
 
 
 
  
 Next: C.2.1 Los constructores de 
Up: AÏDA
 Previous: AÏDA
Miguel A. Alonso Pardo 
Thu Nov 20 16:47:01 CET 1997