Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
X Color	Management Core	API's(3)   Xcm-0.5.4  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:

        uniquely identify the colour server

        tell the name of the colour server

        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:

        ICP _ICC_COLOR_PROFILES - support per region profiles

        ICM _ICC_COLOR_MANAGEMENT - color server is active

        ICO _ICC_COLOR_OUTPUTS	- support per window and output	configuration

        ICR _ICC_COLOR_REGIONS	- support regions

        ICA _ICC_COLOR_DISPLAY_ADVANCED - use	CMS  advanced  settings,  e.g.
	 proofing

        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'

       Referenced  by  XcmColorServerCapabilities(),  XcmeContext_Setup(), and
       XcmeContext_Setup2().

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

       Referenced by XcmeContext_Setup(), and XcmeContext_Setup2().

   #define XCM_COLOR_PROFILES	'_ICC_COLOR_PROFILES'
       The  XCM_COLOR_PROFILES	macro  represents  a atom name for under which
       XcolorProfile data can be stored.

       Referenced      by      XcmeContext_Setup(),	 XcmeContext_Setup2(),
       XcolorProfileDelete(), and XcolorProfileUpload().

   #define XCM_COLOR_REGIONS   '_ICC_COLOR_REGIONS'
       The  XCM_COLOR_REGIONS  macro  represents  a  atom name for under which
       XcolorRegions data can be stored.

       Referenced      by      XcmeContext_Setup(),	 XcmeContext_Setup2(),
       XcmePrintWindowRegions(),		     xcmePrintWindowRegions(),
       XcolorRegionDelete(), XcolorRegionFetch(), and XcolorRegionInsert().

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

       References     XCM_COLOR_DESKTOP,    XCM_COLOR_SERVER_DISPLAY_ADVANCED,
       XCM_COLOR_SERVER_MANAGEMENT,	  XCM_COLOR_SERVER_PROFILES,	   and
       XCM_COLOR_SERVER_REGIONS.

   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.

       References XcolorProfile::length, and XCM_COLOR_PROFILES.

   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.

       References XcolorProfile::length, and XCM_COLOR_PROFILES.

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

       References XCM_COLOR_REGIONS, and XcolorRegionFetch().

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

       References XCM_COLOR_REGIONS.

       Referenced   by	 XcmePrintWindowRegions(),   xcmePrintWindowRegions(),
       XcolorRegionDelete(), and XcolorRegionInsert().

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

       References XCM_COLOR_REGIONS, and XcolorRegionFetch().

Author
       Generated automatically by Doxygen for Xcm-0.5.4	from the source	code.

Version	0.5.4			Tue May	26 201X	Color Management Core API's(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Xcm&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help