Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XcmsSClr(XS) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XcmsAllocColor(XS)

XcmsQueryColor(XS)


 XcmsStoreColor(XS)       X Version 11 (Release 5)         XcmsStoreColor(XS)
                                6 January 1993


 Name

    XcmsStoreColor - set colors

 Syntax


    Status XcmsStoreColor(display, colormap, color)
          Display *display;
          Colormap colormap;
          XcmsColor *color;

    Status XcmsStoreColors(display, colormap, colors, ncolors,
                           compression_flags_return)
          Display *display;
          Colormap colormap;
          XcmsColor colors[];
          int ncolors;
    Bool compression_flags_return[];


 Arguments


    display        Specifies the connection to the X server.

    color          Specifies the color cell and the color to store.  Values
                   specified in this XcmsColor structure remain unchanged
                   upon return.

    colors         Specifies the color specification array of XcmsColor
                   structures, each specifying a color cell and the color to
                   store in that cell.  Values specified in the array remain
                   unchanged upon return.

    colormap       Specifies the colormap.

    compressionflagsreturn
                   Specifies an array of Boolean values for returning
                   compression status.  If a non-NULL pointer is supplied,
                   each element of the array is set to True if the corre-
                   sponding color was compressed, and False otherwise.  Pass
                   NULL if the compression status is not useful.

    ncolors        Specifies the number of XcmsColor structures in the color
                   specification array.

 Description

    The XcmsStoreColor function converts the color specified in the XcmsColor
    structure into RGB values and then uses this RGB specification in an
    XColor structure, whose three flags (DoRed, DoGreen, and DoBlue) are set,
    in a call to XStoreColor to change the color cell specified by the pixel
    member of the XcmsColor structure.  This pixel value must be a valid
    index for the specified colormap, and the color cell specified by the
    pixel value must be a read/write cell.  If the pixel value is not a valid
    index, a ``BadValue'' error results.  If the color cell is unallocated or
    is allocated read-only, a ``BadAccess'' error results.  If the colormap
    is an installed map for its screen, the changes are visible immediately.

    Note that XStoreColor has no return value; therefore, a XcmsSuccess
    return value from this function indicates that the conversion to RGB suc-
    ceeded and the call to XStoreColor was made.  To obtain the actual color
    stored, use XcmsQueryColor.  Due to the screen's hardware limitations or
    gamut compression, the color stored in the colormap may not be identical
    to the color specified.

    XcmsStoreColor can generate ``BadAccess'', ``BadColor'', and ``BadValue''
    errors.

    The XcmsStoreColors function converts the colors specified in the array
    of XcmsColor structures into RGB values and then uses these RGB specifi-
    cations in an XColor structures, whose three flags (DoRed, DoGreen, and
    DoBlue) are set, in a call to XStoreColors to change the color cells
    specified by the pixel member of the corresponding XcmsColor structure.
    Each pixel value must be a valid index for the specified colormap, and
    the color cell specified by each pixel value must be a read/write cell.
    If a pixel value is not a valid index, a ``BadValue'' error results.  If
    a color cell is unallocated or is allocated read-only, a ``BadAccess''
    error results.  If more than one pixel is in error, the one that gets
    reported is arbitrary.  If the colormap is an installed map for its
    screen, the changes are visible immediately.

    Note that XStoreColors has no return value; therefore, a XcmsSuccess
    return value from this function indicates that conversions to RGB suc-
    ceeded and the call to XStoreColors was made.  To obtain the actual
    colors stored, use XcmsQueryColors.  Due to the screen's hardware limita-
    tions or gamut compression, the colors stored in the colormap may not be
    identical to the colors specified.

    XcmsStoreColors can generate ``BadAccess'', ``BadColor'', and ``Bad-
    Value'' errors.

 Diagnostics


    ``BadAccess''  A client attempted to free a color map entry that it did
                   not already allocate.

    ``BadAccess''  A client attempted to store into a read-only color map
                   entry.

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

    ``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.

 See also

    XcmsAllocColor(XS), XcmsQueryColor(XS)
    Xlib - C Language X Interface


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