From be9095d0b2819cdc88785b0b4fdfccf837eb96a9 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 22 Dec 2015 14:37:03 -0800 Subject: Revert "Cleanup: Remove unused CFX_PSRenderer and various encoders it used." This reverts commit 2d63eaaa39bb3d402c658b2a6e0eae50a30f1d89. Broke the Windows build, though it is likely the code is unused on Windows too. Review URL: https://codereview.chromium.org/1540993004 . --- core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp | 95 ++++++++++--------------- core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp | 7 +- 2 files changed, 42 insertions(+), 60 deletions(-) (limited to 'core/src/fpdfapi/fpdf_edit') diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp index 1151c6390e..49ec0bae92 100644 --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp @@ -307,11 +307,11 @@ class CPDF_FlateEncoder { public: CPDF_FlateEncoder(); ~CPDF_FlateEncoder(); - bool Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode); - bool Initialize(const uint8_t* pBuffer, - FX_DWORD size, - bool bFlateEncode, - bool bXRefStream); + FX_BOOL Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode); + FX_BOOL Initialize(const uint8_t* pBuffer, + FX_DWORD size, + FX_BOOL bFlateEncode, + FX_BOOL bXRefStream = FALSE); void CloneDict(); uint8_t* m_pData; FX_DWORD m_dwSize; @@ -334,7 +334,8 @@ void CPDF_FlateEncoder::CloneDict() { m_bCloned = TRUE; } } -bool CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode) { +FX_BOOL CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, + FX_BOOL bFlateEncode) { m_Acc.LoadAllData(pStream, TRUE); if ((pStream && pStream->GetDict() && pStream->GetDict()->KeyExist("Filter")) || @@ -353,41 +354,36 @@ bool CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode) { m_dwSize = m_Acc.GetSize(); m_pDict = pStream->GetDict(); } - return true; + return TRUE; } - m_pData = nullptr; + m_pData = NULL; m_dwSize = 0; m_bNewData = TRUE; m_bCloned = TRUE; - if (!::FlateEncode(m_Acc.GetData(), m_Acc.GetSize(), &m_pData, &m_dwSize)) - return false; - + ::FlateEncode(m_Acc.GetData(), m_Acc.GetSize(), m_pData, m_dwSize); m_pDict = ToDictionary(pStream->GetDict()->Clone()); m_pDict->SetAtInteger("Length", m_dwSize); m_pDict->SetAtName("Filter", "FlateDecode"); m_pDict->RemoveAt("DecodeParms"); - return true; + return TRUE; } - -bool CPDF_FlateEncoder::Initialize(const uint8_t* pBuffer, - FX_DWORD size, - bool bFlateEncode, - bool bXRefStream) { +FX_BOOL CPDF_FlateEncoder::Initialize(const uint8_t* pBuffer, + FX_DWORD size, + FX_BOOL bFlateEncode, + FX_BOOL bXRefStream) { if (!bFlateEncode) { m_pData = (uint8_t*)pBuffer; m_dwSize = size; - return true; + return TRUE; } m_bNewData = TRUE; - bool ret; if (bXRefStream) { - ret = ::PngEncode(pBuffer, size, &m_pData, &m_dwSize); + ::FlateEncode(pBuffer, size, 12, 1, 8, 7, m_pData, m_dwSize); } else { - ret = ::FlateEncode(pBuffer, size, &m_pData, &m_dwSize); + ::FlateEncode(pBuffer, size, m_pData, m_dwSize); } - return ret; + return TRUE; } - CPDF_FlateEncoder::~CPDF_FlateEncoder() { if (m_bCloned && m_pDict) { m_pDict->Release(); @@ -522,15 +518,11 @@ FX_FILESIZE CPDF_ObjectStream::End(CPDF_Creator* pCreator) { } else { tempBuffer << m_Buffer; CPDF_FlateEncoder encoder; - if (!encoder.Initialize(tempBuffer.GetBuffer(), tempBuffer.GetLength(), - pCreator->m_bCompress, false)) { - return -1; - } + encoder.Initialize(tempBuffer.GetBuffer(), tempBuffer.GetLength(), + pCreator->m_bCompress); CPDF_Encryptor encryptor; - if (!encryptor.Initialize(pHandler, m_dwObjNum, encoder.m_pData, - encoder.m_dwSize)) { - return -1; - } + encryptor.Initialize(pHandler, m_dwObjNum, encoder.m_pData, + encoder.m_dwSize); if ((len = pFile->AppendDWord(encryptor.m_dwSize)) < 0) { return -1; } @@ -776,21 +768,22 @@ FX_BOOL CPDF_XRefStream::GenerateXRefStream(CPDF_Creator* pCreator, } offset += len + 6; } + FX_BOOL bPredictor = TRUE; CPDF_FlateEncoder encoder; - if (!encoder.Initialize(m_Buffer.GetBuffer(), m_Buffer.GetLength(), - pCreator->m_bCompress, true)) { - return FALSE; - } + encoder.Initialize(m_Buffer.GetBuffer(), m_Buffer.GetLength(), + pCreator->m_bCompress, bPredictor); if (pCreator->m_bCompress) { if (pFile->AppendString("/Filter /FlateDecode") < 0) { return FALSE; } offset += 20; - if ((len = pFile->AppendString("/DecodeParms<>")) < - 0) { - return FALSE; + if (bPredictor) { + if ((len = pFile->AppendString( + "/DecodeParms<>")) < 0) { + return FALSE; + } + offset += len; } - offset += len; } if (pFile->AppendString("/Length ") < 0) { return FALSE; @@ -1009,10 +1002,8 @@ int32_t CPDF_Creator::WriteStream(const CPDF_Object* pStream, FX_DWORD objnum, CPDF_CryptoHandler* pCrypto) { CPDF_FlateEncoder encoder; - if (!encoder.Initialize(const_cast(pStream->AsStream()), - pStream == m_pMetadata ? FALSE : m_bCompress)) { - return -1; - } + encoder.Initialize(const_cast(pStream->AsStream()), + pStream == m_pMetadata ? FALSE : m_bCompress); CPDF_Encryptor encryptor; if (!encryptor.Initialize(pCrypto, objnum, encoder.m_pData, encoder.m_dwSize)) { @@ -1116,10 +1107,8 @@ int32_t CPDF_Creator::WriteDirectObj(FX_DWORD objnum, break; } CPDF_Encryptor encryptor; - if (!encryptor.Initialize(m_pCryptoHandler, objnum, (uint8_t*)str.c_str(), - str.GetLength())) { - return -1; - } + encryptor.Initialize(m_pCryptoHandler, objnum, (uint8_t*)str.c_str(), + str.GetLength()); CFX_ByteString content = PDF_EncodeString( CFX_ByteString((const FX_CHAR*)encryptor.m_pData, encryptor.m_dwSize), bHex); @@ -1131,17 +1120,11 @@ int32_t CPDF_Creator::WriteDirectObj(FX_DWORD objnum, } case PDFOBJ_STREAM: { CPDF_FlateEncoder encoder; - if (!encoder.Initialize(const_cast(pObj->AsStream()), - m_bCompress)) { - return -1; - } - + encoder.Initialize(const_cast(pObj->AsStream()), + m_bCompress); CPDF_Encryptor encryptor; CPDF_CryptoHandler* pHandler = m_pCryptoHandler; - if (!encryptor.Initialize(pHandler, objnum, encoder.m_pData, - encoder.m_dwSize)) { - return -1; - } + encryptor.Initialize(pHandler, objnum, encoder.m_pData, encoder.m_dwSize); if ((FX_DWORD)encoder.m_pDict->GetInteger("Length") != encryptor.m_dwSize) { encoder.CloneDict(); diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp index 386c49d005..2b68a0403f 100644 --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp @@ -16,12 +16,11 @@ CPDF_Dictionary* CPDF_Image::InitJPEG(uint8_t* pData, FX_DWORD size) { int32_t height; int32_t num_comps; int32_t bits; - bool color_trans; + FX_BOOL color_trans; if (!CPDF_ModuleMgr::Get()->GetJpegModule()->LoadInfo( - pData, size, &width, &height, &num_comps, &bits, &color_trans)) { - return nullptr; + pData, size, width, height, num_comps, bits, color_trans)) { + return NULL; } - CPDF_Dictionary* pDict = new CPDF_Dictionary; pDict->SetAtName("Type", "XObject"); pDict->SetAtName("Subtype", "Image"); -- cgit v1.2.3