On 10/4/06, Bill Cunningham <billcm@xxxxxxxxxxx> wrote: > > ----- Original Message ----- > From: "Matt Hoosier" <mwhoosier@xxxxxxxxx> > To: "Bill Cunningham" <billcm@xxxxxxxxxxx> > Cc: <gtk-list@xxxxxxxxx> > Sent: Wednesday, October 04, 2006 1:12 AM > Subject: Re: gtk layering > > > > Bill, > > > > glib and X11 are orthogonal; neither depends on the other. Gtk+ uses > > each one directly. > > I see. Thanks Matt. These internals are fascinating to me. I understand > things better. Does gtk use glib for frame buffering or just X? What does > gtk use pango and cairo for? The primary uses of glib are for its utility data structures (somewhat lesser role) and the big one: the gobject type system. Notice that every GtkWidget subclass inherits ultimately from GObject, whose type is given in the glib headers. I don't know the gdk-directfb backend well at all, other than to say that I once ran it on a x86 machine as a proof of concept. I doubt that glib has much to do with the rendering there, though; probably libdirectfb contains API to perform the various 2D operations. If not, I suppose Gtk+ can manually paint bytes in the buffer. Pango is a high-level text presentation library. All of the widgets such as GtkTextview, GtkLabel, etc. use one or more worker objects from the Pango API to draw their textual pieces. Cairo is the 2D graphics engine which is used to implement a good chunk of the default rendering code. Most of these calls occur in the default Gtk+ theme, so that one can replace the Cairo codepaths with some other just by supplying a different theme engine. --Matt > > Bill > _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list