XcmsQueryColor(3)

πŸŽ€ XcmsQueryColor(3) πŸŽ€

okay so bestie, welcome to the XcmsQueryColor(3) page from the XLIB FUNCTIONS manual β€” the title and manual name are right here, folded in with love. This is the trio for obtaining color values, and we're gonna treat every argument like the main character it is. πŸ’…βœ¨

✨ NAME ✨

XcmsQueryColor, XcmsQueryColors, XcmsLookupColor β€” obtain color values. That's the whole name section: three functions, one mission, zero skipped details. 🫢

πŸ’… SYNTAX πŸ’…

Exact signatures, no cap:

Status XcmsQueryColor(Display *display, Colormap colormap, XcmsColor
       *color_in_out, XcmsColorFormat result_format);

Status XcmsQueryColors(Display *display, Colormap colormap, XcmsColor
       colors_in_out[], unsigned int ncolors, XcmsColorFormat
       result_format);

Status XcmsLookupColor(Display *display, Colormap colormap, _Xconst char
       *color_string, XcmsColor *color_exact_return, XcmsColor
       *color_screen_return, XcmsColorFormat result_format);

🫢 ARGUMENTS 🫢

  • display β€” Specifies the connection to the X server. Your whole X situation starts here, bestie.
  • colormap β€” Specifies the colormap. Yes, the actual colormap in question.
  • color_exact_return β€” Returns the color specification parsed from the color string or parsed from the corresponding string found in a color-name database. So it's the exact-match return, parsed either from the string or from the database's corresponding string.
  • color_in_out β€” Specifies the pixel member that indicates the color cell to query. The color specification stored for the color cell is returned in this XcmsColor structure. Pixel member in, stored color spec out β€” iconic behavior.
  • color_screen_return β€” Returns the color that can be reproduced on the screen. Screen-realness only, periodt.
  • color_string β€” Specifies the color string. Just the color string, nothing extra.
  • result_format β€” Specifies the color format for the returned color specifications (color_screen_return and color_exact_return arguments). If the format is XcmsUndefinedFormat and the color string contains a numerical color specification, the specification is returned in the format used in that numerical color specification. If the format is XcmsUndefinedFormat and the color string contains a color name, the specification is returned in the format used to store the color in the database. This is the format picker, and both XcmsUndefinedFormat cases matter β€” don't skip 'em, iykyk.
  • ncolors β€” Specifies the number of XcmsColor structures in the color-specification array. Count 'em, bestie.

🌈 DESCRIPTION 🌈

XcmsQueryColor obtains the RGB value for the pixel value in the pixel member of the specified XcmsColor structure and then converts the value to the target format as specified by the result_format argument. If the pixel is not a valid index in the specified colormap, a BadValue error results. That's the warning, and we respect it. 🚨

XcmsQueryColors obtains the RGB values for pixel values in the pixel members of XcmsColor structures and then converts the values to the target format as specified by the result_format argument. If a pixel is not a valid index into the specified colormap, a BadValue error results. If more than one pixel is in error, the one that gets reported is arbitrary. Arbitrary reporting is giving chaos, but that's literally what the page says.

XcmsQueryColor and XcmsQueryColors can generate BadColor and BadValue errors. Noted, memorized, no cap.

XcmsLookupColor looks up the string name of a color with respect to the screen associated with the specified colormap. It returns both the exact color values and the closest values provided by the screen with respect to the visual type of the specified colormap. The values are returned in the format specified by result_format. If the color name is not in the Host Portable Character Encoding, the result is implementation-dependent. Use of uppercase or lowercase does not matter. XcmsLookupColor returns XcmsSuccess or XcmsSuccessWithCompression if the name is resolved; otherwise, it returns XcmsFailure. If XcmsSuccessWithCompression is returned, the color specification returned in color_screen_return is the result of gamut compression. Gamut compression is the plot twist, and yes, it belongs here. 🌈

πŸ’€ DIAGNOSTICS πŸ’€

  • BadColor β€” A value for a Colormap argument does not name a defined Colormap. Translation: the colormap said "who?" πŸ’€
  • 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. This one can pop up from alternatives, so don't act surprised.

πŸ‘‘ SEE ALSO πŸ‘‘

Go give these their flowers:

mwah πŸ’‹ β€” this page came from X Version 11 / libX11 1.8.14, and it's literally the XcmsQueryColor(3) page. byeee 🫢✨

πŸ“¦ where this page comes from