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 
100