1 /*
    2  * << Haru Free PDF Library >> -- hpdf_image.h
    3  *
    4  * URL: http://libharu.org
    5  *
    6  * Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
    7  * Copyright (c) 2007-2009 Antony Dovgal <tony@daylessday.org>
    8  *
    9  * Permission to use, copy, modify, distribute and sell this software
   10  * and its documentation for any purpose is hereby granted without fee,
   11  * provided that the above copyright notice appear in all copies and
   12  * that both that copyright notice and this permission notice appear
   13  * in supporting documentation.
   14  * It is provided "as is" without express or implied warranty.
   15  *
   16  */
   17 
   18 #ifndef _HPDF_IMAGE_H
   19 #define _HPDF_IMAGE_H
   20 
   21 #include "hpdf_objects.h"
   22 
   23 #ifdef __cplusplus
   24 extern "C" {
   25 #endif
   26 
   27 HPDF_Image
   28 HPDF_Image_Load1BitImageFromMem  (HPDF_MMgr  mmgr,
   29                           const HPDF_BYTE   *buf,
   30                           HPDF_Xref          xref,
   31                           HPDF_UINT          width,
   32                           HPDF_UINT          height,
   33                           HPDF_UINT          line_width,
   34                           HPDF_BOOL          top_is_first
   35                           );
   36 
   37 
   38 #ifndef LIBHPDF_HAVE_NOPNGLIB
   39 
   40 HPDF_Image
   41 HPDF_Image_LoadPngImage  (HPDF_MMgr        mmgr,
   42                           HPDF_Stream      png_data,
   43                           HPDF_Xref        xref,
   44                           HPDF_BOOL        delayed_loading);
   45 
   46 #endif
   47 
   48 HPDF_Image
   49 HPDF_Image_LoadJpegImage  (HPDF_MMgr        mmgr,
   50                            HPDF_Stream      jpeg_data,
   51                            HPDF_Xref        xref);
   52 
   53 HPDF_Image
   54 HPDF_Image_LoadJpegImageFromMem  (HPDF_MMgr        mmgr,
   55                             const HPDF_BYTE       *buf,
   56                                   HPDF_UINT        size,
   57                                   HPDF_Xref        xref);
   58 
   59 HPDF_Image
   60 HPDF_Image_LoadRawImage  (HPDF_MMgr          mmgr,
   61                           HPDF_Stream        stream,
   62                           HPDF_Xref          xref,
   63                           HPDF_UINT          width,
   64                           HPDF_UINT          height,
   65                           HPDF_ColorSpace    color_space);
   66 
   67 
   68 HPDF_Image
   69 HPDF_Image_LoadRawImageFromMem  (HPDF_MMgr          mmgr,
   70                                  const HPDF_BYTE   *buf,
   71                                  HPDF_Xref          xref,
   72                                  HPDF_UINT          width,
   73                                  HPDF_UINT          height,
   74                                  HPDF_ColorSpace    color_space,
   75                                  HPDF_UINT          bits_per_component);
   76 
   77 
   78 HPDF_BOOL
   79 HPDF_Image_Validate (HPDF_Image  image);
   80 
   81 
   82 HPDF_STATUS
   83 HPDF_Image_SetMask (HPDF_Image   image,
   84                     HPDF_BOOL    mask);
   85 
   86 HPDF_STATUS
   87 HPDF_Image_SetColorSpace  (HPDF_Image   image,
   88                            HPDF_Array   colorspace);
   89 
   90 HPDF_STATUS
   91 HPDF_Image_SetRenderingIntent  (HPDF_Image   image,
   92                                 const char* intent);
   93 
   94 #ifdef __cplusplus
   95 }
   96 #endif /* __cplusplus */
   97 
   98 #endif /* _HPDF_XOBJECTS_H */
   99