X Color Management Event API's(3)

NAME
X Color Management Event API's -

  Macros
#define XCM_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE '_ICC_DEVICE_PROFILE'
X Color Management spec atoms.
#define XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE '_ICC_PROFILE'
ICC_PROFILE(xxx) in X spec atoms

  Typedefs
typedef struct XcmeContext_s_ XcmeContext_s
context for parsing events

  Enumerations
enum XCME_MSG_e { XCME_MSG_TITLE = 400, XCME_MSG_COPYRIGHT, XCME_MSG_INFO, XCME_MSG_SYSTEM, XCME_MSG_DISPLAY_ERROR, XCME_MSG_DISPLAY_EVENT, XCME_MSG_DISPLAY_STATUS }
customisable signals for a observer

  Functions
int XcmMessage (XCME_MSG_e code, const void *context, const char *format,...)
default message function
int XcmMessageFuncSet (XcmMessage_f message_func)
set a message function to customise messages
const char * XcmePrintWindowName (Display *display, Window w)
return a short window description text
void XcmICCprofileGetNameFuncSet (XcmICCprofileGetName_f getName)
plugin more informations capabilities for ICC profiles
void XcmICCprofileFromMD5FuncSet (XcmICCprofileGetFromMD5_f fromMD5)
plugin more informations capabilities for ICC profiles
const char * XcmePrintWindowRegions (Display *display, Window w, int always)
provide info text about window regions
void xcmePrintWindowRegions (Display *display, Window w, int always)
send a message about window regions
void XcmeSelectInput (XcmeContext_s *c)
register windows
XcmeContext_s * XcmeContext_New ()
allocate a event observer context structure
XcmeContext_s * XcmeContext_Create (const char *display_name)
allocate and initialise a event observer context structure
int XcmeContext_Setup2 (XcmeContext_s *c, const char *display_name, int flags)
allocate and initialise a event observer context structure
int XcmeContext_Setup (XcmeContext_s *c, const char *display_name)
allocate and initialise a event observer context structure
int XcmeContext_Release (XcmeContext_s **c)
clean owned resources
int XcmeContext_InLoop (XcmeContext_s *c, XEvent *event)
check for colour management events
Display * XcmeContext_DisplayGet (XcmeContext_s *c)
return the Display
int XcmeContext_DisplaySet (XcmeContext_s *c, Display *display)
set a custom X11 Display
int XcmeContext_WindowSet (XcmeContext_s *c, Window window)
set a custom X11 Window

Detailed Description

The observer context can be allocated and setup through XcmeContext_Create. You can pass in a own X11 Display handle through XcmeContext_New(), XcmeContext_DisplaySet() and XcmeContext_Setup(). The events can be processed by passing all XEvents to XcmeContext_InLoop() from inside your X event handling loop. To release allocated resources call XcmeContext_Release(). For a examle look at the xcmsevents application, which is distributed along the sources.

XcmEvents.h

A small X11 colour management event observer.

Author:
    Kai-Uwe Behrmann ku.b@gmx.de

License:
    MIT http://www.opensource.org/licenses/mit-license.php

Copyright:
    2009-2013 - Kai-Uwe Behrmann ku.b@gmx.de

Macro Definition Documentation

  #define XCM_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE '_ICC_DEVICE_PROFILE'

X Color Management spec atoms.

Referenced by XcmeContext_InLoop().

  #define XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE '_ICC_PROFILE'

ICC_PROFILE(xxx) in X spec atoms

Referenced by XcmeContext_InLoop().

Typedef Documentation

  typedef struct XcmeContext_s_ XcmeContext_s

context for parsing events

Enumeration Type Documentation

  enum XCME_MSG_e

customisable signals for a observer

Enumerator

XCME_MSG_TITLE
    basic library title

XCME_MSG_COPYRIGHT
    Copyright infos.

XCME_MSG_INFO
    normaly ignored

XCME_MSG_SYSTEM
    forwarded system message

XCME_MSG_DISPLAY_ERROR
    errors during run

XCME_MSG_DISPLAY_EVENT
    event smessage

XCME_MSG_DISPLAY_STATUS
    initial status infos

Function Documentation

  XcmeContext_s * XcmeContext_Create (const char *display_name)

allocate and initialise a event observer context structure Function XcmeContext_Create The context is needed to observe colour management events.

Parameters:
    display_name a valid X11 display name

Returns:
    the context

Version:
    libXcm: 0.3.0

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2010/10/01

References XcmeContext_New(), and XcmeContext_Setup().

  Display * XcmeContext_DisplayGet (XcmeContext_s *c)

return the Display Function XcmeContext_DisplayGet

Parameters:
    c a event observer context

Returns:
    the X11 display

Version:
    libXcm: 0.3.0

Since:
    2010/10/01 (libXcm: 0.3.0)

Date:
    2010/10/01

  int XcmeContext_DisplaySet (XcmeContext_s *c, Display *display)

set a custom X11 Display Function XcmeContext_DisplaySet

Parameters:
    c a event observer context
    display the custom X11 display

Returns:
    error

Version:
    libXcm: 0.3.0

Since:
    2010/10/01 (libXcm: 0.3.0)

Date:
    2010/10/01

  int XcmeContext_InLoop (XcmeContext_s *c, XEvent *event)

check for colour management events Function XcmeContext_InLoop This function needs to be called inside the X11 event loop, to observe the related events and send messages about them.

Parameters:
    c a event observer context
    event a X event handle

Returns:
    - 0: success

    •   -1: nothing to do

    •   1: error

Version:
    libXcm: 0.3.0

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2010/10/01

