GDK Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# Bitmaps and Pixmaps

## Name

Bitmaps and Pixmaps -- Offscreen drawables.

## Synopsis

    #include <gdk/gdk.h>

    struct      GdkPixmap;
    GdkPixmap*  gdk_pixmap_new                  (GdkWindow *window,
                                                 gint width,
                                                 gint height,
                                                 gint depth);
    GdkBitmap*  gdk_bitmap_create_from_data     (GdkWindow *window,
                                                 const gchar *data,
                                                 gint width,
                                                 gint height);
    GdkPixmap*  gdk_pixmap_create_from_data     (GdkWindow *window,
                                                 const gchar *data,
                                                 gint width,
                                                 gint height,
                                                 gint depth,
                                                 GdkColor *fg,
                                                 GdkColor *bg);
    GdkPixmap*  gdk_pixmap_create_from_xpm      (GdkWindow *window,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 const gchar *filename);
    GdkPixmap*  gdk_pixmap_colormap_create_from_xpm
                                                (GdkWindow *window,
                                                 GdkColormap *colormap,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 const gchar *filename);
    GdkPixmap*  gdk_pixmap_create_from_xpm_d    (GdkWindow *window,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 gchar **data);
    GdkPixmap*  gdk_pixmap_colormap_create_from_xpm_d
                                                (GdkWindow *window,
                                                 GdkColormap *colormap,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 gchar **data);
    GdkPixmap*  gdk_pixmap_ref                  (GdkPixmap *pixmap);
    void        gdk_pixmap_unref                (GdkPixmap *pixmap);
    struct      GdkBitmap;
    GdkBitmap*  gdk_bitmap_ref                  (GdkBitmap *pixmap);
    void        gdk_bitmap_unref                (GdkBitmap *pixmap);

## Description

Pixmaps are offscreen drawables. They can be drawn upon with the standard drawing primitives, then copied to another drawable (such as a GdkWindow) with gdk_pixmap_draw(). The depth of a pixmap is the number of bits per pixels. Bitmaps are simply pixmaps with a depth of 1. (That is, they are monochrome bitmaps - each pixel can be either on or off).

## Details

### struct GdkPixmap

    struct GdkPixmap
    {
      gpointer user_data;
    };

An opaque structure representing an offscreen drawable. Pointers to structures of type GdkPixmap, GdkBitmap, and GdkWindow, can often be used interchangeably. The type GdkDrawable refers generically to any of these types.

### gdk_pixmap_new ()

    GdkPixmap*  gdk_pixmap_new                  (GdkWindow *window,
                                                 gint width,
                                                 gint height,
                                                 gint depth);

Create a new pixmap with a given size and depth.

`window` : | a GdkWindow, used to determine default values for the new pixmap. Can be `NULL` if `depth` is specified,
`width` : | The width of the new pixmap in pixels.
`height` : | The height of the new pixmap in pixels.
`depth` : | The depth (number of bits per pixel) of the new pixmap. If -1, and `window` is not `NULL`, the depth of the new pixmap will be equal to that of `window`.
Returns : | the GdkBitmap

### gdk_bitmap_create_from_data ()

    GdkBitmap*  gdk_bitmap_create_from_data     (GdkWindow *window,
                                                 const gchar *data,
                                                 gint width,
                                                 gint height);

Creates a new bitmap from data in XBM format.

`window` : | a GdkWindow, used to determine default values for the new pixmap. Can be `NULL`, in which case the root window is used.
`data` : | a pointer to the XBM data.
`width` : | the width of the new pixmap in pixels.
`height` : | the height of the new pixmap in pixels.
Returns : | the GdkBitmap

### gdk_pixmap_create_from_data ()

    GdkPixmap*  gdk_pixmap_create_from_data     (GdkWindow *window,
                                                 const gchar *data,
                                                 gint width,
                                                 gint height,
                                                 gint depth,
                                                 GdkColor *fg,
                                                 GdkColor *bg);

Create a two-color pixmap from data in XBM data.

`window` : | a GdkWindow, used to determine default values for the new pixmap. Can be `NULL`, if the depth is given.
`data` : | a pointer to the data.
`width` : | the width of the new pixmap in pixels.
`height` : | the height of the new pixmap in pixels.
`depth` : | the depth (number of bits per pixel) of the new pixmap.
`fg` : | the foreground color.
`bg` : | the background color.
Returns : | the GdkPixmap

