Re: gtk layering

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

 



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

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux