Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(590)

Side by Side Diff: core/fxcodec/include/fx_codec.h

Issue 1876023003: Remove ICodec_* Interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fxcodec/codec/include/ccodec_progressivedecoder.h ('k') | core/fxge/agg/fx_agg_driver.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 CORE_FXCODEC_INCLUDE_FX_CODEC_H_ 7 #ifndef CORE_FXCODEC_INCLUDE_FX_CODEC_H_
8 #define CORE_FXCODEC_INCLUDE_FX_CODEC_H_ 8 #define CORE_FXCODEC_INCLUDE_FX_CODEC_H_
9 9
10 #include <map> 10 #include <map>
11 #include <memory> 11 #include <memory>
12 #include <vector> 12 #include <vector>
13 13
14 #include "core/fxcodec/codec/ccodec_basicmodule.h"
15 #include "core/fxcodec/codec/ccodec_faxmodule.h"
16 #include "core/fxcodec/codec/ccodec_flatemodule.h"
17 #include "core/fxcodec/codec/ccodec_iccmodule.h"
18 #include "core/fxcodec/codec/ccodec_jbig2module.h"
19 #include "core/fxcodec/codec/ccodec_jpegmodule.h"
20 #include "core/fxcodec/codec/ccodec_jpxmodule.h"
21 #include "core/fxcodec/codec/ccodec_scanlinedecoder.h"
22 #include "core/fxcodec/include/fx_codec_def.h"
14 #include "core/fxcrt/include/fx_basic.h" 23 #include "core/fxcrt/include/fx_basic.h"
15 #include "core/fxcrt/include/fx_coordinates.h" // For FX_RECT. 24 #include "core/fxcrt/include/fx_coordinates.h"
16 #include "core/fxcodec/include/fx_codec_def.h"
17 25
18 class CFX_DIBSource; 26 class CFX_DIBSource;
19 class CJPX_Decoder; 27 class CJPX_Decoder;
20 class CPDF_ColorSpace; 28 class CPDF_ColorSpace;
21 class CPDF_StreamAcc; 29 class CPDF_StreamAcc;
22 class ICodec_BasicModule;
23 class ICodec_FaxModule;
24 class ICodec_FlateModule;
25 class ICodec_IccModule;
26 class ICodec_Jbig2Module;
27 class ICodec_JpegModule;
28 class ICodec_JpxModule;
29 class ICodec_ScanlineDecoder;
30 30
31 #ifdef PDF_ENABLE_XFA 31 #ifdef PDF_ENABLE_XFA
32 class ICodec_BmpModule; 32 #include "core/fxcodec/codec/ccodec_bmpmodule.h"
33 class ICodec_GifModule; 33 #include "core/fxcodec/codec/ccodec_gifmodule.h"
34 class ICodec_PngModule; 34 #include "core/fxcodec/codec/ccodec_pngmodule.h"
35 class ICodec_ProgressiveDecoder; 35 #include "core/fxcodec/codec/ccodec_tiffmodule.h"
36 class ICodec_TiffModule;
37 #endif // PDF_ENABLE_XFA
38 36
39 #ifdef PDF_ENABLE_XFA 37 class CCodec_ProgressiveDecoder;
38
40 class CFX_DIBAttribute { 39 class CFX_DIBAttribute {
41 public: 40 public:
42 CFX_DIBAttribute(); 41 CFX_DIBAttribute();
43 ~CFX_DIBAttribute(); 42 ~CFX_DIBAttribute();
44 43
45 int32_t m_nXDPI; 44 int32_t m_nXDPI;
46 int32_t m_nYDPI; 45 int32_t m_nYDPI;
47 FX_FLOAT m_fAspectRatio; 46 FX_FLOAT m_fAspectRatio;
48 uint16_t m_wDPIUnit; 47 uint16_t m_wDPIUnit;
49 CFX_ByteString m_strAuthor; 48 CFX_ByteString m_strAuthor;
50 uint8_t m_strTime[20]; 49 uint8_t m_strTime[20];
51 int32_t m_nGifLeft; 50 int32_t m_nGifLeft;
52 int32_t m_nGifTop; 51 int32_t m_nGifTop;
53 uint32_t* m_pGifLocalPalette; 52 uint32_t* m_pGifLocalPalette;
54 uint32_t m_nGifLocalPalNum; 53 uint32_t m_nGifLocalPalNum;
55 int32_t m_nBmpCompressType; 54 int32_t m_nBmpCompressType;
56 std::map<uint32_t, void*> m_Exif; 55 std::map<uint32_t, void*> m_Exif;
57 }; 56 };
58 #endif // PDF_ENABLE_XFA 57 #endif // PDF_ENABLE_XFA
59 58
60 class CCodec_ModuleMgr { 59 class CCodec_ModuleMgr {
61 public: 60 public:
62 CCodec_ModuleMgr(); 61 CCodec_ModuleMgr();
63 62
64 ICodec_BasicModule* GetBasicModule() const { return m_pBasicModule.get(); } 63 CCodec_BasicModule* GetBasicModule() const { return m_pBasicModule.get(); }
65 ICodec_FaxModule* GetFaxModule() const { return m_pFaxModule.get(); } 64 CCodec_FaxModule* GetFaxModule() const { return m_pFaxModule.get(); }
66 ICodec_JpegModule* GetJpegModule() const { return m_pJpegModule.get(); } 65 CCodec_JpegModule* GetJpegModule() const { return m_pJpegModule.get(); }
67 ICodec_JpxModule* GetJpxModule() const { return m_pJpxModule.get(); } 66 CCodec_JpxModule* GetJpxModule() const { return m_pJpxModule.get(); }
68 ICodec_Jbig2Module* GetJbig2Module() const { return m_pJbig2Module.get(); } 67 CCodec_Jbig2Module* GetJbig2Module() const { return m_pJbig2Module.get(); }
69 ICodec_IccModule* GetIccModule() const { return m_pIccModule.get(); } 68 CCodec_IccModule* GetIccModule() const { return m_pIccModule.get(); }
70 ICodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); } 69 CCodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); }
71 70
72 #ifdef PDF_ENABLE_XFA 71 #ifdef PDF_ENABLE_XFA
73 ICodec_ProgressiveDecoder* CreateProgressiveDecoder(); 72 CCodec_ProgressiveDecoder* CreateProgressiveDecoder();
74 ICodec_PngModule* GetPngModule() const { return m_pPngModule.get(); } 73 CCodec_PngModule* GetPngModule() const { return m_pPngModule.get(); }
75 ICodec_GifModule* GetGifModule() const { return m_pGifModule.get(); } 74 CCodec_GifModule* GetGifModule() const { return m_pGifModule.get(); }
76 ICodec_BmpModule* GetBmpModule() const { return m_pBmpModule.get(); } 75 CCodec_BmpModule* GetBmpModule() const { return m_pBmpModule.get(); }
77 ICodec_TiffModule* GetTiffModule() const { return m_pTiffModule.get(); } 76 CCodec_TiffModule* GetTiffModule() const { return m_pTiffModule.get(); }
78 #endif // PDF_ENABLE_XFA 77 #endif // PDF_ENABLE_XFA
79 78
80 protected: 79 protected:
81 std::unique_ptr<ICodec_BasicModule> m_pBasicModule; 80 std::unique_ptr<CCodec_BasicModule> m_pBasicModule;
82 std::unique_ptr<ICodec_FaxModule> m_pFaxModule; 81 std::unique_ptr<CCodec_FaxModule> m_pFaxModule;
83 std::unique_ptr<ICodec_JpegModule> m_pJpegModule; 82 std::unique_ptr<CCodec_JpegModule> m_pJpegModule;
84 std::unique_ptr<ICodec_JpxModule> m_pJpxModule; 83 std::unique_ptr<CCodec_JpxModule> m_pJpxModule;
85 std::unique_ptr<ICodec_Jbig2Module> m_pJbig2Module; 84 std::unique_ptr<CCodec_Jbig2Module> m_pJbig2Module;
86 std::unique_ptr<ICodec_IccModule> m_pIccModule; 85 std::unique_ptr<CCodec_IccModule> m_pIccModule;
87 #ifdef PDF_ENABLE_XFA
88 std::unique_ptr<ICodec_PngModule> m_pPngModule;
89 std::unique_ptr<ICodec_GifModule> m_pGifModule;
90 std::unique_ptr<ICodec_BmpModule> m_pBmpModule;
91 std::unique_ptr<ICodec_TiffModule> m_pTiffModule;
92 #endif // PDF_ENABLE_XFA
93 std::unique_ptr<ICodec_FlateModule> m_pFlateModule;
94 };
95 class ICodec_BasicModule {
96 public:
97 virtual ~ICodec_BasicModule() {}
98 virtual FX_BOOL RunLengthEncode(const uint8_t* src_buf,
99 uint32_t src_size,
100 uint8_t*& dest_buf,
101 uint32_t& dest_size) = 0;
102 virtual FX_BOOL A85Encode(const uint8_t* src_buf,
103 uint32_t src_size,
104 uint8_t*& dest_buf,
105 uint32_t& dest_size) = 0;
106 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(const uint8_t* src_buf,
107 uint32_t src_size,
108 int width,
109 int height,
110 int nComps,
111 int bpc) = 0;
112 };
113
114 class ICodec_ScanlineDecoder {
115 public:
116 virtual ~ICodec_ScanlineDecoder() {}
117
118 virtual uint32_t GetSrcOffset() = 0;
119
120 virtual const uint8_t* GetScanline(int line) = 0;
121
122 virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) = 0;
123
124 virtual int GetWidth() = 0;
125
126 virtual int GetHeight() = 0;
127
128 virtual int CountComps() = 0;
129
130 virtual int GetBPC() = 0;
131 };
132
133 class ICodec_FlateModule {
134 public:
135 virtual ~ICodec_FlateModule() {}
136 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
137 uint32_t src_size,
138 int width,
139 int height,
140 int nComps,
141 int bpc,
142 int predictor,
143 int Colors,
144 int BitsPerComponent,
145 int Columns) = 0;
146 virtual uint32_t FlateOrLZWDecode(FX_BOOL bLZW,
147 const uint8_t* src_buf,
148 uint32_t src_size,
149 FX_BOOL bEarlyChange,
150 int predictor,
151 int Colors,
152 int BitsPerComponent,
153 int Columns,
154 uint32_t estimated_size,
155 uint8_t*& dest_buf,
156 uint32_t& dest_size) = 0;
157 virtual FX_BOOL Encode(const uint8_t* src_buf,
158 uint32_t src_size,
159 int predictor,
160 int Colors,
161 int BitsPerComponent,
162 int Columns,
163 uint8_t*& dest_buf,
164 uint32_t& dest_size) = 0;
165 virtual FX_BOOL Encode(const uint8_t* src_buf,
166 uint32_t src_size,
167 uint8_t*& dest_buf,
168 uint32_t& dest_size) = 0;
169 };
170 class ICodec_FaxModule {
171 public:
172 virtual ~ICodec_FaxModule() {}
173
174 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
175 uint32_t src_size,
176 int width,
177 int height,
178 int K,
179 FX_BOOL EndOfLine,
180 FX_BOOL EncodedByteAlign,
181 FX_BOOL BlackIs1,
182 int Columns,
183 int Rows) = 0;
184
185 virtual FX_BOOL Encode(const uint8_t* src_buf,
186 int width,
187 int height,
188 int pitch,
189 uint8_t*& dest_buf,
190 uint32_t& dest_size) = 0;
191 };
192 class ICodec_JpegModule {
193 public:
194 virtual ~ICodec_JpegModule() {}
195
196 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
197 uint32_t src_size,
198 int width,
199 int height,
200 int nComps,
201 FX_BOOL ColorTransform) = 0;
202
203 virtual FX_BOOL LoadInfo(const uint8_t* src_buf,
204 uint32_t src_size,
205 int& width,
206 int& height,
207 int& num_components,
208 int& bits_per_components,
209 FX_BOOL& color_transform,
210 uint8_t** icc_buf_ptr = NULL,
211 uint32_t* icc_length = NULL) = 0;
212
213 virtual FX_BOOL Encode(const class CFX_DIBSource* pSource,
214 uint8_t*& dest_buf,
215 FX_STRSIZE& dest_size,
216 int quality = 75,
217 const uint8_t* icc_buf = NULL,
218 uint32_t icc_length = 0) = 0;
219
220 virtual void* Start() = 0;
221
222 virtual void Finish(void* pContext) = 0;
223
224 virtual void Input(void* pContext,
225 const uint8_t* src_buf,
226 uint32_t src_size) = 0;
227 86
228 #ifdef PDF_ENABLE_XFA 87 #ifdef PDF_ENABLE_XFA
229 virtual int ReadHeader(void* pContext, 88 std::unique_ptr<CCodec_PngModule> m_pPngModule;
230 int* width, 89 std::unique_ptr<CCodec_GifModule> m_pGifModule;
231 int* height, 90 std::unique_ptr<CCodec_BmpModule> m_pBmpModule;
232 int* nComps, 91 std::unique_ptr<CCodec_TiffModule> m_pTiffModule;
233 CFX_DIBAttribute* pAttribute) = 0;
234 #else // PDF_ENABLE_XFA
235 virtual int ReadHeader(void* pContext,
236 int* width,
237 int* height,
238 int* nComps) = 0;
239 #endif // PDF_ENABLE_XFA 92 #endif // PDF_ENABLE_XFA
240 93
241 virtual int StartScanline(void* pContext, int down_scale) = 0; 94 std::unique_ptr<CCodec_FlateModule> m_pFlateModule;
242
243 virtual FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) = 0;
244
245 virtual uint32_t GetAvailInput(void* pContext,
246 uint8_t** avail_buf_ptr = NULL) = 0;
247 };
248
249 class ICodec_JpxModule {
250 public:
251 virtual ~ICodec_JpxModule() {}
252
253 virtual CJPX_Decoder* CreateDecoder(const uint8_t* src_buf,
254 uint32_t src_size,
255 CPDF_ColorSpace* cs) = 0;
256
257 virtual void GetImageInfo(CJPX_Decoder* pDecoder,
258 uint32_t* width,
259 uint32_t* height,
260 uint32_t* components) = 0;
261
262 virtual bool Decode(CJPX_Decoder* pDecoder,
263 uint8_t* dest_data,
264 int pitch,
265 const std::vector<uint8_t>& offsets) = 0;
266
267 virtual void DestroyDecoder(CJPX_Decoder* pDecoder) = 0;
268 };
269 #ifdef PDF_ENABLE_XFA
270 class ICodec_PngModule {
271 public:
272 virtual ~ICodec_PngModule() {}
273
274 virtual void* Start(void* pModule) = 0;
275
276 virtual void Finish(void* pContext) = 0;
277
278 virtual FX_BOOL Input(void* pContext,
279 const uint8_t* src_buf,
280 uint32_t src_size,
281 CFX_DIBAttribute* pAttribute) = 0;
282
283 FX_BOOL (*ReadHeaderCallback)(void* pModule,
284 int width,
285 int height,
286 int bpc,
287 int pass,
288 int* color_type,
289 double* gamma);
290
291 FX_BOOL (*AskScanlineBufCallback)(void* pModule, int line, uint8_t*& src_buf);
292
293 void (*FillScanlineBufCompletedCallback)(void* pModule, int pass, int line);
294 };
295 class ICodec_GifModule {
296 public:
297 virtual ~ICodec_GifModule() {}
298
299 virtual void* Start(void* pModule) = 0;
300
301 virtual void Finish(void* pContext) = 0;
302
303 virtual uint32_t GetAvailInput(void* pContext,
304 uint8_t** avail_buf_ptr = NULL) = 0;
305
306 virtual void Input(void* pContext,
307 const uint8_t* src_buf,
308 uint32_t src_size) = 0;
309
310 virtual int32_t ReadHeader(void* pContext,
311 int* width,
312 int* height,
313 int* pal_num,
314 void** pal_pp,
315 int* bg_index,
316 CFX_DIBAttribute* pAttribute) = 0;
317
318 virtual int32_t LoadFrameInfo(void* pContext, int* frame_num) = 0;
319
320 void (*RecordCurrentPositionCallback)(void* pModule, uint32_t& cur_pos);
321
322 uint8_t* (*AskLocalPaletteBufCallback)(void* pModule,
323 int32_t frame_num,
324 int32_t pal_size);
325
326 virtual int32_t LoadFrame(void* pContext,
327 int frame_num,
328 CFX_DIBAttribute* pAttribute) = 0;
329
330 FX_BOOL (*InputRecordPositionBufCallback)(void* pModule,
331 uint32_t rcd_pos,
332 const FX_RECT& img_rc,
333 int32_t pal_num,
334 void* pal_ptr,
335 int32_t delay_time,
336 FX_BOOL user_input,
337 int32_t trans_index,
338 int32_t disposal_method,
339 FX_BOOL interlace);
340
341 void (*ReadScanlineCallback)(void* pModule,
342 int32_t row_num,
343 uint8_t* row_buf);
344 };
345 class ICodec_BmpModule {
346 public:
347 virtual ~ICodec_BmpModule() {}
348
349 virtual void* Start(void* pModule) = 0;
350
351 virtual void Finish(void* pContext) = 0;
352
353 virtual uint32_t GetAvailInput(void* pContext,
354 uint8_t** avail_buf_ptr = NULL) = 0;
355
356 virtual void Input(void* pContext,
357 const uint8_t* src_buf,
358 uint32_t src_size) = 0;
359
360 virtual int32_t ReadHeader(void* pContext,
361 int32_t* width,
362 int32_t* height,
363 FX_BOOL* tb_flag,
364 int32_t* components,
365 int* pal_num,
366 uint32_t** pal_pp,
367 CFX_DIBAttribute* pAttribute) = 0;
368
369 virtual int32_t LoadImage(void* pContext) = 0;
370
371 FX_BOOL (*InputImagePositionBufCallback)(void* pModule, uint32_t rcd_pos);
372
373 void (*ReadScanlineCallback)(void* pModule,
374 int32_t row_num,
375 uint8_t* row_buf);
376 };
377 class ICodec_TiffModule {
378 public:
379 virtual ~ICodec_TiffModule() {}
380
381 virtual void* CreateDecoder(IFX_FileRead* file_ptr) = 0;
382
383 virtual void GetFrames(void* ctx, int32_t& frames) = 0;
384
385 virtual FX_BOOL LoadFrameInfo(void* ctx,
386 int32_t frame,
387 uint32_t& width,
388 uint32_t& height,
389 uint32_t& comps,
390 uint32_t& bpc,
391 CFX_DIBAttribute* pAttribute) = 0;
392
393 virtual FX_BOOL Decode(void* ctx, class CFX_DIBitmap* pDIBitmap) = 0;
394
395 virtual void DestroyDecoder(void* ctx) = 0;
396 };
397 #endif
398
399 class ICodec_Jbig2Module {
400 public:
401 virtual ~ICodec_Jbig2Module() {}
402
403 virtual void* CreateJbig2Context() = 0;
404
405 virtual FXCODEC_STATUS StartDecode(void* pJbig2Context,
406 CFX_PrivateData* pPrivateData,
407 uint32_t width,
408 uint32_t height,
409 CPDF_StreamAcc* src_stream,
410 CPDF_StreamAcc* global_stream,
411 uint8_t* dest_buf,
412 uint32_t dest_pitch,
413 IFX_Pause* pPause) = 0;
414
415 virtual FXCODEC_STATUS ContinueDecode(void* pJbig2Content,
416 IFX_Pause* pPause) = 0;
417 virtual void DestroyJbig2Context(void* pJbig2Content) = 0;
418 };
419 #ifdef PDF_ENABLE_XFA
420 class ICodec_ProgressiveDecoder {
421 public:
422 virtual ~ICodec_ProgressiveDecoder() {}
423
424 virtual FXCODEC_STATUS LoadImageInfo(IFX_FileRead* pFile,
425 FXCODEC_IMAGE_TYPE imageType,
426 CFX_DIBAttribute* pAttribute) = 0;
427
428 virtual FXCODEC_IMAGE_TYPE GetType() const = 0;
429 virtual int32_t GetWidth() const = 0;
430 virtual int32_t GetHeight() const = 0;
431 virtual int32_t GetNumComponents() const = 0;
432 virtual int32_t GetBPC() const = 0;
433
434 virtual void SetClipBox(FX_RECT* clip) = 0;
435
436 virtual FXCODEC_STATUS GetFrames(int32_t& frames,
437 IFX_Pause* pPause = NULL) = 0;
438
439 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitmap,
440 int32_t start_x,
441 int32_t start_y,
442 int32_t size_x,
443 int32_t size_y,
444 int32_t frames = 0,
445 FX_BOOL bInterpol = TRUE) = 0;
446
447 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL) = 0;
448 };
449 #endif // PDF_ENABLE_XFA
450
451 class ICodec_IccModule {
452 public:
453 enum IccCS {
454 IccCS_Unknown = 0,
455 IccCS_XYZ,
456 IccCS_Lab,
457 IccCS_Luv,
458 IccCS_YCbCr,
459 IccCS_Yxy,
460 IccCS_Hsv,
461 IccCS_Hls,
462 IccCS_Gray,
463 IccCS_Rgb,
464 IccCS_Cmyk,
465 IccCS_Cmy
466 };
467
468 struct IccParam {
469 uint32_t Version;
470 IccCS ColorSpace;
471 uint32_t dwProfileType;
472 uint32_t dwFormat;
473 uint8_t* pProfileData;
474 uint32_t dwProfileSize;
475 double Gamma;
476 };
477
478 virtual ~ICodec_IccModule() {}
479
480 virtual IccCS GetProfileCS(const uint8_t* pProfileData,
481 unsigned int dwProfileSize) = 0;
482
483 virtual IccCS GetProfileCS(IFX_FileRead* pFile) = 0;
484
485 virtual void* CreateTransform(
486 ICodec_IccModule::IccParam* pInputParam,
487 ICodec_IccModule::IccParam* pOutputParam,
488 ICodec_IccModule::IccParam* pProofParam = NULL,
489 uint32_t dwIntent = Icc_INTENT_PERCEPTUAL,
490 uint32_t dwFlag = Icc_FLAGS_DEFAULT,
491 uint32_t dwPrfIntent = Icc_INTENT_ABSOLUTE_COLORIMETRIC,
492 uint32_t dwPrfFlag = Icc_FLAGS_SOFTPROOFING) = 0;
493
494 virtual void* CreateTransform_sRGB(
495 const uint8_t* pProfileData,
496 uint32_t dwProfileSize,
497 uint32_t& nComponents,
498 int32_t intent = 0,
499 uint32_t dwSrcFormat = Icc_FORMAT_DEFAULT) = 0;
500
501 virtual void* CreateTransform_CMYK(
502 const uint8_t* pSrcProfileData,
503 uint32_t dwSrcProfileSize,
504 uint32_t& nSrcComponents,
505 const uint8_t* pDstProfileData,
506 uint32_t dwDstProfileSize,
507 int32_t intent = 0,
508 uint32_t dwSrcFormat = Icc_FORMAT_DEFAULT,
509 uint32_t dwDstFormat = Icc_FORMAT_DEFAULT) = 0;
510
511 virtual void DestroyTransform(void* pTransform) = 0;
512
513 virtual void Translate(void* pTransform,
514 FX_FLOAT* pSrcValues,
515 FX_FLOAT* pDestValues) = 0;
516
517 virtual void TranslateScanline(void* pTransform,
518 uint8_t* pDest,
519 const uint8_t* pSrc,
520 int pixels) = 0;
521 virtual void SetComponents(uint32_t nComponents) = 0;
522 }; 95 };
523 96
524 void ReverseRGB(uint8_t* pDestBuf, const uint8_t* pSrcBuf, int pixels); 97 void ReverseRGB(uint8_t* pDestBuf, const uint8_t* pSrcBuf, int pixels);
525 void sRGB_to_AdobeCMYK(FX_FLOAT R, 98 void sRGB_to_AdobeCMYK(FX_FLOAT R,
526 FX_FLOAT G, 99 FX_FLOAT G,
527 FX_FLOAT B, 100 FX_FLOAT B,
528 FX_FLOAT& c, 101 FX_FLOAT& c,
529 FX_FLOAT& m, 102 FX_FLOAT& m,
530 FX_FLOAT& y, 103 FX_FLOAT& y,
531 FX_FLOAT& k); 104 FX_FLOAT& k);
(...skipping 14 matching lines...) Expand all
546 FX_BOOL MD5ComputeID(const void* buf, uint32_t dwSize, uint8_t ID[16]); 119 FX_BOOL MD5ComputeID(const void* buf, uint32_t dwSize, uint8_t ID[16]);
547 void FaxG4Decode(const uint8_t* src_buf, 120 void FaxG4Decode(const uint8_t* src_buf,
548 uint32_t src_size, 121 uint32_t src_size,
549 int* pbitpos, 122 int* pbitpos,
550 uint8_t* dest_buf, 123 uint8_t* dest_buf,
551 int width, 124 int width,
552 int height, 125 int height,
553 int pitch); 126 int pitch);
554 127
555 #endif // CORE_FXCODEC_INCLUDE_FX_CODEC_H_ 128 #endif // CORE_FXCODEC_INCLUDE_FX_CODEC_H_
OLDNEW
« no previous file with comments | « core/fxcodec/codec/include/ccodec_progressivedecoder.h ('k') | core/fxge/agg/fx_agg_driver.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698