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

Side by Side Diff: core/src/fxcodec/codec/codec_int.h

Issue 1453643002: Add more overrides. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 5 years, 1 month 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/src/fpdfapi/fpdf_font/ttgsubtable.h ('k') | core/src/fxcodec/codec/fx_codec_jbig.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_SRC_FXCODEC_CODEC_CODEC_INT_H_ 7 #ifndef CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_
8 #define CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ 8 #define CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_
9 9
10 #include <limits.h> 10 #include <limits.h>
11 #include <list> 11 #include <list>
12 #include <map> 12 #include <map>
13 13
14 #include "core/include/fxcodec/fx_codec.h" 14 #include "core/include/fxcodec/fx_codec.h"
15 #include "core/src/fxcodec/jbig2/JBig2_Context.h" 15 #include "core/src/fxcodec/jbig2/JBig2_Context.h"
16 #include "third_party/base/nonstd_unique_ptr.h" 16 #include "third_party/base/nonstd_unique_ptr.h"
17 #include "third_party/libopenjpeg20/openjpeg.h" // For OPJ_SIZE_T. 17 #include "third_party/libopenjpeg20/openjpeg.h" // For OPJ_SIZE_T.
18 18
19 class CFX_IccProfileCache; 19 class CFX_IccProfileCache;
20 class CFX_IccTransformCache; 20 class CFX_IccTransformCache;
21 21
22 class CCodec_BasicModule : public ICodec_BasicModule { 22 class CCodec_BasicModule : public ICodec_BasicModule {
23 public: 23 public:
24 virtual FX_BOOL RunLengthEncode(const uint8_t* src_buf, 24 // ICodec_BasicModule:
25 FX_DWORD src_size, 25 FX_BOOL RunLengthEncode(const uint8_t* src_buf,
26 uint8_t*& dest_buf, 26 FX_DWORD src_size,
27 FX_DWORD& dest_size); 27 uint8_t*& dest_buf,
28 virtual FX_BOOL A85Encode(const uint8_t* src_buf, 28 FX_DWORD& dest_size) override;
29 FX_DWORD src_size, 29 FX_BOOL A85Encode(const uint8_t* src_buf,
30 uint8_t*& dest_buf, 30 FX_DWORD src_size,
31 FX_DWORD& dest_size); 31 uint8_t*& dest_buf,
32 virtual ICodec_ScanlineDecoder* CreateRunLengthDecoder(const uint8_t* src_buf, 32 FX_DWORD& dest_size) override;
33 FX_DWORD src_size, 33 ICodec_ScanlineDecoder* CreateRunLengthDecoder(const uint8_t* src_buf,
34 int width, 34 FX_DWORD src_size,
35 int height, 35 int width,
36 int nComps, 36 int height,
37 int bpc); 37 int nComps,
38 int bpc) override;
38 }; 39 };
39 40
40 class CCodec_ScanlineDecoder : public ICodec_ScanlineDecoder { 41 class CCodec_ScanlineDecoder : public ICodec_ScanlineDecoder {
41 public: 42 public:
42 CCodec_ScanlineDecoder(); 43 CCodec_ScanlineDecoder();
43 ~CCodec_ScanlineDecoder() override; 44 ~CCodec_ScanlineDecoder() override;
44 45
45 // ICodec_ScanlineDecoder 46 // ICodec_ScanlineDecoder
46 FX_DWORD GetSrcOffset() override { return -1; } 47 FX_DWORD GetSrcOffset() override { return -1; }
47 void DownScale(int dest_width, int dest_height) override; 48 void DownScale(int dest_width, int dest_height) override;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 int m_bpc; 95 int m_bpc;
95 int m_Pitch; 96 int m_Pitch;
96 FX_BOOL m_bColorTransformed; 97 FX_BOOL m_bColorTransformed;
97 int m_NextLine; 98 int m_NextLine;
98 uint8_t* m_pLastScanline; 99 uint8_t* m_pLastScanline;
99 nonstd::unique_ptr<ImageDataCache> m_pDataCache; 100 nonstd::unique_ptr<ImageDataCache> m_pDataCache;
100 }; 101 };
101 102
102 class CCodec_FaxModule : public ICodec_FaxModule { 103 class CCodec_FaxModule : public ICodec_FaxModule {
103 public: 104 public:
104 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf, 105 // ICodec_FaxModule:
105 FX_DWORD src_size, 106 ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
106 int width, 107 FX_DWORD src_size,
107 int height, 108 int width,
108 int K, 109 int height,
109 FX_BOOL EndOfLine, 110 int K,
110 FX_BOOL EncodedByteAlign, 111 FX_BOOL EndOfLine,
111 FX_BOOL BlackIs1, 112 FX_BOOL EncodedByteAlign,
112 int Columns, 113 FX_BOOL BlackIs1,
113 int Rows); 114 int Columns,
115 int Rows) override;
114 FX_BOOL Encode(const uint8_t* src_buf, 116 FX_BOOL Encode(const uint8_t* src_buf,
115 int width, 117 int width,
116 int height, 118 int height,
117 int pitch, 119 int pitch,
118 uint8_t*& dest_buf, 120 uint8_t*& dest_buf,
119 FX_DWORD& dest_size); 121 FX_DWORD& dest_size) override;
120 }; 122 };
121 123
122 class CCodec_FlateModule : public ICodec_FlateModule { 124 class CCodec_FlateModule : public ICodec_FlateModule {
123 public: 125 public:
124 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf, 126 virtual ICodec_ScanlineDecoder* CreateDecoder(const uint8_t* src_buf,
125 FX_DWORD src_size, 127 FX_DWORD src_size,
126 int width, 128 int width,
127 int height, 129 int height,
128 int nComps, 130 int nComps,
129 int bpc, 131 int bpc,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 void Input(void* pContext, 187 void Input(void* pContext,
186 const uint8_t* src_buf, 188 const uint8_t* src_buf,
187 FX_DWORD src_size) override; 189 FX_DWORD src_size) override;
188 int ReadHeader(void* pContext, int* width, int* height, int* nComps) override; 190 int ReadHeader(void* pContext, int* width, int* height, int* nComps) override;
189 int StartScanline(void* pContext, int down_scale) override; 191 int StartScanline(void* pContext, int down_scale) override;
190 FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) override; 192 FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) override;
191 FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr) override; 193 FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr) override;
192 }; 194 };
193 class CCodec_IccModule : public ICodec_IccModule { 195 class CCodec_IccModule : public ICodec_IccModule {
194 public: 196 public:
195 virtual IccCS GetProfileCS(const uint8_t* pProfileData, 197 ~CCodec_IccModule() override;
196 unsigned int dwProfileSize); 198
197 virtual IccCS GetProfileCS(IFX_FileRead* pFile); 199 // ICodec_IccModule:
198 virtual void* CreateTransform( 200 IccCS GetProfileCS(const uint8_t* pProfileData,
199 ICodec_IccModule::IccParam* pInputParam, 201 unsigned int dwProfileSize) override;
200 ICodec_IccModule::IccParam* pOutputParam, 202 IccCS GetProfileCS(IFX_FileRead* pFile) override;
201 ICodec_IccModule::IccParam* pProofParam = NULL, 203 void* CreateTransform(ICodec_IccModule::IccParam* pInputParam,
202 FX_DWORD dwIntent = Icc_INTENT_PERCEPTUAL, 204 ICodec_IccModule::IccParam* pOutputParam,
203 FX_DWORD dwFlag = Icc_FLAGS_DEFAULT, 205 ICodec_IccModule::IccParam* pProofParam = NULL,
204 FX_DWORD dwPrfIntent = Icc_INTENT_ABSOLUTE_COLORIMETRIC, 206 FX_DWORD dwIntent = Icc_INTENT_PERCEPTUAL,
205 FX_DWORD dwPrfFlag = Icc_FLAGS_SOFTPROOFING); 207 FX_DWORD dwFlag = Icc_FLAGS_DEFAULT,
206 virtual void* CreateTransform_sRGB(const uint8_t* pProfileData, 208 FX_DWORD dwPrfIntent = Icc_INTENT_ABSOLUTE_COLORIMETRIC,
207 FX_DWORD dwProfileSize, 209 FX_DWORD dwPrfFlag = Icc_FLAGS_SOFTPROOFING) override;
208 int32_t& nComponents, 210 void* CreateTransform_sRGB(
209 int32_t intent = 0, 211 const uint8_t* pProfileData,
210 FX_DWORD dwSrcFormat = Icc_FORMAT_DEFAULT); 212 FX_DWORD dwProfileSize,
211 virtual void* CreateTransform_CMYK(const uint8_t* pSrcProfileData, 213 int32_t& nComponents,
212 FX_DWORD dwSrcProfileSize, 214 int32_t intent = 0,
213 int32_t& nSrcComponents, 215 FX_DWORD dwSrcFormat = Icc_FORMAT_DEFAULT) override;
214 const uint8_t* pDstProfileData, 216 void* CreateTransform_CMYK(
215 FX_DWORD dwDstProfileSize, 217 const uint8_t* pSrcProfileData,
216 int32_t intent = 0, 218 FX_DWORD dwSrcProfileSize,
217 FX_DWORD dwSrcFormat = Icc_FORMAT_DEFAULT, 219 int32_t& nSrcComponents,
218 FX_DWORD dwDstFormat = Icc_FORMAT_DEFAULT); 220 const uint8_t* pDstProfileData,
219 virtual void DestroyTransform(void* pTransform); 221 FX_DWORD dwDstProfileSize,
220 virtual void Translate(void* pTransform, 222 int32_t intent = 0,
221 FX_FLOAT* pSrcValues, 223 FX_DWORD dwSrcFormat = Icc_FORMAT_DEFAULT,
222 FX_FLOAT* pDestValues); 224 FX_DWORD dwDstFormat = Icc_FORMAT_DEFAULT) override;
223 virtual void TranslateScanline(void* pTransform, 225 void DestroyTransform(void* pTransform) override;
224 uint8_t* pDest, 226 void Translate(void* pTransform,
225 const uint8_t* pSrc, 227 FX_FLOAT* pSrcValues,
226 int pixels); 228 FX_FLOAT* pDestValues) override;
227 virtual void SetComponents(FX_DWORD nComponents) { 229 void TranslateScanline(void* pTransform,
230 uint8_t* pDest,
231 const uint8_t* pSrc,
232 int pixels) override;
233 void SetComponents(FX_DWORD nComponents) override {
228 m_nComponents = nComponents; 234 m_nComponents = nComponents;
229 } 235 }
230 virtual ~CCodec_IccModule();
231 236
232 protected: 237 protected:
233 enum Icc_CLASS { 238 enum Icc_CLASS {
234 Icc_CLASS_INPUT = 0, 239 Icc_CLASS_INPUT = 0,
235 Icc_CLASS_OUTPUT, 240 Icc_CLASS_OUTPUT,
236 Icc_CLASS_PROOF, 241 Icc_CLASS_PROOF,
237 Icc_CLASS_MAX 242 Icc_CLASS_MAX
238 }; 243 };
239 void* CreateProfile(ICodec_IccModule::IccParam* pIccParam, 244 void* CreateProfile(ICodec_IccModule::IccParam* pIccParam,
240 Icc_CLASS ic, 245 Icc_CLASS ic,
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 OPJ_SIZE_T opj_read_from_memory(void* p_buffer, 321 OPJ_SIZE_T opj_read_from_memory(void* p_buffer,
317 OPJ_SIZE_T nb_bytes, 322 OPJ_SIZE_T nb_bytes,
318 void* p_user_data); 323 void* p_user_data);
319 OPJ_SIZE_T opj_write_from_memory(void* p_buffer, 324 OPJ_SIZE_T opj_write_from_memory(void* p_buffer,
320 OPJ_SIZE_T nb_bytes, 325 OPJ_SIZE_T nb_bytes,
321 void* p_user_data); 326 void* p_user_data);
322 OPJ_OFF_T opj_skip_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data); 327 OPJ_OFF_T opj_skip_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data);
323 OPJ_BOOL opj_seek_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data); 328 OPJ_BOOL opj_seek_from_memory(OPJ_OFF_T nb_bytes, void* p_user_data);
324 329
325 #endif // CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_ 330 #endif // CORE_SRC_FXCODEC_CODEC_CODEC_INT_H_
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_font/ttgsubtable.h ('k') | core/src/fxcodec/codec/fx_codec_jbig.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698