lunes, 13 de agosto de 2007

Crear una ventana en Debian a traves del sistema X11

Estoy haciendo un pequeño ejemplo sobre como crear ventanas, interface, para debian usando X11, para ello me he basado en una web especificamente de Chuidiang, y consejos de varios foros.

Los primero es crear una carpeta de trabajo. Yo le llamo Program, luego ubi{candonos en ese directorio creamos un fichero ordinario denominado: Ventana1.cc, el codigo completo de este archivo lo extrai de aqui, pero de todas maneras lo coloco en las siguientes lineas:

Fichero: Ventana1.cc
/**
* Javier Abellán, 4 de Febrero de 2003
*
* Programa simple para la creación de una ventana y dibujo de gráficos en
* ella.
*/
#include
#include

int main()
{
/* Conexion con el servidor de X */
Display *disp = NULL;

/* Ventana que vamos a crear para dibujar */
Window ventana;

/* Color que vamos a utilizar para dibujar una linea */
XColor color;

/* Abrimos la conexion con el servidor de X */
disp = XOpenDisplay(NULL);

/* Creamos una ventana */
ventana = XCreateSimpleWindow (
disp,
XDefaultRootWindow (disp),
100, 100,
500, 500,
1, 1,
BlackPixel (disp, DefaultScreen(disp)));

/* Hacemos que la ventana sea visible */
XMapWindow (disp, ventana);
XFlush (disp);

/* Obtenemos el color rojo */
color.flags = DoRed | DoGreen | DoBlue;
color.red = 65535;
color.blue = 0;
color.green = 0;

XAllocColor (
disp,
DefaultColormap (disp, DefaultScreen(disp)),
&color);

/* Indicamos que el color de dibujo a partir de ahora es el rojo */
XSetForeground (
disp,
XDefaultGC (disp, DefaultScreen(disp)),
color.pixel);

/* Dibujamos una linea */
XDrawLine (
disp,
ventana,
XDefaultGC (disp, DefaultScreen(disp)),
10, 10,
100, 100);

XFlush (disp);

/* Espera para que la ventan ano se cierre inmediatamente */
sleep (100);
}

Luego de terminar de editarlo sigue la compilacion desde el terminal, colocamos:
-$ g++ Ventana2.cc -L/usr/X11R6/lib -lX11 -o Ventana2
Luego de esto se genra un ejecutable Ventana2, tal como indicamos en la orden anterior.
Ahora lo ejecutamos:
-$ ./Ventana2
Y listo!, la ventana aparecio.

Problemas con g++
Inicialmente cuando trate de ejecutar este ejemplo, no me corria porque recien habia instalado debian asi que
no tenia instalado el compilador de c. Bueno lo que hice fue, basandome en algunos foros, tuve que insertar mi disco
de instalacion y seguidamente ejecutar desde el terminal el siguiente comando, se debe entrar como root:
-# apt-get install build-essential
Y listo!, problema solucionado.

No hay comentarios: