| Oyranos Colour Management System API

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

Oyranos Documentation

# Descriptive Contents

Introduction | Installation | References
User Tools Documentation | Environment Variables | User API Documentation | Programming Tutorial

Author
  Kai-Uwe Behrmann and others

Since
  March 2004

Internet:
  http://www.oyranos.org

# Introduction

Oyranos is intended as a entry point for colour savy applications. In its current stage it configures profile paths, sets default profiles, maps devices to profiles, sets a monitor profile in X and uploads a vcgt tag. This means for instance all applications using Oyranos will use for a incoming digital camera picture the same profile and watch it through the same monitor profile with the same options for rendering intent, simulation and so on.

# User Tools Documentation

- oyranos-monitor - a commandline tool for calling from a setup script like .xinitrc. It selects a profile for the current monitor and sets up the X server at startup time. Usage:

      # select a monitor profile, load the binary blob into X and fill the
      # VideoCardGammaTable, if appropriate
      oyranos-monitor

- oyranos-policy - a tool to set a policy from a xml file. Use it like:

      oyranos-policy `oyranos-config --syscolordir`/`oyranos-config --settingsdirname`/office.policy.xml

  Affected are default profiles and some behaviour settings.
- oyranos-config-fltk - a configuration UI application, using some functions of the Oyranos APIs. If you have ICC Examin installed it can be called to show details of profiles.
- oyranos-config - a command line tool to get compiler flags to using Oyranos in your own project. Try oyranos-config –help to see the appropriate options.

# User API Documentation

The basic Oyranos API gets included with oyranos.h. An application, which wants to use these functions, needs to link against Oyranos.

- Defaults API obtain and manipulate user preferences and UI translations
- Profile API - select, read, manipulate and write ICC Profiles
- Device API - select, read, manipulate and write colour Device Configurations
- Image Container API - image data objects
- DAG and Image processing API - build and process image graphs

The monitor related API is contained in alpha/oyranos_alpha.h. Loading of the according module for the X11 libraries on Linux is done on runtime.

The key names, which Oyranos uses to store its configuration in an Elektra file tree, are defined in oyranos_definitions.h.

More in depth topics about programming with Oyranos can be found on the coding page.

## Programming Tutorial

Frist you have to put a

    #include <oyranos.h>

in your source text, in order to use Oyranos.

    int main( int argc, char ** argv ) {
      int oyranos_version = oyVersion( 0 );
      return 0;
    }

oyranos-config –cflags delivers the compiler flags and oyranos-config –ldflags the linker flags.

Then you can put Oyranos functions in your code and compile with:

    cc `oyranos-config --cflags --ldflags` mycode.c -o myApp

to link Oyranos into your application.

Writing of filters and modules for Oyranos is covered in the extending_oyranos page.