home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XAllocStandardColormap(3X11X)LIB FUNCTIOXNASllocStandardColormap(3X11)
-
-
- NNAAMMEE
- XAllocStandardColormap, XSetRGBColormaps, XGetRGBCol-
- ormaps, XStandardColormap - allocate, set, or read a stan-
- dard colormap structure
-
- SSYYNNTTAAXX
- XStandardColormap *XAllocStandardColormap()
-
- void XSetRGBColormaps(_d_i_s_p_l_a_y, _w, _s_t_d___c_o_l_o_r_m_a_p, _c_o_u_n_t,
- _p_r_o_p_e_r_t_y)
- Display *_d_i_s_p_l_a_y;
- Window _w;
- XStandardColormap *_s_t_d___c_o_l_o_r_m_a_p;
- int _c_o_u_n_t;
- Atom _p_r_o_p_e_r_t_y;
-
- Status XGetRGBColormaps(_d_i_s_p_l_a_y, _w, _s_t_d___c_o_l_o_r_m_a_p___r_e_t_u_r_n,
- _c_o_u_n_t___r_e_t_u_r_n, _p_r_o_p_e_r_t_y)
- Display *_d_i_s_p_l_a_y;
- Window _w;
- XStandardColormap **_s_t_d___c_o_l_o_r_m_a_p___r_e_t_u_r_n;
- int *_c_o_u_n_t___r_e_t_u_r_n;
- Atom _p_r_o_p_e_r_t_y;
-
- AARRGGUUMMEENNTTSS
- _d_i_s_p_l_a_y Specifies the connection to the X server.
-
- _c_o_u_n_t Specifies the number of colormaps.
-
- _c_o_u_n_t___r_e_t_u_r_n
- Returns the number of colormaps.
-
- _p_r_o_p_e_r_t_y Specifies the property name.
-
- _s_t_d___c_o_l_o_r_m_a_p
- Specifies the _X_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p structure to be
- used.
-
- _s_t_d___c_o_l_o_r_m_a_p___r_e_t_u_r_n
- Returns the _X_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p structure.
-
- DDEESSCCRRIIPPTTIIOONN
- The _X_A_l_l_o_c_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p function allocates and returns
- a pointer to a _X_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p structure. Note that all
- fields in the _X_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p structure are initially
- set to zero. If insufficient memory is available, _X_A_l_l_o_c_-
- _S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p returns NULL. To free the memory allo-
- cated to this structure, use _X_F_r_e_e.
-
- The _X_S_e_t_R_G_B_C_o_l_o_r_m_a_p_s function replaces the RGB colormap
- definition in the specified property on the named window.
- If the property does not already exist, _X_S_e_t_R_G_B_C_o_l_o_r_m_a_p_s
- sets the RGB colormap definition in the specified property
- on the named window. The property is stored with a type
-
-
-
- X Version 11 Release 6.1 1
-
-
-
-
-
- XAllocStandardColormap(3X11X)LIB FUNCTIOXNASllocStandardColormap(3X11)
-
-
- of RGB_COLOR_MAP and a format of 32. Note that it is the
- caller's responsibility to honor the ICCCM restriction
- that only RGB_DEFAULT_MAP contain more than one defini-
- tion.
-
- The _X_S_e_t_R_G_B_C_o_l_o_r_m_a_p_s function usually is only used by win-
- dow or session managers. To create a standard colormap,
- follow this procedure:
-
- 1. Open a new connection to the same server.
-
- 2. Grab the server.
-
- 3. See if the property is on the property list of the
- root window for the screen.
-
- 4. If the desired property is not present:
-
- +o Create a colormap (unless you are using the
- default colormap of the screen).
-
- +o Determine the color characteristics of the
- visual.
-
- +o Allocate cells in the colormap (or create it
- with _A_l_l_o_c_A_l_l).
-
- +o Call _X_S_t_o_r_e_C_o_l_o_r_s to store appropriate color
- values in the colormap.
-
- +o Fill in the descriptive members in the _X_S_t_a_n_-
- _d_a_r_d_C_o_l_o_r_m_a_p structure.
-
- +o Attach the property to the root window.
-
- +o Use _X_S_e_t_C_l_o_s_e_D_o_w_n_M_o_d_e to make the resource per-
- manent.
-
- 5. Ungrab the server.
-
- _X_S_e_t_R_G_B_C_o_l_o_r_m_a_p_s can generate _B_a_d_A_l_l_o_c, _B_a_d_A_t_o_m, and _B_a_d_-
- _W_i_n_d_o_w errors.
-
- The _X_G_e_t_R_G_B_C_o_l_o_r_m_a_p_s function returns the RGB colormap
- definitions stored in the specified property on the named
- window. If the property exists, is of type RGB_COLOR_MAP,
- is of format 32, and is long enough to contain a colormap
- definition, _X_G_e_t_R_G_B_C_o_l_o_r_m_a_p_s allocates and fills in space
- for the returned colormaps and returns a nonzero status.
- If the visualid is not present, _X_G_e_t_R_G_B_C_o_l_o_r_m_a_p_s assumes
- the default visual for the screen on which the window is
- located; if the killid is not present, _N_o_n_e is assumed,
- which indicates that the resources cannot be released.
- Otherwise, none of the fields are set, and
-
-
-
- X Version 11 Release 6.1 2
-
-
-
-
-
- XAllocStandardColormap(3X11X)LIB FUNCTIOXNASllocStandardColormap(3X11)
-
-
- _X_G_e_t_R_G_B_C_o_l_o_r_m_a_p_s returns a zero status. Note that it is
- the caller's responsibility to honor the ICCCM restriction
- that only RGB_DEFAULT_MAP contain more than one defini-
- tion.
-
- _X_G_e_t_R_G_B_C_o_l_o_r_m_a_p_s can generate _B_a_d_A_t_o_m and _B_a_d_W_i_n_d_o_w
- errors.
-
- SSTTRRUUCCTTUURREESS
- The _X_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p structure contains:
-
- /* Hints */
- #define _R_e_l_e_a_s_e_B_y_F_r_e_e_i_n_g_C_o_l_- ( (XID)
- _o_r_m_a_p 1L)
- /* Values */
- typedef struct {
- Colormap colormap;
- unsigned long red_max;
- unsigned long red_mult;
- unsigned long green_max;
- unsigned long green_mult;
- unsigned long blue_max;
- unsigned long blue_mult;
- unsigned long base_pixel;
- VisualID visualid;
- XID killid;
- } XStandardColormap;
-
- The colormap member is the colormap created by the _X_C_r_e_-
- _a_t_e_C_o_l_o_r_m_a_p function. The red_max, green_max, and
- blue_max members give the maximum red, green, and blue
- values, respectively. Each color coefficient ranges from
- zero to its max, inclusive. For example, a common col-
- ormap allocation is 3/3/2 (3 planes for red, 3 planes for
- green, and 2 planes for blue). This colormap would have
- red_max = 7, green_max = 7, and blue_max = 3. An alter-
- nate allocation that uses only 216 colors is red_max = 5,
- green_max = 5, and blue_max = 5.
-
- The red_mult, green_mult, and blue_mult members give the
- scale factors used to compose a full pixel value. (See
- the discussion of the base_pixel members for further
- information.) For a 3/3/2 allocation, red_mult might be
- 32, green_mult might be 4, and blue_mult might be 1. For
- a 6-colors-each allocation, red_mult might be 36,
- green_mult might be 6, and blue_mult might be 1.
-
- The base_pixel member gives the base pixel value used to
- compose a full pixel value. Usually, the base_pixel is
- obtained from a call to the _X_A_l_l_o_c_C_o_l_o_r_P_l_a_n_e_s function.
- Given integer red, green, and blue coefficients in their
- appropriate ranges, one then can compute a corresponding
- pixel value by using the following expression:
-
-
-
-
- X Version 11 Release 6.1 3
-
-
-
-
-
- XAllocStandardColormap(3X11X)LIB FUNCTIOXNASllocStandardColormap(3X11)
-
-
- (r * red_mult + g * green_mult + b * blue_mult + base_pixel) & 0xFFFFFFFF
-
- For _G_r_a_y_S_c_a_l_e colormaps, only the colormap, red_max,
- red_mult, and base_pixel members are defined. The other
- members are ignored. To compute a _G_r_a_y_S_c_a_l_e pixel value,
- use the following expression:
-
- (gray * red_mult + base_pixel) & 0xFFFFFFFF
-
- Negative multipliers can be represented by converting the
- 2's complement representation of the multiplier into an
- unsigned long and storing the result in the appropriate
- _mult field. The step of masking by 0xFFFFFFFF effec-
- tively converts the resulting positive multiplier into a
- negative one. The masking step will take place automati-
- cally on many machine architectures, depending on the size
- of the integer type used to do the computation,
-
- The visualid member gives the ID number of the visual from
- which the colormap was created. The killid member gives a
- resource ID that indicates whether the cells held by this
- standard colormap are to be released by freeing the col-
- ormap ID or by calling the _X_K_i_l_l_C_l_i_e_n_t function on the
- indicated resource. (Note that this method is necessary
- for allocating out of an existing colormap.)
-
- The properties containing the _X_S_t_a_n_d_a_r_d_C_o_l_o_r_m_a_p informa-
- tion have the type RGB_COLOR_MAP.
-
- DDIIAAGGNNOOSSTTIICCSS
- _B_a_d_A_l_l_o_c The server failed to allocate the requested
- resource or server memory.
-
- _B_a_d_A_t_o_m A value for an Atom argument does not name a
- defined Atom.
-
- _B_a_d_W_i_n_d_o_w A value for a Window argument does not name a
- defined Window.
-
- SSEEEE AALLSSOO
- XAllocColor(3X11), XCreateColormap(3X11), XFree(3X11),
- XSetCloseDownMode(3X11)
- _X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- X Version 11 Release 6.1 4
-
-
-