PyCairo y el evento expose



Estimados,

Estoy desarrollando una aplicacion con PyGTK y PyCairo, el problema es el siguiente:

tengo una mini aplicacion de ejemplo la cual posee un drawingarea y un boton simple. Cuando es invocado el evento expose por primera vez (cuando se despliega la aplicacion), dibujo en el drawingarea un rectangulo azul de fondo y un Grid. Al presionar el boton estoy llamando a una funcion mediante gobject.timeout_add(...) que cada 500ms va dibujando trazos de una linea blanca en el drawingarea infinitamente , manteniendo el eje Y e incrementando el eje X correlativamente, es decir una linea recta.

Cuando presiono el boton para comenzar a dibujar todo funciona perfectamente, pero una vez que cambio de ventana o minimizo la del programa. se invoca el evento expose por lo cual me veo obligado a redibujar lo que tenia en el drawingarea, el problema esta en que la funcion que me esta dibujando la linea a traves del timeout, no puede seguir dibujando en el drawingarea (la funcion del timeout), es decir, los metodos de cairo son llamados y ejecutados sin problemas, pero nada aparece de forma visible.

aqui he subido el codigo:

   http://monkeyd.sf.net/drawingarea.tar.gz

cualquier ayuda será bien recibida.

saludos!

Eduardo Silva


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]