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

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

Issue 1477663003: Manual fixups to PDF_ENABLE_XFA in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Same as master Created 5 years 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/include/fpdfdoc/fpdf_doc.h ('k') | core/include/fxcodec/fx_codec_def.h » ('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_INCLUDE_FXCODEC_FX_CODEC_H_ 7 #ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_H_
8 #define CORE_INCLUDE_FXCODEC_FX_CODEC_H_ 8 #define CORE_INCLUDE_FXCODEC_FX_CODEC_H_
9 9
10 #ifdef PDF_ENABLE_XFA
11 #include <map> 10 #include <map>
12 #endif
13 #include <vector> 11 #include <vector>
14 12
13 #include "core/include/fxcodec/fx_codec_def.h"
15 #include "core/include/fxcrt/fx_basic.h" 14 #include "core/include/fxcrt/fx_basic.h"
16 #include "fx_codec_def.h" 15 #include "core/include/fxcrt/fx_coordinates.h" // For FX_RECT.
17 #include "third_party/base/nonstd_unique_ptr.h" 16 #include "third_party/base/nonstd_unique_ptr.h"
18 17
19 #ifdef PDF_ENABLE_XFA
20 #include "../fxcrt/fx_coordinates.h" // For FX_RECT.
21
22 #endif
23 class CFX_DIBSource; 18 class CFX_DIBSource;
24 class CJPX_Decoder; 19 class CJPX_Decoder;
25 class CPDF_PrivateData; 20 class CPDF_PrivateData;
26 class CPDF_StreamAcc; 21 class CPDF_StreamAcc;
27 #ifndef PDF_ENABLE_XFA
28 class ICodec_ScanlineDecoder;
29 #endif
30 class ICodec_BasicModule; 22 class ICodec_BasicModule;
31 class ICodec_FaxModule; 23 class ICodec_FaxModule;
32 #ifdef PDF_ENABLE_XFA
33 class ICodec_FlateModule; 24 class ICodec_FlateModule;
34 class ICodec_IccModule; 25 class ICodec_IccModule;
35 class ICodec_Jbig2Encoder; 26 class ICodec_Jbig2Encoder;
36 class ICodec_Jbig2Module; 27 class ICodec_Jbig2Module;
37 #endif
38 class ICodec_JpegModule; 28 class ICodec_JpegModule;
39 class ICodec_JpxModule; 29 class ICodec_JpxModule;
40 #ifndef PDF_ENABLE_XFA
41 class ICodec_Jbig2Module;
42 class ICodec_IccModule;
43 class ICodec_FlateModule;
44 class ICodec_Jbig2Encoder;
45 #endif
46 class ICodec_ScanlineDecoder; 30 class ICodec_ScanlineDecoder;
47 31
48 #ifdef PDF_ENABLE_XFA 32 #ifdef PDF_ENABLE_XFA
49 class ICodec_BmpModule; 33 class ICodec_BmpModule;
50 class ICodec_GifModule; 34 class ICodec_GifModule;
51 class ICodec_PngModule; 35 class ICodec_PngModule;
52 class ICodec_ProgressiveDecoder; 36 class ICodec_ProgressiveDecoder;
53 class ICodec_TiffModule; 37 class ICodec_TiffModule;
38 #endif // PDF_ENABLE_XFA
54 39
40 #ifdef PDF_ENABLE_XFA
55 class CFX_DIBAttribute { 41 class CFX_DIBAttribute {
56 public: 42 public:
57 CFX_DIBAttribute(); 43 CFX_DIBAttribute();
58 ~CFX_DIBAttribute(); 44 ~CFX_DIBAttribute();
59 45
60 int32_t m_nXDPI; 46 int32_t m_nXDPI;
61 int32_t m_nYDPI; 47 int32_t m_nYDPI;
62 FX_FLOAT m_fAspectRatio; 48 FX_FLOAT m_fAspectRatio;
63 FX_WORD m_wDPIUnit; 49 FX_WORD m_wDPIUnit;
64 CFX_ByteString m_strAuthor; 50 CFX_ByteString m_strAuthor;
65 uint8_t m_strTime[20]; 51 uint8_t m_strTime[20];
66 int32_t m_nGifLeft; 52 int32_t m_nGifLeft;
67 int32_t m_nGifTop; 53 int32_t m_nGifTop;
68 FX_DWORD* m_pGifLocalPalette; 54 FX_DWORD* m_pGifLocalPalette;
69 FX_DWORD m_nGifLocalPalNum; 55 FX_DWORD m_nGifLocalPalNum;
70 int32_t m_nBmpCompressType; 56 int32_t m_nBmpCompressType;
71 std::map<FX_DWORD, void*> m_Exif; 57 std::map<FX_DWORD, void*> m_Exif;
72 }; 58 };
59 #endif // PDF_ENABLE_XFA
73 60
74 #endif
75 class CCodec_ModuleMgr { 61 class CCodec_ModuleMgr {
76 public: 62 public:
77 CCodec_ModuleMgr(); 63 CCodec_ModuleMgr();
78 64
79 ICodec_BasicModule* GetBasicModule() const { return m_pBasicModule.get(); } 65 ICodec_BasicModule* GetBasicModule() const { return m_pBasicModule.get(); }
80 ICodec_FaxModule* GetFaxModule() const { return m_pFaxModule.get(); } 66 ICodec_FaxModule* GetFaxModule() const { return m_pFaxModule.get(); }
81 ICodec_JpegModule* GetJpegModule() const { return m_pJpegModule.get(); } 67 ICodec_JpegModule* GetJpegModule() const { return m_pJpegModule.get(); }
82 ICodec_JpxModule* GetJpxModule() const { return m_pJpxModule.get(); } 68 ICodec_JpxModule* GetJpxModule() const { return m_pJpxModule.get(); }
83 ICodec_Jbig2Module* GetJbig2Module() const { return m_pJbig2Module.get(); } 69 ICodec_Jbig2Module* GetJbig2Module() const { return m_pJbig2Module.get(); }
84 ICodec_IccModule* GetIccModule() const { return m_pIccModule.get(); } 70 ICodec_IccModule* GetIccModule() const { return m_pIccModule.get(); }
85 ICodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); } 71 ICodec_FlateModule* GetFlateModule() const { return m_pFlateModule.get(); }
86 72
87 #ifdef PDF_ENABLE_XFA 73 #ifdef PDF_ENABLE_XFA
88 ICodec_ProgressiveDecoder* CreateProgressiveDecoder(); 74 ICodec_ProgressiveDecoder* CreateProgressiveDecoder();
89 ICodec_PngModule* GetPngModule() const { return m_pPngModule.get(); } 75 ICodec_PngModule* GetPngModule() const { return m_pPngModule.get(); }
90 ICodec_GifModule* GetGifModule() const { return m_pGifModule.get(); } 76 ICodec_GifModule* GetGifModule() const { return m_pGifModule.get(); }
91 ICodec_BmpModule* GetBmpModule() const { return m_pBmpModule.get(); } 77 ICodec_BmpModule* GetBmpModule() const { return m_pBmpModule.get(); }
92 ICodec_TiffModule* GetTiffModule() const { return m_pTiffModule.get(); } 78 ICodec_TiffModule* GetTiffModule() const { return m_pTiffModule.get(); }
79 #endif // PDF_ENABLE_XFA
93 80
94 #endif
95 protected: 81 protected:
96 nonstd::unique_ptr<ICodec_BasicModule> m_pBasicModule; 82 nonstd::unique_ptr<ICodec_BasicModule> m_pBasicModule;
97 nonstd::unique_ptr<ICodec_FaxModule> m_pFaxModule; 83 nonstd::unique_ptr<ICodec_FaxModule> m_pFaxModule;
98 nonstd::unique_ptr<ICodec_JpegModule> m_pJpegModule; 84 nonstd::unique_ptr<ICodec_JpegModule> m_pJpegModule;
99 nonstd::unique_ptr<ICodec_JpxModule> m_pJpxModule; 85 nonstd::unique_ptr<ICodec_JpxModule> m_pJpxModule;
100 nonstd::unique_ptr<ICodec_Jbig2Module> m_pJbig2Module; 86 nonstd::unique_ptr<ICodec_Jbig2Module> m_pJbig2Module;
101 nonstd::unique_ptr<ICodec_IccModule> m_pIccModule; 87 nonstd::unique_ptr<ICodec_IccModule> m_pIccModule;
102 nonstd::unique_ptr<ICodec_FlateModule> m_pFlateModule;
103 #ifdef PDF_ENABLE_XFA 88 #ifdef PDF_ENABLE_XFA
104
105 nonstd::unique_ptr<ICodec_PngModule> m_pPngModule; 89 nonstd::unique_ptr<ICodec_PngModule> m_pPngModule;
106 nonstd::unique_ptr<ICodec_GifModule> m_pGifModule; 90 nonstd::unique_ptr<ICodec_GifModule> m_pGifModule;
107 nonstd::unique_ptr<ICodec_BmpModule> m_pBmpModule; 91 nonstd::unique_ptr<ICodec_BmpModule> m_pBmpModule;
108 nonstd::unique_ptr<ICodec_TiffModule> m_pTiffModule; 92 nonstd::unique_ptr<ICodec_TiffModule> m_pTiffModule;
109 #endif 93 #endif // PDF_ENABLE_XFA
94 nonstd::unique_ptr<ICodec_FlateModule> m_pFlateModule;
110 }; 95 };
111 class ICodec_BasicModule { 96 class ICodec_BasicModule {
112 public: 97 public:
113 virtual ~ICodec_BasicModule() {} 98 virtual ~ICodec_BasicModule() {}
114 virtual FX_BOOL RunLengthEncode(const uint8_t* src_buf, 99 virtual FX_BOOL RunLengthEncode(const uint8_t* src_buf,
115 FX_DWORD src_size, 100 FX_DWORD src_size,
116 uint8_t*& dest_buf, 101 uint8_t*& dest_buf,
117 FX_DWORD& dest_size) = 0; 102 FX_DWORD& dest_size) = 0;
118 virtual FX_BOOL A85Encode(const uint8_t* src_buf, 103 virtual FX_BOOL A85Encode(const uint8_t* src_buf,
119 FX_DWORD src_size, 104 FX_DWORD src_size,
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 FX_DWORD icc_length = 0) = 0; 225 FX_DWORD icc_length = 0) = 0;
241 226
242 virtual void* Start() = 0; 227 virtual void* Start() = 0;
243 228
244 virtual void Finish(void* pContext) = 0; 229 virtual void Finish(void* pContext) = 0;
245 230
246 virtual void Input(void* pContext, 231 virtual void Input(void* pContext,
247 const uint8_t* src_buf, 232 const uint8_t* src_buf,
248 FX_DWORD src_size) = 0; 233 FX_DWORD src_size) = 0;
249 234
235 #ifdef PDF_ENABLE_XFA
250 virtual int ReadHeader(void* pContext, 236 virtual int ReadHeader(void* pContext,
251 int* width, 237 int* width,
252 int* height, 238 int* height,
253 #ifndef PDF_ENABLE_XFA
254 int* nComps) = 0;
255 #else
256 int* nComps, 239 int* nComps,
257 CFX_DIBAttribute* pAttribute) = 0; 240 CFX_DIBAttribute* pAttribute) = 0;
258 #endif 241 #else // PDF_ENABLE_XFA
242 virtual int ReadHeader(void* pContext,
243 int* width,
244 int* height,
245 int* nComps) = 0;
246 #endif // PDF_ENABLE_XFA
259 247
260 virtual int StartScanline(void* pContext, int down_scale) = 0; 248 virtual int StartScanline(void* pContext, int down_scale) = 0;
261 249
262 virtual FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) = 0; 250 virtual FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) = 0;
263 251
264 virtual FX_DWORD GetAvailInput(void* pContext, 252 virtual FX_DWORD GetAvailInput(void* pContext,
265 uint8_t** avail_buf_ptr = NULL) = 0; 253 uint8_t** avail_buf_ptr = NULL) = 0;
266 }; 254 };
267 255
268 class ICodec_JpxModule { 256 class ICodec_JpxModule {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitmap, 446 virtual FXCODEC_STATUS StartDecode(class CFX_DIBitmap* pDIBitmap,
459 int32_t start_x, 447 int32_t start_x,
460 int32_t start_y, 448 int32_t start_y,
461 int32_t size_x, 449 int32_t size_x,
462 int32_t size_y, 450 int32_t size_y,
463 int32_t frames = 0, 451 int32_t frames = 0,
464 FX_BOOL bInterpol = TRUE) = 0; 452 FX_BOOL bInterpol = TRUE) = 0;
465 453
466 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL) = 0; 454 virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL) = 0;
467 }; 455 };
468 #endif 456 #endif // PDF_ENABLE_XFA
469 class ICodec_Jbig2Encoder { 457 class ICodec_Jbig2Encoder {
470 public: 458 public:
471 virtual ~ICodec_Jbig2Encoder() {} 459 virtual ~ICodec_Jbig2Encoder() {}
472 }; 460 };
473 class ICodec_IccModule { 461 class ICodec_IccModule {
474 public: 462 public:
475 typedef enum { 463 typedef enum {
476 IccCS_Unknown = 0, 464 IccCS_Unknown = 0,
477 IccCS_XYZ, 465 IccCS_XYZ,
478 IccCS_Lab, 466 IccCS_Lab,
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 FX_BOOL MD5ComputeID(const void* buf, FX_DWORD dwSize, uint8_t ID[16]); 547 FX_BOOL MD5ComputeID(const void* buf, FX_DWORD dwSize, uint8_t ID[16]);
560 void FaxG4Decode(const uint8_t* src_buf, 548 void FaxG4Decode(const uint8_t* src_buf,
561 FX_DWORD src_size, 549 FX_DWORD src_size,
562 int* pbitpos, 550 int* pbitpos,
563 uint8_t* dest_buf, 551 uint8_t* dest_buf,
564 int width, 552 int width,
565 int height, 553 int height,
566 int pitch); 554 int pitch);
567 555
568 #endif // CORE_INCLUDE_FXCODEC_FX_CODEC_H_ 556 #endif // CORE_INCLUDE_FXCODEC_FX_CODEC_H_
OLDNEW
« no previous file with comments | « core/include/fpdfdoc/fpdf_doc.h ('k') | core/include/fxcodec/fx_codec_def.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698