<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="gdk" xml:lang="ru">
<info>
  <link type="guide" xref="index" group="gdk"/>
  <desc>Основа обработки событий и действий с окнами</desc>
  <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
</info>

<title>GDK</title>

<p>GDK — это низкоуровневая библиотека, используемая GTK+ для работы с графикой и устройствами ввода. Хотя непосредственное использование библиотеки GDK в коде довольно редко, она содержит весь функционал необходимый для прорисовки объектов и текста на экране, а также взаимодействия с пользователем с помощью различных устройств ввода.</p>

<p>GDK позволяет использовать события клавиатуры, мыши и других устройств ввода, вместо использования высокоуровневых сигналов GTK+. Также GDK предоставляет доступ к низкоуровневым процедурам перетаскивания и работы с данными системного буфера обмена. При реализации собственных элементов управления, возможно, понадобится этот функционал для реализации корректного взаимодействия с элементами интерфейса.</p>

<p>GDK содержит и другой функционал, необходимый для реализации полноценного графического пакета, например GTK+. Так как GDK выступает в роли уровня абстракции платформы, позволяя GTK+ работать в различных средах, он обеспечивает API для всего системного функционала, необходимого GTK+, например получение информации о множественных дисплеях, разрешении экрана и глубине цвета, цветовых картах и курсорах.</p>

<p>Необходимость в использовании GDK возникает, если есть потребность в низкоуровневом доступе к слою, находящемуся под оконной системой, включая низкоуровневый доступ к событиям, окнам и буферу обмена. Использование GDK для таких задач гарантирует переносимость кода и интеграцию с остальной частью кода, использующего GTK+. В основном, не следует использовать примитивные процедуры прорисовки из GDK, вместо этого следует использовать расширенный функционал Cairo.</p>

<list style="compact">
  <item><p><link href="http://library.gnome.org/devel/gdk/stable/">Справочное руководство по GDK</link></p></item>
</list>
</page>
