DragonFly On-Line Manual Pages
X Color Management Core API's(3) Xcm X Color Management Core API's(3)
NAME
X Color Management Core API's -
Data Structures
struct XcolorProfile
struct XcolorRegion
Macros
#define XCM_COLOR_PROFILES '_ICC_COLOR_PROFILES'
#define XCM_COLOR_REGIONS '_ICC_COLOR_REGIONS'
#define XCM_COLOR_OUTPUTS '_ICC_COLOR_OUTPUTS'
#define XCM_COLOR_DESKTOP '_ICC_COLOR_DESKTOP'
#define XCM_DEVICE_PROFILE '_ICC_DEVICE_PROFILE'
Enumerations
enum { XCM_COLOR_SERVER_REGIONS = 0x01, XCM_COLOR_SERVER_PROFILES =
0x02, XCM_COLOR_SERVER_DISPLAY_ADVANCED = 0x04,
XCM_COLOR_SERVER_OUTPUTS = 0x08, XCM_COLOR_SERVER_MANAGEMENT =
0x10 }
Functions
int XcolorProfileUpload (Display *dpy, XcolorProfile *profile)
Uploads the profile into all screens of the display.
int XcolorProfileDelete (Display *dpy, XcolorProfile *profile)
Decreases the ref-count of the profile.
int XcolorRegionInsert (Display *dpy, Window win, unsigned long pos,
XcolorRegion *region, unsigned long nRegions)
Inserts the supplied regions into the stack.
XcolorRegion * XcolorRegionFetch (Display *dpy, Window win, unsigned
long *nRegions)
Fetches the existing regions.
int XcolorRegionDelete (Display *dpy, Window win, unsigned long start,
unsigned long count)
Deletes regions.
int XcolorRegionActivate (Display *dpy, Window win, unsigned long
start, unsigned long count)
Activates regions.
int XcmColorServerCapabilities (Display *dpy)
informs which colour server services are available
Detailed Description
Macro Definition Documentation
#define XCM_COLOR_DESKTOP '_ICC_COLOR_DESKTOP'
The XCM_COLOR_DESKTOP macro
The atom is attached on the root window to tell about a color servers
activity. The content is of type XA_STRING and has four sections
separated by a empty space char ' '. The _ICC_COLOR_DESKTOP atom is a
string with following usages:
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'
#define XCM_COLOR_OUTPUTS '_ICC_COLOR_OUTPUTS'
The XCM_COLOR_OUTPUTS macro is attached to windows and specifies on
which output the window should look correctly. The type is XA_STRING.
#define XCM_COLOR_PROFILES '_ICC_COLOR_PROFILES'
The XCM_COLOR_PROFILES macro represents a atom name for under which
XcolorProfile data can be stored.
#define XCM_COLOR_REGIONS '_ICC_COLOR_REGIONS'
The XCM_COLOR_REGIONS macro represents a atom name for under which
XcolorRegions data can be stored.
#define XCM_DEVICE_PROFILE '_ICC_DEVICE_PROFILE'
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.
Enumeration Type Documentation
anonymous enum
The XCM_COLOR_SERVER_ enums describe colour server capabilities as
specified in XCM_COLOR_DESKTOP atom.
Enumerator:
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
Function Documentation
int XcmColorServerCapabilities (Display *dpy)
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 shouldn't 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
won't 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 don't need the profile anymore.
int XcolorRegionActivate (Display *dpy, Windowwin, unsigned longstart,
unsigned longcount)
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'.
int XcolorRegionDelete (Display *dpy, Windowwin, unsigned longstart,
unsigned longcount)
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 you're
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'.
Author
Generated automatically by Doxygen for Xcm from the source code.
Version 0.5.3 Tue Feb 5 2013
X Color Management Core API's(3)