Blame platform-overview/de/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="de">
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>Low-Level-Abstraktion des Fenstersystems</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Mario Blättermann</mal:name>
Packit 1470ea
      <mal:email>mario.blaettermann@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2009-2012, 2016</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>Christian Kirbach</mal:name>
Packit 1470ea
      <mal:email>christian.kirbach@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2011, 2012, 2015, 2017, 2018</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>Aljosha Papsch</mal:name>
Packit 1470ea
      <mal:email>al@rpapsch.de</mal:email>
Packit 1470ea
      <mal:years>2012</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
<title>GDK</title>
Packit 1470ea
Packit 1470ea
  

GDK ist die systemnahe Bibliothek, die von <link xref="tech-gtk">GTK+</link> dazu verwendet wird, um mit der Grafik und den Eingabegeräten des Systems zu interagieren. Auch wenn Sie GDK selten direkt im Programmcode benutzen werden, enthält es alle nötige Funktionalität, um systemnah Fenster auf dem Bildschirm zu erstellen und mit dem Benutzer über verschiedene Eingabegeräte zu interagieren. GDK arbeitet als Abstraktionsschicht für verschiedene Fenstersysteme, damit GTK+ auf alle portierbar ist: X Window System (X11), Microsoft Windows und Mac OS X Quartz.

Packit 1470ea
Packit 1470ea

GDK bietet Ihnen Zugriff auf Ereignisse, die von Tastaturen, Mäusen und anderen Eingabegeräten ausgehen. Implementationen von Widgets in GTK+ verwenden diese Funktionalität und setzen diese Ereignisse in Signale höherer Ebene um, die umgekehrt im Anwendungscode genutzt werden können. Zum Beispiel verfolgt GtkButton die von der Maus erzeugten Ereignisse GDK_BUTTON_PRESS und GTK_BUTTON_RELEASE und setzt diese entsprechend in ein GtkButton::clicked-Signal um, wenn der Benutzer den Knopf an der richtigen Stelle drückt und loslässt.

Packit 1470ea
Packit 1470ea

GDK stellt auch systemnahe Routinen für das Ziehen-und-Ablegen und die Zwischenablage vom System bereit. Beim Implementieren von angepassten Steuerelementen sind diese Funktionen hilfreich zur richtigen Umsetzung von Benutzerinteraktionen.

Packit 1470ea
Packit 1470ea

GDK stellt andere Funktionalitäten bereit, die zum Implementieren eines vollständigen grafischen Toolkits wie GTK+ nötig sind. Weil GDK als Abstraktionsplattform dient, ermöglicht es GTK+ unter mehreren Umgebungen zu laufen. Es verfügt über eine Schnittstelle für all die von GTK+ benötigten Systemfunktionalitäten. Darunter fallen Informationen über Betrieb mit mehreren Bildschirmen, Auflösung und Farbtiefe, Farbtabellen und Mauszeiger.

Packit 1470ea
Packit 1470ea
  

Sie sollten GDK immer dann benutzen, wenn Sie systemnahen Zugriff auf das zugrunde liegende Fenstersystem benötigen. Das beinhaltet systemnahen Zugriff auf Ereignisse, Fenster und die Zwischenablage. Mit GDK für diese Aufgaben stellen Sie sicher, dass Ihr Code portierbar ist und sich in den Rest Ihres GTK+-Codes integriert. Die einfachen Zeichenroutinen in GDK sollten generell nicht verwendet werden. Diese sind ein Überbleibsel aus früheren Zeiten. Stattdessen sollten Sie <link xref="tech-cairo">Cairo</link> mit seiner umfangreichen Funktionalität einsetzen, um hochwertige 2D-Grafiken zu zeichnen.

Packit 1470ea
Packit 1470ea
<list style="compact">
Packit 1470ea
  <item>

<link href="http://developer.gnome.org/gdk3/stable/">Das Referenzhandbuch von GDK</link>

</item>
Packit 1470ea
</list>
Packit 1470ea
</page>