Re: Very confused with pixbufs, pixmaps, images, rgbs and drawables



A lot of the names come from Xlib and ancient history.

On 8/8/05, Chris Seaton <chris chrisseaton com> wrote:
> GdkPixmap - server side pixel map
> GdkBitmap - server side pixel map, 1bpp

Bingo! Exactly right. Names from X history. Bitmap was the original,
pixmap was added later when the first colour displays appeared. They
are close to the hardware, so they have a bunch of extra stuff like
visuals and colormaps associated with them.

> GdkPixbuf - client side pixel map

The big thing here is that pixbuf is not so close to the hardware.
It's just a 24 bit RGB buffer (they have some hooks for other colour
spaces, but I don't know if there are plans to add them).

Pixbuf is a nice clean (fairly) high level API added by the gtk team
that hides client-side complexity from you.

> GdkImage - not really sure, but it says it's redundant to GdkRGB

XImage is what used to be used for client-side images. It is close to
the hardware and changes annoying between different displays. Just
awful to work with, avoid it if you possibly can.

> GdkRGB - seems to render raw pixel data from a simple pointer

This is (sort of) the thing GdkPixbuf uses to hide the insides of
GdkImage from you. You can (sometimes) get a little speed by using it
directly, but usually you should go through GdkPixbuf.

> Is that right? Please set me straight. What are they all for? And which
> do I want to solve my problem in the first paragraph?

Summary: use GdkPixbuf client-side and GdkPixmap server-side.



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