### gdk_pixmap_create_from_xpm ()

    GdkPixmap*  gdk_pixmap_create_from_xpm      (GdkWindow *window,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 const gchar *filename);

Create a pixmap from a XPM file.

`window` : | a GdkWindow, used to determine default values for the new pixmap.
`mask` : | a pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be `NULL`, in which case transparency will be ignored.
`transparent_color` : | the color to be used for the pixels that are transparent in the input file. Can be `NULL`, in which case a default color will be used.
`filename` : | the filename of a file containing XPM data.
Returns : | the GdkPixmap

### gdk_pixmap_colormap_create_from_xpm ()

    GdkPixmap*  gdk_pixmap_colormap_create_from_xpm
                                                (GdkWindow *window,
                                                 GdkColormap *colormap,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 const gchar *filename);

Create a pixmap from a XPM file using a particular colormap.

`window` : | a GdkWindow, used to determine default values for the new pixmap. Can be `NULL` if `colormap` is given.
`colormap` : | the GdkColormap that the new pixmap will be use. If omitted, the colormap for `window` will be used.
`mask` : | a pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be `NULL`, in which case transparency will be ignored.
`transparent_color` : | the color to be used for the pixels that are transparent in the input file. Can be `NULL`, in which case a default color will be used.
`filename` : | the filename of a file containing XPM data.
Returns : | the GdkPixmap.

### gdk_pixmap_create_from_xpm_d ()

    GdkPixmap*  gdk_pixmap_create_from_xpm_d    (GdkWindow *window,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 gchar **data);

Create a pixmap from data in XPM format.

`window` : | a GdkWindow, used to determine default values for the new pixmap.
`mask` : | Pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be `NULL`, in which case transparency will be ignored.
`transparent_color` : | This color will be used for the pixels that are transparent in the input file. Can be `NULL` in which case a default color will be used.
`data` : | Pointer to a string containing the XPM data.
Returns : | the GdkPixmap

### gdk_pixmap_colormap_create_from_xpm_d ()

    GdkPixmap*  gdk_pixmap_colormap_create_from_xpm_d
                                                (GdkWindow *window,
                                                 GdkColormap *colormap,
                                                 GdkBitmap **mask,
                                                 GdkColor *transparent_color,
                                                 gchar **data);

Create a pixmap from data in XPM format using a particular colormap.

`window` : | a GdkWindow, used to determine default values for the new pixmap. Can be `NULL` if `colormap` is given.
`colormap` : | the GdkColormap that the new pixmap will be use. If omitted, the colormap for `window` will be used.
`mask` : | a pointer to a place to store a bitmap representing the transparency mask of the XPM file. Can be `NULL`, in which case transparency will be ignored.
`transparent_color` : | the color to be used for the pixels that are transparent in the input file. Can be `NULL`, in which case a default color will be used.
`data` : | Pointer to a string containing the XPM data.
Returns : | the GdkPixmap.

### gdk_pixmap_ref ()

    GdkPixmap*  gdk_pixmap_ref                  (GdkPixmap *pixmap);

Increase the reference count of a pixmap.

`pixmap` : | a GdkPixmap
Returns : | `pixmap`

### gdk_pixmap_unref ()

    void        gdk_pixmap_unref                (GdkPixmap *pixmap);

Decrease the reference count of a pixmap. If the resulting reference count is zero, destroy the pixmap.

`pixmap` : | a GdkPixmap

### struct GdkBitmap

    struct GdkBitmap
    {
      gpointer user_data;
    };

An opaque structure representing an offscreen drawable of depth 1. Pointers to structures of type GdkPixmap, GdkBitmap, and GdkWindow, can often be used interchangeably. The type GdkDrawable refers generically to any of these types.

### gdk_bitmap_ref ()

    GdkBitmap*  gdk_bitmap_ref                  (GdkBitmap *pixmap);

Increase the reference count of a bitmap. An alias for gdk_pixmap_ref().

`pixmap` : |
Returns : |

### gdk_bitmap_unref ()

    void        gdk_bitmap_unref                (GdkBitmap *pixmap);

Decrease the reference count of a bitmap. An alias for gdk_pixmap_unref().

`pixmap` : |

<<< Previous Page | Home | Up | Next Page >>>
Drawing Primitives | GdkRGB