| Index: core/src/fpdfapi/fpdf_parser/filters_int.h
|
| diff --git a/core/src/fpdfapi/fpdf_parser/filters_int.h b/core/src/fpdfapi/fpdf_parser/filters_int.h
|
| index d1dedc482cb25755791385a5a5d8467268838dd8..66d3af6c52281f36ebfa83a12665d330cccff44d 100644
|
| --- a/core/src/fpdfapi/fpdf_parser/filters_int.h
|
| +++ b/core/src/fpdfapi/fpdf_parser/filters_int.h
|
| @@ -1,119 +1,138 @@
|
| // Copyright 2014 PDFium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
| -
|
| +
|
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
| -class CPDF_DecryptFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_DecryptFilter(CPDF_CryptoHandler* pCryptoHandler, FX_DWORD objnum, FX_DWORD gennum);
|
| - virtual ~CPDF_DecryptFilter();
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf);
|
| - CPDF_CryptoHandler* m_pCryptoHandler;
|
| - FX_LPVOID m_pContext;
|
| - FX_DWORD m_ObjNum, m_GenNum;
|
| +class CPDF_DecryptFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_DecryptFilter(CPDF_CryptoHandler* pCryptoHandler,
|
| + FX_DWORD objnum,
|
| + FX_DWORD gennum);
|
| + virtual ~CPDF_DecryptFilter();
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf);
|
| + CPDF_CryptoHandler* m_pCryptoHandler;
|
| + FX_LPVOID m_pContext;
|
| + FX_DWORD m_ObjNum, m_GenNum;
|
| };
|
| -class CPDF_FlateFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_FlateFilter();
|
| - virtual ~CPDF_FlateFilter();
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - void* m_pContext;
|
| - FX_BYTE m_DestBuffer[FPDF_FILTER_BUFFER_SIZE];
|
| +class CPDF_FlateFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_FlateFilter();
|
| + virtual ~CPDF_FlateFilter();
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + void* m_pContext;
|
| + FX_BYTE m_DestBuffer[FPDF_FILTER_BUFFER_SIZE];
|
| };
|
| -class CPDF_LzwFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_LzwFilter(FX_BOOL bEarlyChange);
|
| - virtual ~CPDF_LzwFilter() {}
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - FX_BOOL m_bEarlyChange;
|
| - FX_DWORD m_CodeArray[5021];
|
| - FX_DWORD m_nCodes;
|
| - FX_DWORD m_CodeLen;
|
| - FX_DWORD m_OldCode;
|
| - FX_BYTE m_LastChar;
|
| - FX_DWORD m_nLeftBits, m_LeftBits;
|
| - FX_BYTE m_DecodeStack[4000];
|
| - FX_DWORD m_StackLen;
|
| - void AddCode(FX_DWORD prefix_code, FX_BYTE append_char);
|
| - void DecodeString(FX_DWORD code);
|
| +class CPDF_LzwFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_LzwFilter(FX_BOOL bEarlyChange);
|
| + virtual ~CPDF_LzwFilter() {}
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + FX_BOOL m_bEarlyChange;
|
| + FX_DWORD m_CodeArray[5021];
|
| + FX_DWORD m_nCodes;
|
| + FX_DWORD m_CodeLen;
|
| + FX_DWORD m_OldCode;
|
| + FX_BYTE m_LastChar;
|
| + FX_DWORD m_nLeftBits, m_LeftBits;
|
| + FX_BYTE m_DecodeStack[4000];
|
| + FX_DWORD m_StackLen;
|
| + void AddCode(FX_DWORD prefix_code, FX_BYTE append_char);
|
| + void DecodeString(FX_DWORD code);
|
| };
|
| -class CPDF_PredictorFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_PredictorFilter(int predictor, int colors, int bpc, int cols);
|
| - virtual ~CPDF_PredictorFilter();
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - FX_BOOL m_bTiff;
|
| - FX_DWORD m_Pitch, m_Bpp;
|
| - FX_LPBYTE m_pRefLine, m_pCurLine;
|
| - FX_DWORD m_iLine, m_LineInSize;
|
| +class CPDF_PredictorFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_PredictorFilter(int predictor, int colors, int bpc, int cols);
|
| + virtual ~CPDF_PredictorFilter();
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + FX_BOOL m_bTiff;
|
| + FX_DWORD m_Pitch, m_Bpp;
|
| + FX_LPBYTE m_pRefLine, m_pCurLine;
|
| + FX_DWORD m_iLine, m_LineInSize;
|
| };
|
| -class CPDF_AsciiHexFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_AsciiHexFilter();
|
| - virtual ~CPDF_AsciiHexFilter() {}
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - int m_State;
|
| - int m_FirstDigit;
|
| +class CPDF_AsciiHexFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_AsciiHexFilter();
|
| + virtual ~CPDF_AsciiHexFilter() {}
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + int m_State;
|
| + int m_FirstDigit;
|
| };
|
| -class CPDF_Ascii85Filter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_Ascii85Filter();
|
| - virtual ~CPDF_Ascii85Filter() {}
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - int m_State;
|
| - int m_CharCount;
|
| - FX_DWORD m_CurDWord;
|
| +class CPDF_Ascii85Filter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_Ascii85Filter();
|
| + virtual ~CPDF_Ascii85Filter() {}
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + int m_State;
|
| + int m_CharCount;
|
| + FX_DWORD m_CurDWord;
|
| };
|
| -class CPDF_RunLenFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_RunLenFilter();
|
| - virtual ~CPDF_RunLenFilter() {}
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - int m_State;
|
| - FX_DWORD m_Count;
|
| +class CPDF_RunLenFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_RunLenFilter();
|
| + virtual ~CPDF_RunLenFilter() {}
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + int m_State;
|
| + FX_DWORD m_Count;
|
| };
|
| -class CPDF_JpegFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_JpegFilter();
|
| - virtual ~CPDF_JpegFilter();
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| - void* m_pContext;
|
| - CFX_BinaryBuf m_InputBuf;
|
| - FX_LPBYTE m_pScanline;
|
| - int m_Pitch, m_Height, m_Width, m_nComps, m_iLine;
|
| - FX_BOOL m_bGotHeader;
|
| +class CPDF_JpegFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_JpegFilter();
|
| + virtual ~CPDF_JpegFilter();
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf) {}
|
| + void* m_pContext;
|
| + CFX_BinaryBuf m_InputBuf;
|
| + FX_LPBYTE m_pScanline;
|
| + int m_Pitch, m_Height, m_Width, m_nComps, m_iLine;
|
| + FX_BOOL m_bGotHeader;
|
| };
|
| -class CPDF_FaxFilter : public CFX_DataFilter
|
| -{
|
| -public:
|
| - CPDF_FaxFilter();
|
| - virtual ~CPDF_FaxFilter();
|
| - FX_BOOL Initialize(int Encoding, int bEndOfLine, int bByteAlign, int bBlack, int nRows, int nColumns);
|
| - virtual void v_FilterIn(FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
|
| - virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf);
|
| - int m_Encoding, m_bEndOfLine, m_bByteAlign, m_bBlack;
|
| - int m_nRows, m_nColumns, m_Pitch, m_iRow;
|
| - FX_LPBYTE m_pScanlineBuf, m_pRefBuf;
|
| - CFX_BinaryBuf m_InputBuf;
|
| - int m_InputBitPos;
|
| - void ProcessData(FX_LPCBYTE src_buf, FX_DWORD src_size, int& bitpos, FX_BOOL bFinish,
|
| - CFX_BinaryBuf& dest_buf);
|
| - FX_BOOL ReadLine(FX_LPCBYTE src_buf, int bitsize, int& bitpos);
|
| +class CPDF_FaxFilter : public CFX_DataFilter {
|
| + public:
|
| + CPDF_FaxFilter();
|
| + virtual ~CPDF_FaxFilter();
|
| + FX_BOOL Initialize(int Encoding,
|
| + int bEndOfLine,
|
| + int bByteAlign,
|
| + int bBlack,
|
| + int nRows,
|
| + int nColumns);
|
| + virtual void v_FilterIn(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + CFX_BinaryBuf& dest_buf);
|
| + virtual void v_FilterFinish(CFX_BinaryBuf& dest_buf);
|
| + int m_Encoding, m_bEndOfLine, m_bByteAlign, m_bBlack;
|
| + int m_nRows, m_nColumns, m_Pitch, m_iRow;
|
| + FX_LPBYTE m_pScanlineBuf, m_pRefBuf;
|
| + CFX_BinaryBuf m_InputBuf;
|
| + int m_InputBitPos;
|
| + void ProcessData(FX_LPCBYTE src_buf,
|
| + FX_DWORD src_size,
|
| + int& bitpos,
|
| + FX_BOOL bFinish,
|
| + CFX_BinaryBuf& dest_buf);
|
| + FX_BOOL ReadLine(FX_LPCBYTE src_buf, int bitsize, int& bitpos);
|
| };
|
|
|