|o||uniquely identify the colour server|
|o||tell the name of the colour server|
|o||tell the colour server is alive All sections are separated by one space char for easy parsing.|
The first section contains the process id (pid_t) of the color server process, which has set the atom. The second section contains time since epoch GMT as returned by time(NULL). The thired section contains the bar | separated and surrounded capabilities:
|o||ICP _ICC_COLOR_PROFILES - support per region profiles|
|o||ICM _ICC_COLOR_MANAGEMENT - color server is active|
|o||ICO _ICC_COLOR_OUTPUTS - support per window and output configuration|
|o||ICR _ICC_COLOR_REGIONS - support regions|
|o||ICA _ICC_COLOR_DISPLAY_ADVANCED - use CMS advanced settings, e.g. proofing|
|o||V0.3 indicates version compliance to the _ICC_Profile in X spec The fourth section contains the servers name identifier.|
As of this specification the third section must contain ICR and the supported _ICC_PROFILE in X version.
A example of a valid atom might look like: _ICC_COLOR_DESKTOP(STRING) = 4518 1274001512 |ICR|ICM|V0.3| compiz_colour_desktop
The XCM_COLOR_OUTPUTS macro is attached to windows and specifies on which output the window should look correctly. The type is XA_STRING.
The XCM_COLOR_PROFILES macro represents a atom name for under which XcolorProfile data can be stored.
The XCM_COLOR_REGIONS macro represents a atom name for under which XcolorRegions data can be stored.
The _ICC_DEVICE_PROFILE atom
The atom will hold a native ICC profile with the exposed device characteristics at the compositing window manager level. The colour server shall if no _ICC_DEVICE_PROFILE(_xxx) is set, copy the _ICC_PROFILE(_xxx) profiles to each equivalent _ICC_DEVICE_PROFILE(_xxx) atom. The _ICC_PROFILE(_xxx) profiles shall be replaced by a sRGB ICC profile. The counting in the atoms (_xxx) name section follows the rules outlined in the ICC Profile in X recommendation. After finishing the session the the old state has to be recovered by copying any _ICC_DEVICE_PROFILE(_xxx) atoms content into the appropriate _ICC_PROFILE(_xxx) atoms and removing all _ICC_DEVICE_PROFILE(_xxx) atoms. The colour server must be aware about change property events indicating that a _ICC_PROFILE(_xxx) atom has changed by a external application and needs to move that profile to the appropriate _ICC_DEVICE_PROFILE(_xxx) atom and set the _ICC_PROFILE(_xxx) atom to sRGB as well. The modification of the _ICC_DEVICE_PROFILE(_xxx) atoms by external applications is undefined.
The XCM_COLOR_SERVER_ enums describe colour server capabilities as specified in XCM_COLOR_DESKTOP atom.
XCM_COLOR_SERVER_REGIONS _ICC_COLOR_REGIONS XCM_COLOR_SERVER_PROFILES _ICC_COLOR_PROFILES XCM_COLOR_SERVER_DISPLAY_ADVANCED _ICC_COLOR_DISPLAY_ADVANCED XCM_COLOR_SERVER_OUTPUTS _ICC_COLOR_OUTPUTS XCM_COLOR_SERVER_MANAGEMENT _ICC_COLOR_MANAGEMENT
informs which colour server services are available Function XcmColorServerCapabilities Query the capabilities of a colour server. In case no colour server is running, the function should return zero. The return value consists of a bit mask of XCM_COLOR_SERVER_ properties from the XCM_COLOR_DESKTOP atom.
int XcolorProfileDelete (Display *dpy, XcolorProfile *profile)
Decreases the ref-count of the profile. Function XcolorProfileDelete You shouldnt use the profile anymore after this call because it could have been removed from the internal database in the compositing manager. If you do, nothing bad will happen, just that color management wont work on regions that use this profile.
int XcolorProfileUpload (Display *dpy, XcolorProfile *profile)
Uploads the profile into all screens of the display. Function XcolorProfileUpload Uploads the profile into all screens of the display. Profiles are ref-counted inside the compositing manager, so make sure to call XcolorProfileDelete() before your application exits or when you dont need the profile anymore.
Activates regions. Function XcolorRegionActivate Activates count regions starting at positiong start in the stack. Unlike the other functions it does not check whether start + count extends beyond the stack end. To disable all regions pass zero to count.
Deletes regions. Function XcolorRegionDelete Deletes count regions starting at start in the stack. If start + count in beyond the stack end, nothing will be done and the function returns -1.
XcolorRegion* XcolorRegionFetch (Display *dpy, Windowwin, unsigned long *nRegions)
Fetches the existing regions. Function XcolorRegionFetch Fetches the existing regions and returns an array of XcolorRegion. After youre done, free the array using XFree(). The number of regions is put into nRegions.
int XcolorRegionInsert (Display *dpy, Windowwin, unsigned longpos, XcolorRegion *region, unsigned longnRegions)
Inserts the supplied regions into the stack. Function XcolorRegionInsert Inserts the supplied regions into the stack at the position pos, shifting the existing profiles upwards in the stack. If pos is beyond the stack end, nothing will be done and the function returns -1.
Generated automatically by Doxygen for Xcm from the source code.
|Version 0.5.3||X COLOR MANAGEMENT CORE API'S (3)||Tue Feb 5 2013|