| Index: core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
|
| index 7d8bd4842aeaadf3a3f9d78f30c59af219ea510f..879c2f3c0e0c02fc2331750fe83bb4415fd521b8 100644
|
| --- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
|
| +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
|
| @@ -29,33 +29,9 @@ CPDF_StreamContentParser::CPDF_StreamContentParser()
|
| m_pLastImage = NULL;
|
| m_bReleaseLastDict = TRUE;
|
| m_pParentResources = NULL;
|
| -#ifdef _FPDFAPI_MINI_
|
| - m_pObjectState = NULL;
|
| - m_pObjectStack = NULL;
|
| - m_pWordBuf = NULL;
|
| - m_pDictName = NULL;
|
| - m_pStreamBuf = NULL;
|
| - m_WordState = 0;
|
| - m_ObjectSize = 0;
|
| -#endif
|
| }
|
| FX_BOOL CPDF_StreamContentParser::Initialize()
|
| {
|
| -#ifdef _FPDFAPI_MINI_
|
| - m_pObjectState = FX_Alloc(FX_BOOL, _FPDF_MAX_OBJECT_STACK_SIZE_);
|
| - FXSYS_memset32(m_pObjectState, 0, _FPDF_MAX_OBJECT_STACK_SIZE_ * sizeof(FX_BOOL));
|
| - m_pObjectStack = FX_Alloc(CPDF_Object*, _FPDF_MAX_OBJECT_STACK_SIZE_);
|
| - FXSYS_memset32(m_pObjectStack, 0, _FPDF_MAX_OBJECT_STACK_SIZE_ * sizeof(CPDF_Object*));
|
| - m_pWordBuf = FX_Alloc(FX_BYTE, 256);
|
| - FXSYS_memset32(m_pWordBuf, 0, 256 * sizeof(FX_BYTE));
|
| - m_pDictName = FX_Alloc(FX_BYTE, 256);
|
| - FXSYS_memset32(m_pDictName, 0, 256 * sizeof(FX_BYTE));
|
| - m_pStreamBuf = FX_Alloc(FX_BYTE, STREAM_PARSE_BUFSIZE);
|
| - FXSYS_memset32(m_pStreamBuf, 0, STREAM_PARSE_BUFSIZE * sizeof(FX_BYTE));
|
| - m_StringBuf.EstimateSize(1024);
|
| - m_ObjectSize = 0;
|
| - m_ImageSrcBuf.EstimateSize(STREAM_PARSE_BUFSIZE);
|
| -#endif
|
| return TRUE;
|
| }
|
| CPDF_StreamContentParser::~CPDF_StreamContentParser()
|
| @@ -77,18 +53,6 @@ CPDF_StreamContentParser::~CPDF_StreamContentParser()
|
| if (m_pLastCloneImageDict) {
|
| m_pLastCloneImageDict->Release();
|
| }
|
| -#ifdef _FPDFAPI_MINI_
|
| - for (i = 0; i < (int)m_ObjectSize; ++i) {
|
| - if (!m_pObjectState[i]) {
|
| - m_pObjectStack[i]->Release();
|
| - }
|
| - }
|
| - FX_Free(m_pObjectStack);
|
| - FX_Free(m_pObjectState);
|
| - FX_Free(m_pStreamBuf);
|
| - FX_Free(m_pWordBuf);
|
| - FX_Free(m_pDictName);
|
| -#endif
|
| }
|
| void CPDF_StreamContentParser::PrepareParse(CPDF_Document* pDocument,
|
| CPDF_Dictionary* pPageResources, CPDF_Dictionary* pParentResources, CFX_AffineMatrix* pmtContentToUser, CPDF_PageObjects* pObjList,
|
| @@ -128,9 +92,6 @@ void CPDF_StreamContentParser::PrepareParse(CPDF_Document* pDocument,
|
| m_pCurStates->m_TextState.New();
|
| m_pCurStates->m_ColorState.New();
|
| }
|
| -#ifdef _FPDFAPI_MINI_
|
| - FXSYS_memset32(m_pObjectState, 0, _FPDF_MAX_OBJECT_STACK_SIZE_ * sizeof(FX_BOOL));
|
| -#endif
|
| }
|
| int CPDF_StreamContentParser::GetNextParamPos()
|
| {
|
| @@ -676,11 +637,7 @@ void CPDF_StreamContentParser::Handle_ExecuteXObject()
|
| {
|
| CFX_ByteString name = GetString(0);
|
| if (name == m_LastImageName && m_pLastImage && m_pLastImage->GetStream() && m_pLastImage->GetStream()->GetObjNum()) {
|
| -#if defined(_FPDFAPI_MINI_) && !defined(_FXCORE_FEATURE_ALL_)
|
| - AddDuplicateImage();
|
| -#else
|
| AddImage(NULL, m_pLastImage, FALSE);
|
| -#endif
|
| return;
|
| }
|
| if (m_Options.m_bTextOnly) {
|
| @@ -744,7 +701,6 @@ void CPDF_StreamContentParser::Handle_ExecuteXObject()
|
| }
|
| void CPDF_StreamContentParser::AddForm(CPDF_Stream* pStream)
|
| {
|
| -#if !defined(_FPDFAPI_MINI_) || defined(_FXCORE_FEATURE_ALL_)
|
| if (!m_Options.m_bSeparateForm) {
|
| CPDF_Dictionary* pResources = pStream->GetDict()->GetDict(FX_BSTRC("Resources"));
|
| CFX_AffineMatrix form_matrix = pStream->GetDict()->GetMatrix(FX_BSTRC("Matrix"));
|
| @@ -772,15 +728,9 @@ void CPDF_StreamContentParser::AddForm(CPDF_Stream* pStream)
|
| if (stream.GetSize() == 0) {
|
| return;
|
| }
|
| -#ifdef _FPDFAPI_MINI_
|
| - parser.InputData(stream.GetData(), stream.GetSize());
|
| - parser.Finish();
|
| -#else
|
| parser.Parse(stream.GetData(), stream.GetSize(), 0);
|
| -#endif
|
| return;
|
| }
|
| -#endif
|
| CPDF_FormObject* pFormObj = FX_NEW CPDF_FormObject;
|
| pFormObj->m_pForm = FX_NEW CPDF_Form(m_pDocument, m_pPageResources, pStream, m_pResources);
|
| pFormObj->m_FormMatrix = m_pCurStates->m_CTM;
|
| @@ -798,44 +748,6 @@ void CPDF_StreamContentParser::AddForm(CPDF_Stream* pStream)
|
| SetGraphicStates(pFormObj, TRUE, TRUE, TRUE);
|
| m_pObjectList->m_ObjectList.AddTail(pFormObj);
|
| }
|
| -#if defined(_FPDFAPI_MINI_) && !defined(_FXCORE_FEATURE_ALL_)
|
| -void CPDF_StreamContentParser::AddDuplicateImage()
|
| -{
|
| - FX_POSITION tailpos = m_pObjectList->m_ObjectList.GetTailPosition();
|
| - CPDF_PageObject* pLastObj = (CPDF_PageObject*)m_pObjectList->m_ObjectList.GetAt(tailpos);
|
| - if (pLastObj == NULL || (pLastObj->m_Type != PDFPAGE_INLINES && pLastObj->m_Type != PDFPAGE_IMAGE)) {
|
| - AddImage(NULL, m_pLastImage, FALSE);
|
| - return;
|
| - }
|
| - if (pLastObj->m_GeneralState != m_pCurStates->m_GeneralState ||
|
| - pLastObj->m_ClipPath != m_pCurStates->m_ClipPath ||
|
| - pLastObj->m_ColorState != m_pCurStates->m_ColorState) {
|
| - AddImage(NULL, m_pLastImage, FALSE);
|
| - return;
|
| - }
|
| - CFX_AffineMatrix ImageMatrix;
|
| - ImageMatrix.Copy(m_pCurStates->m_CTM);
|
| - ImageMatrix.Concat(m_mtContentToUser);
|
| - if (pLastObj->m_Type == PDFPAGE_INLINES) {
|
| - CPDF_InlineImages* pInlines = (CPDF_InlineImages*)pLastObj;
|
| - if (pInlines->m_pStream != m_pLastImage->GetStream()) {
|
| - AddImage(NULL, m_pLastImage, FALSE);
|
| - return;
|
| - }
|
| - pInlines->AddMatrix(ImageMatrix);
|
| - } else {
|
| - CPDF_ImageObject* pImageObj = (CPDF_ImageObject*)pLastObj;
|
| - CPDF_InlineImages* pInlines = FX_NEW CPDF_InlineImages;
|
| - pInlines->m_pStream = m_pLastImage->GetStream();
|
| - SetGraphicStates(pInlines, !pInlines->m_pStream->GetDict()->KeyExist(FX_BSTRC("ColorSpace")), FALSE, FALSE);
|
| - pInlines->AddMatrix(pImageObj->m_Matrix);
|
| - pInlines->AddMatrix(ImageMatrix);
|
| - m_pObjectList->m_ObjectList.RemoveAt(tailpos);
|
| - m_pObjectList->m_ObjectList.AddTail(pInlines);
|
| - pLastObj->Release();
|
| - }
|
| -}
|
| -#endif
|
| CPDF_ImageObject* CPDF_StreamContentParser::AddImage(CPDF_Stream* pStream, CPDF_Image* pImage, FX_BOOL bInline)
|
| {
|
| if (pStream == NULL && pImage == NULL) {
|
| @@ -963,9 +875,7 @@ void CPDF_StreamContentParser::Handle_ClosePath()
|
| }
|
| void CPDF_StreamContentParser::Handle_SetFlat()
|
| {
|
| -#if !defined(_FPDFAPI_MINI_) || defined(_FXCORE_FEATURE_ALL_)
|
| m_pCurStates->m_GeneralState.GetModify()->m_Flatness = GetNumber(0);
|
| -#endif
|
| }
|
| void CPDF_StreamContentParser::Handle_BeginImageData()
|
| {
|
| @@ -1010,15 +920,11 @@ void CPDF_StreamContentParser::Handle_MoveTo()
|
| {
|
| REQUIRE_PARAMS(2);
|
| if (m_Options.m_bTextOnly) {
|
| -#ifndef _FPDFAPI_MINI_
|
| m_pSyntax->SkipPathObject();
|
| -#endif
|
| return;
|
| }
|
| AddPathPoint(GetNumber(1), GetNumber(0), FXPT_MOVETO);
|
| -#ifndef _FPDFAPI_MINI_
|
| ParsePathObject();
|
| -#endif
|
| }
|
| void CPDF_StreamContentParser::Handle_SetMiterLimit()
|
| {
|
|
|