|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gdk" xml:lang="es">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<link type="guide" xref="tech" group="gdk"/>
|
|
Packit |
1470ea |
<revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Shaun McCance</name>
|
|
Packit |
1470ea |
<email its:translate="no">shaunm@gnome.org</email>
|
|
Packit |
1470ea |
<years>2011–2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>Abstracción de bajo nivel para el sistema de ventanas</desc>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Daniel Mustieles</mal:name>
|
|
Packit |
1470ea |
<mal:email>daniel.mustieles@gmail.com</mal:email>
|
|
Packit |
1470ea |
<mal:years>2011-2017</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Jorge González</mal:name>
|
|
Packit |
1470ea |
<mal:email>jorgegonz@svn.gnome.org</mal:email>
|
|
Packit |
1470ea |
<mal:years>2007-2010</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Mario Carrión</mal:name>
|
|
Packit |
1470ea |
<mal:email>mario@monouml.org</mal:email>
|
|
Packit |
1470ea |
<mal:years>2006</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>GDK</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK es la biblioteca de bajo nivel que usa <link xref="tech-gtk">GTK+</link> para interactuar con el sistema de ventanas para los dispositivos gráficos y de entrada. Aunque rara vez usará GDK directamente en el código de la aplicación, contiene toda la funcionalidad necesaria para crear ventanas de bajo nivel en la pantalla y para interactuar con el usuario con varios dispositivos de entrada. GDK actúa como una capa de abstracción sobre varios sistemas de ventanas, por lo que GTK+ se puede usar en todos ellos: el sistema X-Window (X11), Microsoft Windows y Mac OS X Quartz.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK le permite acceder a eventos del teclado, del ratón y a otros dispositivos de entrada. Las implementaciones de widgets en GTK+ usan esta funcionalidad, y traducen los eventos en señales de alto nivel que se pueden usar desde el código de la aplicación. Por ejemplo, un widget GtkButton registrará los eventos GDK_BUTTON_PRESS y GTK_BUTTON_RELEASE , que provienen del ratón, y los traducirá a la señal GtkButton::clicked cuando el usuario pulsa y suelta el botón el ubicación adecuada.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK también proporciona rutinas de bajo nivel para acceder a los datos de arrastrar y soltar y del portapapeles del sistema. Cuando implemente controles personalizados, quizá deba acceder a estas características para implementar un comportamiento adecuado de la interacción con el usuario.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK proporciona otra funcionalidad necesaria para implementar un toolkit gráfico completo como GTK+. Ya que GDK actúa como una plataforma de abstracción, permitiendo que GTK+ se ejecute en múltiples entornos, proporciona una API para todas las funcionalidades del sistema que necesita GTK+. Esto incluye información acerca configuraciones multimonitor, resolución y profundidad de color, mapas de colores y cursores.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Debería usar GDK siempre que necesite acceso de bajo nivel al sistema de ventanas, incluyendo acceso a bajo nivel para eventos, ventanas y al portapapeles. Usar GDK para estas tareas asegura que su código es portable y se integra con el resto de su código GTK+. Generalmente no deberían usarse las rutinas de dibujado simple en GDK; estas se dejan para cuando GDK simplemente envuelve las primitivas de dibujado del sistema de ventanas. En su lugar, debería usar la extensa funcionalidad que proporciona <link xref="tech-cairo">Cairo</link> para dibujar gráficos 2D de alta calidad.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list style="compact">
|
|
Packit |
1470ea |
<item><link href="https://developer.gnome.org/gdk3/stable/">Manual de referencia de GTK+</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</page>
|