1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
4 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
5 <TITLE>GTK+ FAQ: Acerca de gdk</TITLE>
6 <LINK HREF="gtkfaq-es-6.html" REL=next>
7 <LINK HREF="gtkfaq-es-4.html" REL=previous>
8 <LINK HREF="gtkfaq-es.html#toc5" REL=contents>
10 <BODY BGCOLOR="#FFFFFF">
11 <A HREF="gtkfaq-es-6.html">Next</A>
12 <A HREF="gtkfaq-es-4.html">Previous</A>
13 <A HREF="gtkfaq-es.html#toc5">Contents</A>
15 <H2><A NAME="s5">5. Acerca de gdk</A></H2>
17 <H2><A NAME="ss5.1">5.1 ¿Qué es gdk?</A>
20 <P>gdk es básicamente una envoltura alrededor de las llamadas a funciones
21 Xlib. Si estás familiarizado con Xlib, muchas de las funciones en gdk
22 requerirán poco o ningún tiempo para acostumbrarse.
23 Todas las funciones están escritas para proporcionar una manera fácil de
24 acceder a las funciones Xlib en una manera un poco más intuitiva.
25 Adicionalmente, ya que gdk utiliza glib (vea abajo), será más portable
26 y seguro de utilizar en
27 múltiples plataformas.
30 <H2><A NAME="ss5.2">5.2 ¿Cómo utilizo la asignación de colores?</A>
33 <P>Una de las cosas agradables de GDK es que está basado sobre Xlib; esto
34 también es un problema, especialmente en el área de administración
35 de colores. Si usted quiere utilizar color en su programa (dibujando un
36 rectángulo o algo por el estilo, su código debe lucir algo así:
48 /* primero, cree un GC (contexto grafico) en el cual dibujar */
49 gc = gdk_gc_new(widget->window);
51 /* encuentre las dimensiones correctas para el rectangulo */
52 gdk_window_get_size(widget->window, &width, &height);
54 /* el color que queremos utilizar */
55 color = (GdkColor *)malloc(sizeof(GdkColor));
57 /* rojo, verde y azul son valores pasados, indicando el trio RGB
58 * del color que queremos dibujar. Note que los valores de los componentes
59 * RGB dentro de GdkColor son tomados de 0 a 65535, no de 0 a 255.
61 color->red = red * (65535/255);
62 color->green = green * (65535/255);
63 color->blue = blue * (65535/255);
65 /* el valor de pixel indica el indice en el mapa de colores del color.
66 * simplemente es una combinacion de los valores RGB colocados anteriormente
68 color->pixel = (gulong)(red*65536 + green*256 + blue);
70 /* Sin embargo, el valor de pixel es solo valido en dispositivos de 24-bit
71 * (color verdadero). Por lo tanto, esta llamada es requerida para que GDK
72 * y X puedan darnos el color mas cercano disponible en el mapa de colores
74 gdk_color_alloc(gtk_widget_get_colormap(widget), color);
76 /* colocar la parte delantera a nuestro color */
77 gdk_gc_set_foreground(gc, color);
79 /* dibujar el rectangulo*/
80 gdk_draw_rectangle(widget->window, gc, 1, 0, 0, width, height);
88 <A HREF="gtkfaq-es-6.html">Next</A>
89 <A HREF="gtkfaq-es-4.html">Previous</A>
90 <A HREF="gtkfaq-es.html#toc5">Contents</A>