OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef _FX_CODEC_H_ | 7 #ifndef _FX_CODEC_H_ |
8 #define _FX_CODEC_H_ | 8 #define _FX_CODEC_H_ |
9 #ifndef _FXCRT_EXTENSION_ | 9 #ifndef _FXCRT_EXTENSION_ |
10 #include "../fxcrt/fx_ext.h" | 10 #include "../fxcrt/fx_ext.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 class ICodec_Jbig2Module; | 21 class ICodec_Jbig2Module; |
22 class ICodec_IccModule; | 22 class ICodec_IccModule; |
23 class ICodec_FlateModule; | 23 class ICodec_FlateModule; |
24 class ICodec_Jbig2Encoder; | 24 class ICodec_Jbig2Encoder; |
25 class ICodec_PngModule; | 25 class ICodec_PngModule; |
26 class ICodec_GifModule; | 26 class ICodec_GifModule; |
27 class ICodec_BmpModule; | 27 class ICodec_BmpModule; |
28 class ICodec_TiffModule; | 28 class ICodec_TiffModule; |
29 class CFX_DIBAttribute; | 29 class CFX_DIBAttribute; |
30 class ICodec_ScanlineDecoder; | 30 class ICodec_ScanlineDecoder; |
31 class CCodec_ModuleMgr : public CFX_Object | 31 class CCodec_ModuleMgr |
32 { | 32 { |
33 public: | 33 public: |
34 | 34 |
35 static CCodec_ModuleMgr* Create(); | 35 static CCodec_ModuleMgr* Create(); |
36 | 36 |
37 void Destroy(); | 37 void Destroy(); |
38 | 38 |
39 void InitJbig2Decoder(); | 39 void InitJbig2Decoder(); |
40 | 40 |
41 void InitJpxDecoder(); | 41 void InitJpxDecoder(); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 ICodec_JpxModule* m_pJpxModule; | 102 ICodec_JpxModule* m_pJpxModule; |
103 ICodec_Jbig2Module* m_pJbig2Module; | 103 ICodec_Jbig2Module* m_pJbig2Module; |
104 ICodec_IccModule* m_pIccModule; | 104 ICodec_IccModule* m_pIccModule; |
105 ICodec_FlateModule* m_pFlateModule; | 105 ICodec_FlateModule* m_pFlateModule; |
106 ICodec_PngModule* m_pPngModule; | 106 ICodec_PngModule* m_pPngModule; |
107 ICodec_GifModule* m_pGifModule; | 107 ICodec_GifModule* m_pGifModule; |
108 ICodec_BmpModule* m_pBmpModule; | 108 ICodec_BmpModule* m_pBmpModule; |
109 ICodec_TiffModule* m_pTiffModule; | 109 ICodec_TiffModule* m_pTiffModule; |
110 | 110 |
111 }; | 111 }; |
112 class ICodec_BasicModule : public CFX_Object | 112 class ICodec_BasicModule |
113 { | 113 { |
114 public: | 114 public: |
115 | 115 |
116 virtual ~ICodec_BasicModule() {} | 116 virtual ~ICodec_BasicModule() {} |
117 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz
e, FX_LPBYTE& dest_buf, | 117 virtual FX_BOOL RunLengthEncode(const FX_BYTE* src_buf, FX_DWORD src_siz
e, FX_LPBYTE& dest_buf, |
118 FX_DWORD& dest_size) = 0; | 118 FX_DWORD& dest_size) = 0; |
119 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_
LPBYTE& dest_buf, | 119 virtual FX_BOOL A85Encode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_
LPBYTE& dest_buf, |
120 FX_DWORD& dest_size) = 0; | 120 FX_DWORD& dest_size) = 0; |
121 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu
f, FX_DWORD src_size, int width, int height, | 121 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(FX_LPCBYTE src_bu
f, FX_DWORD src_size, int width, int height, |
122 int nComps, int bpc) = 0; | 122 int nComps, int bpc) = 0; |
123 }; | 123 }; |
124 class ICodec_ScanlineDecoder : public CFX_Object | 124 class ICodec_ScanlineDecoder |
125 { | 125 { |
126 public: | 126 public: |
127 | 127 |
128 virtual ~ICodec_ScanlineDecoder() {} | 128 virtual ~ICodec_ScanlineDecoder() {} |
129 | 129 |
130 virtual FX_DWORD GetSrcOffset() = 0; | 130 virtual FX_DWORD GetSrcOffset() = 0; |
131 | 131 |
132 virtual void DownScale(int dest_width, int dest_height) = 0; | 132 virtual void DownScale(int dest_width, int dest_height) = 0; |
133 | 133 |
134 virtual FX_LPBYTE GetScanline(int line) = 0; | 134 virtual FX_LPBYTE GetScanline(int line) = 0; |
135 | 135 |
136 virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) = 0; | 136 virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) = 0; |
137 | 137 |
138 virtual int GetWidth() = 0; | 138 virtual int GetWidth() = 0; |
139 | 139 |
140 virtual int GetHeight() = 0; | 140 virtual int GetHeight() = 0; |
141 | 141 |
142 virtual int CountComps() = 0; | 142 virtual int CountComps() = 0; |
143 | 143 |
144 virtual int GetBPC() = 0; | 144 virtual int GetBPC() = 0; |
145 | 145 |
146 virtual FX_BOOL IsColorTransformed() = 0; | 146 virtual FX_BOOL IsColorTransformed() = 0; |
147 | 147 |
148 virtual void ClearImageData() = 0; | 148 virtual void ClearImageData() = 0; |
149 }; | 149 }; |
150 class ICodec_FlateModule : public CFX_Object | 150 class ICodec_FlateModule |
151 { | 151 { |
152 public: | 152 public: |
153 | 153 |
154 virtual ~ICodec_FlateModule() {} | 154 virtual ~ICodec_FlateModule() {} |
155 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, | 155 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, |
156 int nComps, int bpc, int predictor, int Colors, int BitsPerComponent
, int Columns) = 0; | 156 int nComps, int bpc, int predictor, int Colors, int BitsPerComponent
, int Columns) = 0; |
157 virtual FX_DWORD FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_buf, F
X_DWORD src_size, FX_BOOL bEarlyChange, | 157 virtual FX_DWORD FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_buf, F
X_DWORD src_size, FX_BOOL bEarlyChange, |
158 int predictor, int Colors, int BitsPerC
omponent, int Columns, | 158 int predictor, int Colors, int BitsPerC
omponent, int Columns, |
159 FX_DWORD estimated_size, FX_LPBYTE& des
t_buf, FX_DWORD& dest_size) = 0; | 159 FX_DWORD estimated_size, FX_LPBYTE& des
t_buf, FX_DWORD& dest_size) = 0; |
160 virtual FX_BOOL Encode(const FX_BYTE* src_buf, FX_DWORD src_size
, | 160 virtual FX_BOOL Encode(const FX_BYTE* src_buf, FX_DWORD src_size
, |
161 int predictor, int Colors, int BitsPerComponent,
int Columns, | 161 int predictor, int Colors, int BitsPerComponent,
int Columns, |
162 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; | 162 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; |
163 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, FX_DWORD src_size, FX
_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; | 163 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, FX_DWORD src_size, FX
_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; |
164 }; | 164 }; |
165 class ICodec_FaxModule : public CFX_Object | 165 class ICodec_FaxModule |
166 { | 166 { |
167 public: | 167 public: |
168 | 168 |
169 virtual ~ICodec_FaxModule() {} | 169 virtual ~ICodec_FaxModule() {} |
170 | 170 |
171 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, | 171 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, int width, int height, |
172 int K, FX_BOOL EndOfLine, FX_BOOL EncodedByteAlign, FX_BOOL BlackIs1
, int Columns, int Rows) = 0; | 172 int K, FX_BOOL EndOfLine, FX_BOOL EncodedByteAlign, FX_BOOL BlackIs1
, int Columns, int Rows) = 0; |
173 | 173 |
174 | 174 |
175 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, int width, int height
, int pitch, | 175 virtual FX_BOOL Encode(FX_LPCBYTE src_buf, int width, int height
, int pitch, |
176 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; | 176 FX_LPBYTE& dest_buf, FX_DWORD& dest_size) = 0; |
177 }; | 177 }; |
178 class ICodec_JpegModule : public CFX_Object | 178 class ICodec_JpegModule |
179 { | 179 { |
180 public: | 180 public: |
181 | 181 |
182 virtual ~ICodec_JpegModule() {} | 182 virtual ~ICodec_JpegModule() {} |
183 | 183 |
184 virtual void SetPovider(IFX_JpegProvider* pJP) = 0; | 184 virtual void SetPovider(IFX_JpegProvider* pJP) = 0; |
185 | 185 |
186 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, | 186 virtual ICodec_ScanlineDecoder* CreateDecoder(FX_LPCBYTE src_buf, FX_DWO
RD src_size, |
187 int width, int height, int nComps, FX_BOOL ColorTransform) = 0; | 187 int width, int height, int nComps, FX_BOOL ColorTransform) = 0; |
188 | 188 |
(...skipping 14 matching lines...) Expand all Loading... |
203 | 203 |
204 | 204 |
205 virtual int StartScanline(void* pContext, int down_scale) =
0; | 205 virtual int StartScanline(void* pContext, int down_scale) =
0; |
206 | 206 |
207 | 207 |
208 virtual FX_BOOL ReadScanline(void* pContext, FX_LPBYTE dest_buf)
= 0; | 208 virtual FX_BOOL ReadScanline(void* pContext, FX_LPBYTE dest_buf)
= 0; |
209 | 209 |
210 | 210 |
211 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | 211 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; |
212 }; | 212 }; |
213 class ICodec_JpxModule : public CFX_Object | 213 class ICodec_JpxModule |
214 { | 214 { |
215 public: | 215 public: |
216 | 216 |
217 virtual ~ICodec_JpxModule() {} | 217 virtual ~ICodec_JpxModule() {} |
218 | 218 |
219 virtual FX_LPVOID CreateDecoder(FX_LPCBYTE src_buf, FX_DWORD src_size, FX_
BOOL useColorSpace = FALSE) = 0; | 219 virtual FX_LPVOID CreateDecoder(FX_LPCBYTE src_buf, FX_DWORD src_size, FX_
BOOL useColorSpace = FALSE) = 0; |
220 | 220 |
221 virtual void GetImageInfo(FX_LPVOID ctx, FX_DWORD& width, FX_
DWORD& height, | 221 virtual void GetImageInfo(FX_LPVOID ctx, FX_DWORD& width, FX_
DWORD& height, |
222 FX_DWORD& codestream_nComps, FX_DWORD& outp
ut_nComps) = 0; | 222 FX_DWORD& codestream_nComps, FX_DWORD& outp
ut_nComps) = 0; |
223 | 223 |
224 virtual FX_BOOL Decode(FX_LPVOID ctx, FX_LPBYTE dest_data, int p
itch, | 224 virtual FX_BOOL Decode(FX_LPVOID ctx, FX_LPBYTE dest_data, int p
itch, |
225 FX_BOOL bTranslateColor, FX_LPBYTE offsets) = 0; | 225 FX_BOOL bTranslateColor, FX_LPBYTE offsets) = 0; |
226 | 226 |
227 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; | 227 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; |
228 }; | 228 }; |
229 class ICodec_PngModule : public CFX_Object | 229 class ICodec_PngModule |
230 { | 230 { |
231 public: | 231 public: |
232 | 232 |
233 virtual ~ICodec_PngModule() {} | 233 virtual ~ICodec_PngModule() {} |
234 | 234 |
235 virtual void* Start(void* pModule) = 0; | 235 virtual void* Start(void* pModule) = 0; |
236 | 236 |
237 virtual void Finish(void* pContext) = 0; | 237 virtual void Finish(void* pContext) = 0; |
238 | 238 |
239 virtual FX_BOOL Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size, CFX_DIBAttribute* pAttribute = NULL) = 0; | 239 virtual FX_BOOL Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size, CFX_DIBAttribute* pAttribute = NULL) = 0; |
240 | 240 |
241 FX_BOOL (*ReadHeaderCallback)(void* pModule, int
width, int height, int bpc, int pass, int* color_type, double* gamma); | 241 FX_BOOL (*ReadHeaderCallback)(void* pModule, int
width, int height, int bpc, int pass, int* color_type, double* gamma); |
242 | 242 |
243 FX_BOOL (*AskScanlineBufCallback)(void* pModule,
int line, FX_LPBYTE& src_buf); | 243 FX_BOOL (*AskScanlineBufCallback)(void* pModule,
int line, FX_LPBYTE& src_buf); |
244 | 244 |
245 void (*FillScanlineBufCompletedCallback)(void
* pModule, int pass, int line); | 245 void (*FillScanlineBufCompletedCallback)(void
* pModule, int pass, int line); |
246 }; | 246 }; |
247 class ICodec_GifModule : public CFX_Object | 247 class ICodec_GifModule |
248 { | 248 { |
249 public: | 249 public: |
250 | 250 |
251 virtual ~ICodec_GifModule() {} | 251 virtual ~ICodec_GifModule() {} |
252 | 252 |
253 virtual void* Start(void* pModule) = 0; | 253 virtual void* Start(void* pModule) = 0; |
254 | 254 |
255 virtual void Finish(void* pContext) = 0; | 255 virtual void Finish(void* pContext) = 0; |
256 | 256 |
257 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | 257 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; |
(...skipping 11 matching lines...) Expand all Loading... |
269 | 269 |
270 virtual FX_INT32 LoadFrame(void* pContext, int frame_num, CFX_DIBAttribut
e* pAttribute = NULL) = 0; | 270 virtual FX_INT32 LoadFrame(void* pContext, int frame_num, CFX_DIBAttribut
e* pAttribute = NULL) = 0; |
271 | 271 |
272 FX_BOOL (*InputRecordPositionBufCallback)(void*
pModule, FX_DWORD rcd_pos, const FX_RECT& img_rc, | 272 FX_BOOL (*InputRecordPositionBufCallback)(void*
pModule, FX_DWORD rcd_pos, const FX_RECT& img_rc, |
273 FX_INT32 pal_num, void* pal_ptr, | 273 FX_INT32 pal_num, void* pal_ptr, |
274 FX_INT32 delay_time, FX_BOOL user_input, | 274 FX_INT32 delay_time, FX_BOOL user_input, |
275 FX_INT32 trans_index, FX_INT32 disposal_method, FX_BOOL interlace); | 275 FX_INT32 trans_index, FX_INT32 disposal_method, FX_BOOL interlace); |
276 | 276 |
277 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); | 277 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); |
278 }; | 278 }; |
279 class ICodec_BmpModule : public CFX_Object | 279 class ICodec_BmpModule |
280 { | 280 { |
281 public: | 281 public: |
282 | 282 |
283 virtual ~ICodec_BmpModule() {} | 283 virtual ~ICodec_BmpModule() {} |
284 | 284 |
285 virtual void* Start(void* pModule) = 0; | 285 virtual void* Start(void* pModule) = 0; |
286 | 286 |
287 virtual void Finish(void* pContext) = 0; | 287 virtual void Finish(void* pContext) = 0; |
288 | 288 |
289 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; | 289 virtual FX_DWORD GetAvailInput(void* pContext, FX_LPBYTE* avail_buf_ptr =
NULL) = 0; |
290 | 290 |
291 virtual void Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size) = 0; | 291 virtual void Input(void* pContext, FX_LPCBYTE src_buf, FX_DWO
RD src_size) = 0; |
292 | 292 |
293 virtual FX_INT32 ReadHeader(void* pContext, FX_INT32* width, FX_INT32* he
ight, FX_BOOL* tb_flag, FX_INT32* components, | 293 virtual FX_INT32 ReadHeader(void* pContext, FX_INT32* width, FX_INT32* he
ight, FX_BOOL* tb_flag, FX_INT32* components, |
294 int* pal_num, FX_DWORD** pal_pp, CFX_DIBAttri
bute* pAttribute = NULL) = 0; | 294 int* pal_num, FX_DWORD** pal_pp, CFX_DIBAttri
bute* pAttribute = NULL) = 0; |
295 | 295 |
296 virtual FX_INT32 LoadImage(void* pContext) = 0; | 296 virtual FX_INT32 LoadImage(void* pContext) = 0; |
297 | 297 |
298 FX_BOOL (*InputImagePositionBufCallback)(void* p
Module, FX_DWORD rcd_pos); | 298 FX_BOOL (*InputImagePositionBufCallback)(void* p
Module, FX_DWORD rcd_pos); |
299 | 299 |
300 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); | 300 void (*ReadScanlineCallback)(void* pModule, F
X_INT32 row_num, FX_LPBYTE row_buf); |
301 }; | 301 }; |
302 class ICodec_TiffModule : public CFX_Object | 302 class ICodec_TiffModule |
303 { | 303 { |
304 public: | 304 public: |
305 | 305 |
306 virtual ~ICodec_TiffModule() {} | 306 virtual ~ICodec_TiffModule() {} |
307 | 307 |
308 virtual FX_LPVOID CreateDecoder(IFX_FileRead* file_ptr) = 0; | 308 virtual FX_LPVOID CreateDecoder(IFX_FileRead* file_ptr) = 0; |
309 | 309 |
310 | 310 |
311 virtual void GetFrames(FX_LPVOID ctx, FX_INT32& frames) = 0; | 311 virtual void GetFrames(FX_LPVOID ctx, FX_INT32& frames) = 0; |
312 | 312 |
313 virtual FX_BOOL LoadFrameInfo(FX_LPVOID ctx, FX_INT32 frame, FX_
DWORD& width, FX_DWORD& height, FX_DWORD& comps, FX_DWORD& bpc, CFX_DIBAttribute
* pAttribute = NULL) = 0; | 313 virtual FX_BOOL LoadFrameInfo(FX_LPVOID ctx, FX_INT32 frame, FX_
DWORD& width, FX_DWORD& height, FX_DWORD& comps, FX_DWORD& bpc, CFX_DIBAttribute
* pAttribute = NULL) = 0; |
314 | 314 |
315 | 315 |
316 virtual FX_BOOL Decode(FX_LPVOID ctx, class CFX_DIBitmap* pDIBit
map) = 0; | 316 virtual FX_BOOL Decode(FX_LPVOID ctx, class CFX_DIBitmap* pDIBit
map) = 0; |
317 | 317 |
318 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; | 318 virtual void DestroyDecoder(FX_LPVOID ctx) = 0; |
319 }; | 319 }; |
320 class ICodec_Jbig2Module : public CFX_Object | 320 class ICodec_Jbig2Module |
321 { | 321 { |
322 public: | 322 public: |
323 | 323 |
324 virtual ~ICodec_Jbig2Module() {} | 324 virtual ~ICodec_Jbig2Module() {} |
325 | 325 |
326 virtual FX_BOOL Decode(FX_DWORD width, FX_DWORD height, FX_LPCBY
TE src_buf, FX_DWORD src_size, | 326 virtual FX_BOOL Decode(FX_DWORD width, FX_DWORD height, FX_LPCBY
TE src_buf, FX_DWORD src_size, |
327 FX_LPCBYTE global_data, FX_DWORD global_size, FX_
LPBYTE dest_buf, FX_DWORD dest_pitch) = 0; | 327 FX_LPCBYTE global_data, FX_DWORD global_size, FX_
LPBYTE dest_buf, FX_DWORD dest_pitch) = 0; |
328 | 328 |
329 virtual FX_BOOL Decode(IFX_FileRead* file_ptr, FX_DWORD& width,
FX_DWORD& height, | 329 virtual FX_BOOL Decode(IFX_FileRead* file_ptr, FX_DWORD& width,
FX_DWORD& height, |
330 FX_DWORD& pitch, FX_LPBYTE& dest_buf) = 0; | 330 FX_DWORD& pitch, FX_LPBYTE& dest_buf) = 0; |
331 virtual void* CreateJbig2Context() = 0; | 331 virtual void* CreateJbig2Context() = 0; |
332 | 332 |
333 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, FX_DWOR
D width, FX_DWORD height, FX_LPCBYTE src_buf, FX_DWORD src_size, | 333 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, FX_DWOR
D width, FX_DWORD height, FX_LPCBYTE src_buf, FX_DWORD src_size, |
334 FX_LPCBYTE global_data, FX_DWORD glo
bal_size, FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause) = 0; | 334 FX_LPCBYTE global_data, FX_DWORD glo
bal_size, FX_LPBYTE dest_buf, FX_DWORD dest_pitch, IFX_Pause* pPause) = 0; |
335 | 335 |
336 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_Fil
eRead* file_ptr, | 336 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context, IFX_Fil
eRead* file_ptr, |
337 FX_DWORD& width, FX_DWORD& height, F
X_DWORD& pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause) = 0; | 337 FX_DWORD& width, FX_DWORD& height, F
X_DWORD& pitch, FX_LPBYTE& dest_buf, IFX_Pause* pPause) = 0; |
338 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content, IFX_
Pause* pPause) = 0; | 338 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content, IFX_
Pause* pPause) = 0; |
339 virtual void DestroyJbig2Context(void* pJbig2
Content) = 0; | 339 virtual void DestroyJbig2Context(void* pJbig2
Content) = 0; |
340 }; | 340 }; |
341 class ICodec_ProgressiveDecoder : public CFX_Object | 341 class ICodec_ProgressiveDecoder |
342 { | 342 { |
343 public: | 343 public: |
344 | 344 |
345 virtual ~ICodec_ProgressiveDecoder() {} | 345 virtual ~ICodec_ProgressiveDecoder() {} |
346 | 346 |
347 virtual FXCODEC_STATUS LoadImageInfo(IFX_FileRead* pFile, FXCOD
EC_IMAGE_TYPE imageType = FXCODEC_IMAGE_UNKNOWN, CFX_DIBAttribute* pAttribute =
NULL) = 0; | 347 virtual FXCODEC_STATUS LoadImageInfo(IFX_FileRead* pFile, FXCOD
EC_IMAGE_TYPE imageType = FXCODEC_IMAGE_UNKNOWN, CFX_DIBAttribute* pAttribute =
NULL) = 0; |
348 | 348 |
349 virtual FXCODEC_IMAGE_TYPE GetType() = 0; | 349 virtual FXCODEC_IMAGE_TYPE GetType() = 0; |
350 | 350 |
351 virtual FX_INT32 GetWidth() = 0; | 351 virtual FX_INT32 GetWidth() = 0; |
352 | 352 |
353 virtual FX_INT32 GetHeight() = 0; | 353 virtual FX_INT32 GetHeight() = 0; |
354 | 354 |
355 virtual FX_INT32 GetNumComponents() = 0; | 355 virtual FX_INT32 GetNumComponents() = 0; |
356 | 356 |
357 virtual FX_INT32 GetBPC() = 0; | 357 virtual FX_INT32 GetBPC() = 0; |
358 | 358 |
359 virtual void SetClipBox(FX_RECT* clip) = 0; | 359 virtual void SetClipBox(FX_RECT* clip) = 0; |
360 | 360 |
361 virtual FXCODEC_STATUS GetFrames(FX_INT32& frames, IFX_Pause* p
Pause = NULL) = 0; | 361 virtual FXCODEC_STATUS GetFrames(FX_INT32& frames, IFX_Pause* p
Pause = NULL) = 0; |
362 | 362 |
363 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitma
p, | 363 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitma
p, |
364 FX_INT32 start_x, FX_INT32 start_y,
FX_INT32 size_x, FX_INT32 size_y, | 364 FX_INT32 start_x, FX_INT32 start_y,
FX_INT32 size_x, FX_INT32 size_y, |
365 FX_INT32 frames = 0, FX_BOOL bInterp
ol = TRUE) = 0; | 365 FX_INT32 frames = 0, FX_BOOL bInterp
ol = TRUE) = 0; |
366 | 366 |
367 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL)
= 0; | 367 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL)
= 0; |
368 }; | 368 }; |
369 class ICodec_Jbig2Encoder : public CFX_Object | 369 class ICodec_Jbig2Encoder |
370 { | 370 { |
371 public: | 371 public: |
372 | 372 |
373 virtual ~ICodec_Jbig2Encoder() {} | 373 virtual ~ICodec_Jbig2Encoder() {} |
374 }; | 374 }; |
375 class ICodec_IccModule : public CFX_Object | 375 class ICodec_IccModule |
376 { | 376 { |
377 public: | 377 public: |
378 typedef enum { | 378 typedef enum { |
379 IccCS_Unknown = 0, | 379 IccCS_Unknown = 0, |
380 IccCS_XYZ, | 380 IccCS_XYZ, |
381 IccCS_Lab, | 381 IccCS_Lab, |
382 IccCS_Luv, | 382 IccCS_Luv, |
383 IccCS_YCbCr, | 383 IccCS_YCbCr, |
384 IccCS_Yxy, | 384 IccCS_Yxy, |
385 IccCS_Hsv, | 385 IccCS_Hsv, |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 virtual void DestroyTransform(FX_LPVOID pTransform) =
0; | 427 virtual void DestroyTransform(FX_LPVOID pTransform) =
0; |
428 | 428 |
429 virtual void Translate(FX_LPVOID pTransform, FX_FLOAT
* pSrcValues, FX_FLOAT* pDestValues) = 0; | 429 virtual void Translate(FX_LPVOID pTransform, FX_FLOAT
* pSrcValues, FX_FLOAT* pDestValues) = 0; |
430 | 430 |
431 virtual void TranslateScanline(FX_LPVOID pTransform,
FX_LPBYTE pDest, FX_LPCBYTE pSrc, int pixels) = 0; | 431 virtual void TranslateScanline(FX_LPVOID pTransform,
FX_LPBYTE pDest, FX_LPCBYTE pSrc, int pixels) = 0; |
432 virtual void SetComponents(FX_DWORD nComponents) = 0; | 432 virtual void SetComponents(FX_DWORD nComponents) = 0; |
433 }; | 433 }; |
434 void AdobeCMYK_to_sRGB(FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k, FX_FLOAT&
R, FX_FLOAT& G, FX_FLOAT& B); | 434 void AdobeCMYK_to_sRGB(FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k, FX_FLOAT&
R, FX_FLOAT& G, FX_FLOAT& B); |
435 void AdobeCMYK_to_sRGB1(FX_BYTE c, FX_BYTE m, FX_BYTE y, FX_BYTE k, FX_BYTE& R,
FX_BYTE& G, FX_BYTE& B); | 435 void AdobeCMYK_to_sRGB1(FX_BYTE c, FX_BYTE m, FX_BYTE y, FX_BYTE k, FX_BYTE& R,
FX_BYTE& G, FX_BYTE& B); |
436 FX_BOOL MD5ComputeID(FX_LPCVOID buf, FX_DWORD dwSize, FX_BYTE ID[16]); | 436 FX_BOOL MD5ComputeID(FX_LPCVOID buf, FX_DWORD dwSize, FX_BYTE ID[16]); |
437 class CFX_DIBAttribute : public CFX_Object | 437 class CFX_DIBAttribute |
438 { | 438 { |
439 public: | 439 public: |
440 CFX_DIBAttribute(); | 440 CFX_DIBAttribute(); |
441 ~CFX_DIBAttribute(); | 441 ~CFX_DIBAttribute(); |
442 | 442 |
443 FX_INT32 m_nXDPI; | 443 FX_INT32 m_nXDPI; |
444 | 444 |
445 FX_INT32 m_nYDPI; | 445 FX_INT32 m_nYDPI; |
446 | 446 |
447 FX_FLOAT m_fAspectRatio; | 447 FX_FLOAT m_fAspectRatio; |
448 | 448 |
449 FX_WORD m_wDPIUnit; | 449 FX_WORD m_wDPIUnit; |
450 | 450 |
451 CFX_ByteString m_strAuthor; | 451 CFX_ByteString m_strAuthor; |
452 | 452 |
453 FX_BYTE m_strTime[20]; | 453 FX_BYTE m_strTime[20]; |
454 | 454 |
455 FX_INT32 m_nGifLeft; | 455 FX_INT32 m_nGifLeft; |
456 FX_INT32 m_nGifTop; | 456 FX_INT32 m_nGifTop; |
457 | 457 |
458 FX_DWORD* m_pGifLocalPalette; | 458 FX_DWORD* m_pGifLocalPalette; |
459 | 459 |
460 FX_DWORD m_nGifLocalPalNum; | 460 FX_DWORD m_nGifLocalPalNum; |
461 | 461 |
462 FX_INT32 m_nBmpCompressType; | 462 FX_INT32 m_nBmpCompressType; |
463 class IFX_DIBAttributeExif* m_pExif; | 463 class IFX_DIBAttributeExif* m_pExif; |
464 }; | 464 }; |
465 class IFX_DIBAttributeExif : public CFX_Object | 465 class IFX_DIBAttributeExif |
466 { | 466 { |
467 public: | 467 public: |
468 virtual ~IFX_DIBAttributeExif() {}; | 468 virtual ~IFX_DIBAttributeExif() {}; |
469 virtual FX_BOOL GetInfo(FX_WORD tag, FX_LPVOID val) = 0; | 469 virtual FX_BOOL GetInfo(FX_WORD tag, FX_LPVOID val) = 0; |
470 }; | 470 }; |
471 #endif | 471 #endif |
OLD | NEW |