La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Linux/586619-Se-borra-el-contenido-de-una-ventana.html

Se borra el contenido de una ventana!!

Se borra el contenido de una ventana!!

Publicado por jesuscc (12 intervenciones) el 19/01/2006 11:27:35
Hola a tod@s.
Me estoy iniciando en la programación de las X en Linux. Los conceptos de cómo dibujar ya están más o menos claros.
El problema es que al mover la ventana o colocar otra ventana sobre la que estoy dibujando, lo que hay se borra.
¿Cómo puedo, de una manera fácil, evitar eso?.

Os agradezco vuestras respuestas.

RE:Se borra el contenido de una ventana!!

Publicado por n0str0m0 (1503 intervenciones) el 19/01/2006 12:33:23
No sé exactamente lo que quieres hacer... pero la programación directa de las X, no sale demasiado rentable en el sentido de tiempo/resultados.

Salvo que te sea imprescindible usar la Xlib, yo te recomiendo que te pases a programar con Gtk o Qt que en el fondo son wrappers para dibujar botones, ventanas, etc... y que solucionan por ellos mismos problemas de repintado como el que describes.

Salu2

RE:Se borra el contenido de una ventana!!

Publicado por jesuscc (12 intervenciones) el 20/01/2006 08:30:04
He leído algo de los eventos. Creo que tiene que ver con eso. Pero no tengo mucha idea de cómo controlarlo.

Gracias por la respuesta
sin imagen de perfil

RE:Se borra el contenido de una ventana!!

Publicado por chuidiang (22 intervenciones) el 22/01/2006 15:23:28
Hola:

Cuando la ventana se mueve y demás, se repinta. Hay dos formas de conseguir que se vuelva a repintar lo que tú quieras.

Una es con el tema de eventos. Debes suscribirte y atender a los eventos de necesidad de repintado de la ventana para volver a pintar lo que necesites. Esto, aunque lo hice en su día, no recuerdo muy bien como es y tendría que mirarlo.

La forma más sencilla es decirle a la ventana que recuerde qué tiene pintado, de forma que ella sola se repinta. Esto se consigue fijando el atributo backingstore a true en el momento de crearla. En http://mail.gnome.org/archives/gtk-list/1998-November/msg00301.html puedes mirar cómo se hace.

Con esta última forma no tienes que preocuparte de nada, pero tiene la pega de que consume algo más de memoria, porque la ventana se guarda una imagen de lo que está mostrando para repintarla cuando haga falta. Tampoco puedes conseguir cosas como que tu dibujo se agrande al agrandar la ventana.

Se bueno.

RE:Se borra el contenido de una ventana!!

Publicado por jesuscc (12 intervenciones) el 02/02/2006 09:42:08
Muchas gracias, chuidiang.
Lo he mirado, lo probaré y ya te cuento.

Un saludo