References XCM_ICC_COLOUR_SERVER_TARGET_PROFILE_IN_X_BASE, XCM_ICC_V0_3_TARGET_PROFILE_IN_X_BASE, XcmePrintWindowName(), xcmePrintWindowRegions(), and XcmeSelectInput().

  XcmeContext_s * XcmeContext_New ()

allocate a event observer context structure Function XcmeContext_New The context is needed to observe colour management events. After the allocation the context needs initialisation.

Returns:
    the context

Version:
    libXcm: 0.3.0

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2010/10/01

Referenced by XcmeContext_Create().

  int XcmeContext_Release (XcmeContext_s **c)

clean owned resources Function XcmeContext_Release

Parameters:
    c a event observer context

Version:
    libXcm: 0.3.0

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2010/10/01

  int XcmeContext_Setup (XcmeContext_s *c, const char *display_name)

allocate and initialise a event observer context structure Function XcmeContext_Setup The initialised context is needed for observing colour management events.

Parameters:
    c a event observer context A existing X11 display will be honoured.
    display_name a valid X11 display name or NULL; With a existing X11 display inside c, this option will be ignored.

Version:
    libXcm: 0.4.1

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2011/05/06

References XCM_COLOR_DESKTOP, XCM_COLOR_OUTPUTS, XCM_COLOR_PROFILES, XCM_COLOR_REGIONS, XCME_MSG_COPYRIGHT, XCME_MSG_TITLE, XcmeContext_Setup2(), and xcmePrintWindowRegions().

Referenced by XcmeContext_Create().

  int XcmeContext_Setup2 (XcmeContext_s *c, const char *display_name, intflags)

allocate and initialise a event observer context structure Function XcmeContext_Setup2 The initialised context is needed for observing colour management events. No initial events are sent.

Parameters:
    c a event observer context A existing X11 display will be honoured.
    display_name a valid X11 display name or NULL; With a existing X11 display inside c, this option will be ignored.
    flags unused

Version:
    libXcm: 0.5.0

Since:
    2011/10/26 (libXcm: 0.5.0)

Date:
    2011/10/26

References XCM_COLOR_DESKTOP, XCM_COLOR_OUTPUTS, XCM_COLOR_PROFILES, XCM_COLOR_REGIONS, and XcmeSelectInput().

Referenced by XcmeContext_Setup().

  int XcmeContext_WindowSet (XcmeContext_s *c, Windowwindow)

set a custom X11 Window Function xcmeContext_WindowSet

Parameters:
    c a event observer context
    window the custom X11 window

Returns:
    error

Version:
    libXcm: 0.3.0

Since:
    2010/10/01 (libXcm: 0.3.0)

Date:
    2010/10/01

  const char * XcmePrintWindowName (Display *display, Windoww)

return a short window description text

Referenced by XcmeContext_InLoop(), XcmePrintWindowRegions(), and xcmePrintWindowRegions().

  const char * XcmePrintWindowRegions (Display *display, Windoww, intalways)

provide info text about window regions Function XcmePrintWindowRegions The function informs about _ICC_COLOR_REGIONS atom.

Parameters:
    display X display
    w X window
    always send always a message, even for a empty property

Version:
    libXcm: 0.4.3

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2011/10/01

References XCM_COLOR_REGIONS, XcmePrintWindowName(), and XcolorRegionFetch().

  void xcmePrintWindowRegions (Display *display, Windoww, intalways)

send a message about window regions Function xcmePrintWindowRegions The function informs about _ICC_COLOR_REGIONS atom.

Parameters:
    display X display
    w X window
    always send always a message, even for a empty property

Version:
    libXcm: 0.3.0

Since:
    2009/00/00 (libXcm: 0.3.0)

Date:
    2010/10/01

References XCM_COLOR_REGIONS, XcmePrintWindowName(), and XcolorRegionFetch().

Referenced by XcmeContext_InLoop(), and XcmeContext_Setup().

  void XcmeSelectInput (XcmeContext_s *c)

register windows Function XcmeSelectInput

Version:
    libXcm: 0.5.3

Date:
    2013/01/13

Since:
    2013/01/13 (libXcm: 0.5.3)

Referenced by XcmeContext_InLoop(), and XcmeContext_Setup2().

  void XcmICCprofileFromMD5FuncSet (XcmICCprofileGetFromMD5_ffromMD5)

plugin more informations capabilities for ICC profiles Function XcmICCprofileFromMD5FuncSet

Parameters:
    fromMD5 a function to resolve a ICC profile in ICC profile paths from a md5 hash sum

Version:
    libXcm: 0.3.0

Since:
    2010/10/01 (libXcm: 0.3.0)

Date:
    2010/10/02

  void XcmICCprofileGetNameFuncSet (XcmICCprofileGetName_fgetName)

plugin more informations capabilities for ICC profiles Function XcmICCprofileGetNameFuncSet

Parameters:
    getName get internal and external profile name

Version:
    libXcm: 0.3.0

Since:
    2010/10/01 (libXcm: 0.3.0)

Date:
    2010/10/02

  int XcmMessage (XCME_MSG_ecode, const void *context, const char *format, ...)

default message function Function XcmMessage Messages are printed out to stdout console text stream.

Returns:
    - 0: fine

    •   1: error

Version:
    libXcm: 0.3.0

Since:
    2008/04/03 (libXcm: 0.3.0)

Date:
    2010/10/01

References XCME_MSG_COPYRIGHT, XCME_MSG_DISPLAY_ERROR, XCME_MSG_DISPLAY_EVENT, XCME_MSG_DISPLAY_STATUS, XCME_MSG_INFO, XCME_MSG_SYSTEM, and XCME_MSG_TITLE.

  int XcmMessageFuncSet (XcmMessage_fmessage_func)

set a message function to customise messages

Author

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