blob: f244be7115b3c731c15d6cb53ad35aa8e9098dcb [file] [log] [blame]
\section{The \texttt{VDisplay} class}
The \verb+VDisplay+ class is an abstraction over the VIPS \verb+im_col_display+
type which gives convenient and safe representation of VIPS display profiles.
VIPS display profiles are now mostly obsolete. You're better off using the
ICC colour management \verb+VImage+ member functions \verb+ICC_export()+ and
\verb+ICC_import()+.
\subsection{Constructors}
There are two constructors for \verb+VDisplay+:
\begin{verbatim}
VDisplay( const char *name );
VDisplay();
\end{verbatim}
The first form initialises the display from one of the standard VIPS display
types. For example:
\begin{verbatim}
VDisplay fred( "sRGB" );
VDisplay jim( "ultra2-20/2/98" );
\end{verbatim}
Makes \verb+fred+ a profile for making images in sRGB format, and \verb+jim+ a
profile representing my workstation display, as of 20/2/98. The second form
of constructor makes an uninitialised display.
\subsection{Projection functions}
A set of member functions of \verb+VDisplay+ provide read and write access to
the fields in the display.
\begin{verbatim}
char *name();
VDisplayType &type();
matrix &mat();
float &YCW();
float &xCW();
float &yCW();
float &YCR();
float &YCG();
float &YCB();
int &Vrwr();
int &Vrwg();
int &Vrwb();
float &Y0R();
float &Y0G();
float &Y0B();
float &gammaR();
float &gammaG();
float &gammaB();
float &B();
float &P();
\end{verbatim}
Where \verb+VDisplayType+ is defined as:
\begin{verbatim}
enum VDisplayType {
BARCO,
DUMB
};
\end{verbatim}
And \verb+matrix+ is defined as:
\begin{verbatim}
typedef float matrix[3][3];
\end{verbatim}
For a description of all the fields in a VIPS display profile, see the manual
page for \verb+im_XYZ2RGB()+.