Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XAllocColor(3X11)

XQueryColor(3X11)

XStoreColors(3X11)

XCreateColormap(3X11)                BSD                 XCreateColormap(3X11)



NAME
     XCreateColormap, XCopyColormapAndFree, XFreeColormap, XSetWindowColormap
     - create, copy, or destroy colormaps

SYNTAX
     Colormap XCreateColormap(display, w, visual, alloc)
           Display *display;
           Window w;
           Visual *visual;
           int alloc;

     Colormap XCopyColormapAndFree(display, colormap)
           Display *display;
           Colormap colormap;

     XFreeColormap(display, colormap)
           Display *display;
           Colormap colormap;

     XSetWindowColormap(display, w, colormap)
           Display *display;
           Window w;
           Colormap colormap;

ARGUMENTS
     alloc     Specifies the colormap entries to be allocated.  You can pass
               AllocNone or AllocAll.

     colormap  Specifies the colormap that you want to create, copy, set, or
               destroy.

     display   Specifies the connection to the X server.

     visual    Specifies a pointer to a visual type supported on the screen.
               If the visual type is not one supported by the screen, a
               BadMatch error results.

     w         Specifies the window for which you want to create or set a
               colormap .

DESCRIPTION
     The XCreateColormap function creates a colormap of the specified visual
     type for the screen on which the specified window resides and returns the
     colormap ID associated with it.  Note that the specified window is only
     used to determine the screen.

     The initial values of the colormap entries are undefined for the visual
     classes GrayScale, PseudoColor, and DirectColor.  For StaticGray,
     StaticColor, and TrueColor, the entries have defined values, but those
     values are specific to the visual and are not defined by X.  For
     StaticGray, StaticColor, and TrueColor, alloc must be AllocNone, or a
     BadMatch error results.  For the other visual classes, if alloc is
     AllocNone, the colormap initially has no allocated entries, and clients
     can allocate them.  For information about the visual types, see section
     3.1.

     If alloc is AllocAll, the entire colormap is allocated writable.  The
     initial values of all allocated entries are undefined.  For GrayScale and
     PseudoColor, the effect is as if an XAllocColorCells call returned all
     pixel values from zero to N - 1, where N is the colormap entries value in
     the specified visual.  For DirectColor, the effect is as if an
     XAllocColorPlanes call returned a pixel value of zero and red_mask,
     green_mask, and blue_mask values containing the same bits as the
     corresponding masks in the specified visual.  However, in all cases, none
     of these entries can be freed by using XFreeColors.

     XCreateColormap can generate BadAlloc, BadMatch, BadValue, and BadWindow
     errors.

     The XCopyColormapAndFree function creates a colormap of the same visual
     type and for the same screen as the specified colormap and returns the
     new colormap ID.  It also moves all of the client's existing allocation
     from the specified colormap to the new colormap with their color values
     intact and their read-only or writable characteristics intact and frees
     those entries in the specified colormap.  Color values in other entries
     in the new colormap are undefined.  If the specified colormap was created
     by the client with alloc set to AllocAll, the new colormap is also
     created with AllocAll, all color values for all entries are copied from
     the specified colormap, and then all entries in the specified colormap
     are freed.  If the specified colormap was not created by the client with
     AllocAll, the allocations to be moved are all those pixels and planes
     that have been allocated by the client using XAllocColor,
     XAllocNamedColor, XAllocColorCells, or XAllocColorPlanes and that have
     not been freed since they were allocated.

     XCopyColormapAndFree can generate BadAlloc and BadColor errors.

     The XFreeColormap function deletes the association between the colormap
     resource ID and the colormap and frees the colormap storage.  However,
     this function has no effect on the default colormap for a screen.  If the
     specified colormap is an installed map for a screen, it is uninstalled
     (see XUninstallColormap).  If the specified colormap is defined as the
     colormap for a window (by XCreateWindow, XSetWindowColormap, or
     XChangeWindowAttributes), XFreeColormap changes the colormap associated
     with the window to None and generates a ColormapNotify event.  X does not
     define the colors displayed for a window with a colormap of None.

     XFreeColormap can generate a BadColor error.

     The XSetWindowColormap function sets the specified colormap of the
     specified window.  The colormap must have the same visual type as the
     window, or a BadMatch error results.

     XSetWindowColormap can generate BadColor, BadMatch, and BadWindow errors.

DIAGNOSTICS
     BadAlloc  The server failed to allocate the requested resource or server
               memory.

     BadColor  A value for a Colormap argument does not name a defined
               Colormap.

     BadMatch  An InputOnly window is used as a Drawable.

     BadMatch  Some argument or pair of arguments has the correct type and
               range but fails to match in some other way required by the
               request.

     BadValue  Some numeric value falls outside the range of values accepted
               by the request.  Unless a specific range is specified for an
               argument, the full range defined by the argument's type is
               accepted.  Any argument defined as a set of alternatives can
               generate this error.

     BadWindow A value for a Window argument does not name a defined Window.

SEE ALSO
     XAllocColor(3X11), XQueryColor(3X11), XStoreColors(3X11)
     Xlib - C Language X Interface

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026