| OLD | NEW |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_ | 7 #ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_ |
| 8 #define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_ | 8 #define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_ |
| 9 | 9 |
| 10 #include "core/fxcrt/include/fx_basic.h" | 10 #include "core/fxcrt/include/fx_basic.h" |
| 11 | 11 |
| 12 class CPDF_Dictionary; | 12 class CPDF_Dictionary; |
| 13 | 13 |
| 14 // Indexed by 8-bit char code, contains unicode code points. | 14 // Indexed by 8-bit char code, contains unicode code points. |
| 15 extern const uint16_t PDFDocEncoding[256]; | 15 extern const uint16_t PDFDocEncoding[256]; |
| 16 | 16 |
| 17 CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& orig); | 17 CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& orig); |
| 18 CFX_ByteString PDF_NameDecode(const CFX_ByteString& orig); | 18 CFX_ByteString PDF_NameDecode(const CFX_ByteString& orig); |
| 19 CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig); | 19 CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig); |
| 20 CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, | 20 CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, |
| 21 FX_BOOL bHex = FALSE); | 21 FX_BOOL bHex = FALSE); |
| 22 CFX_WideString PDF_DecodeText(const uint8_t* pData, FX_DWORD size); | 22 CFX_WideString PDF_DecodeText(const uint8_t* pData, uint32_t size); |
| 23 CFX_WideString PDF_DecodeText(const CFX_ByteString& bstr); | 23 CFX_WideString PDF_DecodeText(const CFX_ByteString& bstr); |
| 24 CFX_ByteString PDF_EncodeText(const FX_WCHAR* pString, int len = -1); | 24 CFX_ByteString PDF_EncodeText(const FX_WCHAR* pString, int len = -1); |
| 25 CFX_ByteString PDF_EncodeText(const CFX_WideString& str); | 25 CFX_ByteString PDF_EncodeText(const CFX_WideString& str); |
| 26 | 26 |
| 27 void FlateEncode(const uint8_t* src_buf, | 27 void FlateEncode(const uint8_t* src_buf, |
| 28 FX_DWORD src_size, | 28 uint32_t src_size, |
| 29 uint8_t*& dest_buf, | 29 uint8_t*& dest_buf, |
| 30 FX_DWORD& dest_size); | 30 uint32_t& dest_size); |
| 31 void FlateEncode(const uint8_t* src_buf, | 31 void FlateEncode(const uint8_t* src_buf, |
| 32 FX_DWORD src_size, | 32 uint32_t src_size, |
| 33 int predictor, | 33 int predictor, |
| 34 int Colors, | 34 int Colors, |
| 35 int BitsPerComponent, | 35 int BitsPerComponent, |
| 36 int Columns, | 36 int Columns, |
| 37 uint8_t*& dest_buf, | 37 uint8_t*& dest_buf, |
| 38 FX_DWORD& dest_size); | 38 uint32_t& dest_size); |
| 39 FX_DWORD FlateDecode(const uint8_t* src_buf, | 39 uint32_t FlateDecode(const uint8_t* src_buf, |
| 40 FX_DWORD src_size, | 40 uint32_t src_size, |
| 41 uint8_t*& dest_buf, | 41 uint8_t*& dest_buf, |
| 42 FX_DWORD& dest_size); | 42 uint32_t& dest_size); |
| 43 FX_DWORD RunLengthDecode(const uint8_t* src_buf, | 43 uint32_t RunLengthDecode(const uint8_t* src_buf, |
| 44 FX_DWORD src_size, | 44 uint32_t src_size, |
| 45 uint8_t*& dest_buf, | 45 uint8_t*& dest_buf, |
| 46 FX_DWORD& dest_size); | 46 uint32_t& dest_size); |
| 47 | 47 |
| 48 // Public for testing. | 48 // Public for testing. |
| 49 FX_DWORD A85Decode(const uint8_t* src_buf, | 49 uint32_t A85Decode(const uint8_t* src_buf, |
| 50 FX_DWORD src_size, | 50 uint32_t src_size, |
| 51 uint8_t*& dest_buf, | 51 uint8_t*& dest_buf, |
| 52 FX_DWORD& dest_size); | 52 uint32_t& dest_size); |
| 53 // Public for testing. | 53 // Public for testing. |
| 54 FX_DWORD HexDecode(const uint8_t* src_buf, | 54 uint32_t HexDecode(const uint8_t* src_buf, |
| 55 FX_DWORD src_size, | 55 uint32_t src_size, |
| 56 uint8_t*& dest_buf, | 56 uint8_t*& dest_buf, |
| 57 FX_DWORD& dest_size); | 57 uint32_t& dest_size); |
| 58 // Public for testing. | 58 // Public for testing. |
| 59 FX_DWORD FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, | 59 uint32_t FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, |
| 60 const uint8_t* src_buf, | 60 const uint8_t* src_buf, |
| 61 FX_DWORD src_size, | 61 uint32_t src_size, |
| 62 CPDF_Dictionary* pParams, | 62 CPDF_Dictionary* pParams, |
| 63 FX_DWORD estimated_size, | 63 uint32_t estimated_size, |
| 64 uint8_t*& dest_buf, | 64 uint8_t*& dest_buf, |
| 65 FX_DWORD& dest_size); | 65 uint32_t& dest_size); |
| 66 FX_BOOL PDF_DataDecode(const uint8_t* src_buf, | 66 FX_BOOL PDF_DataDecode(const uint8_t* src_buf, |
| 67 FX_DWORD src_size, | 67 uint32_t src_size, |
| 68 const CPDF_Dictionary* pDict, | 68 const CPDF_Dictionary* pDict, |
| 69 uint8_t*& dest_buf, | 69 uint8_t*& dest_buf, |
| 70 FX_DWORD& dest_size, | 70 uint32_t& dest_size, |
| 71 CFX_ByteString& ImageEncoding, | 71 CFX_ByteString& ImageEncoding, |
| 72 CPDF_Dictionary*& pImageParms, | 72 CPDF_Dictionary*& pImageParms, |
| 73 FX_DWORD estimated_size, | 73 uint32_t estimated_size, |
| 74 FX_BOOL bImageAcc); | 74 FX_BOOL bImageAcc); |
| 75 | 75 |
| 76 #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_ | 76 #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_FPDF_PARSER_DECODE_H_ |
| OLD | NEW |