Cairo 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, luego de que el evento expose redibuja todo, este 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]