Blame platform-overview/es/tech-gdk.page

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>