openjpeg/src/bin/fltk/flviewer/color.hh

62 lines
2.5 KiB
C++

#ifndef _FLVIEWER_COLOR_HH_
#define _FLVIEWER_COLOR_HH_
/*
* Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
* Copyright (c) 2002-2007, Professor Benoit Macq
* Copyright (c) 2001-2003, David Janssens
* Copyright (c) 2002-2003, Yannick Verschueren
* Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
* Copyright (c) 2005, Herve Drolon, FreeImage Team
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
typedef struct image_info
{
int *red;
int *green;
int *blue;
int *alpha;
unsigned int numcomps;
OPJ_COLOR_SPACE color_space;
unsigned int dx[4], dy[4], prec[4], sgnd[4];
unsigned char free_red, free_green, free_blue, unused_alpha;
int has_alpha;
int is_still;
} ImageInfo;
#if defined(OPJ_HAVE_LIBLCMS1) || defined(OPJ_HAVE_LIBLCMS2)
extern void COLOR_apply_icc_profile(opj_image_t *image, ImageInfo *dst);
extern void COLOR_cielab_to_rgb(opj_image_t *image, ImageInfo *dst);
#endif
extern void COLOR_sycc_to_rgb(opj_image_t *img, ImageInfo *dst);
extern void COLOR_cmyk_to_rgb(opj_image_t *image, ImageInfo *dst);
extern void COLOR_esycc_to_rgb(opj_image_t *image, ImageInfo *dst);
#endif /* _FLVIEWER_COLOR_HH_ */