mosaico-lib-0.1.1.0: Generación interactiva de mosaicos

Copyrightⓒ Manuel Gómez, 2015
LicenseBSD3
Maintainertargen@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Graphics.Mosaico.Ventana

Description

Representación orientada a objetos de una ventana interactiva donde se puede mostrar un Diagrama con una parte enfocada, y obtener eventos de teclas pulsadas en la ventana.

Synopsis

Documentation

data Ventana Source

Un valor del tipo Ventana es un objeto que representa a una ventana interactiva donde puede dibujarse un Diagrama. Es posible, además, obtener información de qué teclas son pulsadas sobre la ventana.

cerrar :: Ventana -> IO () Source

Dada una Ventana, hacer que se cierre y que no pueda producir más eventos de teclado.

crearVentana Source

Arguments

:: Integer

Número de píxeles de anchura de la Ventana a crear.

-> Integer

Número de píxeles de altura de la Ventana a crear.

-> IO Ventana

La Ventana nueva, ya visible, con el lienzo en blanco.

Construye un objeto del tipo Ventana dadas sus dimensiones en número de píxeles.

leerTecla :: Ventana -> IO (Maybe String) Source

Dada una Ventana, esperar por un evento de teclado.

Cuando sobre la ventana se haya pulsado alguna tecla que no haya sido reportada a través de este cómputo, se producirá como resultado Just tecla, donde tecla será el nombre de la tecla.

Si la ventana ya ha sido cerrada, se producirá como resultado Nothing.

El texto correspondiente a cada tecla es aproximadamente igual al nombre del símbolo en la biblioteca GDK sin el prefijo GDK_KEY_. La lista completa está disponible en el código fuente de la biblioteca GDK. Sin embargo, la mejor manera de descubrir cuál simbolo corresponde a cada tecla es crear una Ventana y hacer que se imprima el texto correspondiente a cada tecla pulsada sobre ella.

mostrar :: Ventana -> [Paso] -> Diagrama -> IO () Source

Dada una Ventana, un Diagrama, y una lista de Pasos, representar gráficamente el Diagrama dado sobre el lienzo de la Ventana, haciendo resaltar visualmente el nodo del árbol alcanzado si se realizan los movimientos correspondientes a la lista de Pasos desde la raíz del árbol.

Los nodos se resaltan con un cuadro verde, y se colorean según el tipo de nodo. En el caso de nodos intermedios, se colorea en azul la región correspondiente al primer subárbol del nodo binario, y en rojo la región correspondiente al segundo subárbol. En el caso de nodos terminales (hojas), el rectángulo se colorea en amarillo.