/*
Aplicación simple que usa Xlib, una ventana con un cuadrado negro en su interior
*/
#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
Display *d;
Window w;
XEvent e;
char *msg = "¡Hola, Mundo!";
int s;
/* abrir la conexión con el servidor gráfico*/
d = XOpenDisplay(NULL);
if (d == NULL) {
fprintf(stderr, "No se pudo conectar al servidor gráfico\n");
exit(1);
}
s = DefaultScreen(d);
/* crea la ventana */
w = XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 100, 100, 1,
BlackPixel(d, s), WhitePixel(d, s));
/* selecciona la clase de eventos que interesan */
XSelectInput(d, w, ExposureMask | KeyPressMask);
/* muestra la ventana */
XMapWindow(d, w);
/* lazo de eventos */
while (1) {
XNextEvent(d, &e);
/* dibujar o redibujar la ventana */
if (e.type == Expose) {
XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
XDrawString(d, w, DefaultGC(d, s), 50, 50, msg, strlen(msg));
}
/* salir si se presionó una tecla */
if (e.type == KeyPress)
break;
}
/* cerrar la conexión al servidor gráfico */
XCloseDisplay(d);
return 0;
}
1 Response
Write a comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.