Re: What, in detail, the GDK do?



28.12.09, 12:46, "frederico schardong" <frede sch gmail com>:
> >gdk wraps the business of creating a window and getting events
> only a window or all the widgets?

Everything below GTK+ is just to make things cross-platform.

GTK+ widgets do use GDK windows and other primitives. GDK is a
thin layer that provides same interface to windowing system (X11,
GDI, Quartz, etc.) on all platforms supported. Its interface is
very close to Xlib, and wraps some functionality described at
freedesktop.org on platforms that do not conform freedesktop.org
standards.

GDK primitives are: real windows and events, off-screen pixel
buffers, selections (low-level clipboard), drag-n-drop (again,
low-level), keyboard, pointer, other input devices. [1]

Shortly, GTK+ widgets use GDK for interaction, cairo for (custom)
painting, pango for painting text. GLib [2] is extended cross-
platform version of clib, plus ADT, OO, utf-8, io, etc.
GTK+ and GDK do use GLib, pango and cairo do not.

Moreover, GDK, pango and cairo do not form strict hierarchy --
they all have many backends and may cooperate in different ways
on different platforms or applications. (i'm not sure whether
this is true for GTK+ implementation, however)

[1] http://library.gnome.org/devel/gdk/stable/
[2] http://library.gnome.org/devel/glib/stable/

-- 
Artur


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]