El manejo de colores y de fuentes en Xlib puede ser algo confuso o complejo para algunos que recien comienzan a programar unsando las librerias base del Xserver las Xlib.
En este ejemplo se muestra como crear una ventana y luego en ella colocar texto con un tamaño y color determinado.
/**********x11_1.c*************/
#include < X11/Xlib.h >
#include < X11/Xutil.h >
#include < stdio.h >
#include < string.h >
/*
Retorna el color mas proximo del mapa de colores
*/
unsigned long Buscar_color_nombre( Display *display, char *Nombre )
{
XColor color, temp;
XAllocNamedColor( display,DefaultColormap(display,DefaultScreen(display)),Nombre, &color, &temp );
return color.pixel;
}
int main()
{
Display *display;
Window window;
GC gc;
Font fuente;
char *Texto1 = "Test: Fuentes en Xlib";
char *Texto2 = "Color Rojo";
char *Texto3 = "Color Verde";
display = XOpenDisplay( NULL );
window = XCreateSimpleWindow( display,DefaultRootWindow( display ),100, 100, 300, 200, 1, 0, 1 );
XMapWindow( display, window );
gc = XCreateGC( display, window, 0, NULL );
fuente = XLoadFont( display, "9x15" );
XSetForeground(display, gc, Buscar_color_nombre(display, "white"));
XSetFont( display, gc, fuente );
XDrawString( display, window, gc, 10, 50, Texto1, strlen(Texto1) );
XSetForeground(display, gc, Buscar_color_nombre(display, "red"));
XDrawString( display, window, gc, 10, 80, Texto2, strlen(Texto2) );
XSetForeground(display, gc, Buscar_color_nombre(display, "green"));
XDrawString( display, window, gc, 10, 110, Texto3, strlen(Texto3) );
XFlush( display );
getchar();
}
/******************************/
Compilacion:
gcc -o x11_1 x11_1.c -lX11
No hay comentarios:
Publicar un comentario