| Index: fpdfsdk/src/formfiller/FFL_Utils.cpp
|
| diff --git a/fpdfsdk/src/formfiller/FFL_Utils.cpp b/fpdfsdk/src/formfiller/FFL_Utils.cpp
|
| index 3ea78918becbdaa849935565d8c40da07a5915e2..6ce14cae82d2bbb09d71485bc8bbf0642ec36fff 100644
|
| --- a/fpdfsdk/src/formfiller/FFL_Utils.cpp
|
| +++ b/fpdfsdk/src/formfiller/FFL_Utils.cpp
|
| @@ -1,133 +1,126 @@
|
| // 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
|
|
|
| #include "../../include/formfiller/FormFiller.h"
|
| #include "../../include/formfiller/FFL_Utils.h"
|
|
|
| -CPDF_Rect CFFL_Utils::MaxRect(const CPDF_Rect & rect1,const CPDF_Rect & rect2)
|
| -{
|
| - CPDF_Rect rcRet;
|
| +CPDF_Rect CFFL_Utils::MaxRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2) {
|
| + CPDF_Rect rcRet;
|
|
|
| - rcRet.left = FFL_MIN(rect1.left,rect2.left);
|
| - rcRet.bottom = FFL_MIN(rect1.bottom,rect2.bottom);
|
| - rcRet.right = FFL_MAX(rect1.right,rect2.right);
|
| - rcRet.top = FFL_MAX(rect1.top,rect2.top);
|
| + rcRet.left = FFL_MIN(rect1.left, rect2.left);
|
| + rcRet.bottom = FFL_MIN(rect1.bottom, rect2.bottom);
|
| + rcRet.right = FFL_MAX(rect1.right, rect2.right);
|
| + rcRet.top = FFL_MAX(rect1.top, rect2.top);
|
|
|
| - return rcRet;
|
| + return rcRet;
|
| }
|
|
|
| -CPDF_Rect CFFL_Utils::InflateRect(const CPDF_Rect & crRect,const FX_FLOAT & fSize)
|
| -{
|
| - CPDF_Rect crNew(crRect.left - fSize,
|
| - crRect.bottom - fSize,
|
| - crRect.right + fSize,
|
| - crRect.top + fSize);
|
| - crNew.Normalize();
|
| - return crNew;
|
| +CPDF_Rect CFFL_Utils::InflateRect(const CPDF_Rect& crRect,
|
| + const FX_FLOAT& fSize) {
|
| + CPDF_Rect crNew(crRect.left - fSize,
|
| + crRect.bottom - fSize,
|
| + crRect.right + fSize,
|
| + crRect.top + fSize);
|
| + crNew.Normalize();
|
| + return crNew;
|
| }
|
|
|
| -CPDF_Rect CFFL_Utils::DeflateRect(const CPDF_Rect & crRect,const FX_FLOAT & fSize)
|
| -{
|
| - CPDF_Rect crNew(crRect.left + fSize,
|
| - crRect.bottom + fSize,
|
| - crRect.right - fSize,
|
| - crRect.top - fSize);
|
| - crNew.Normalize();
|
| - return crNew;
|
| +CPDF_Rect CFFL_Utils::DeflateRect(const CPDF_Rect& crRect,
|
| + const FX_FLOAT& fSize) {
|
| + CPDF_Rect crNew(crRect.left + fSize,
|
| + crRect.bottom + fSize,
|
| + crRect.right - fSize,
|
| + crRect.top - fSize);
|
| + crNew.Normalize();
|
| + return crNew;
|
| }
|
|
|
| /*
|
| -FX_BOOL CFFL_Utils::RectContainsRect(const CPDF_Rect & father,const CPDF_Rect & son)
|
| +FX_BOOL CFFL_Utils::RectContainsRect(const CPDF_Rect & father,const CPDF_Rect &
|
| +son)
|
| {
|
| - return (father.left <= son.left && father.right >= son.right &&
|
| - father.bottom <= son.bottom && father.top >= son.top);
|
| + return (father.left <= son.left && father.right >= son.right &&
|
| + father.bottom <= son.bottom && father.top >=
|
| +son.top);
|
|
|
| }
|
|
|
| -FX_BOOL CFFL_Utils::RectContainsPoint(const CPDF_Rect & father,const CPDF_Point & son)
|
| +FX_BOOL CFFL_Utils::RectContainsPoint(const CPDF_Rect & father,const CPDF_Point
|
| +& son)
|
| {
|
| - return (father.left <= son.x && father.right >= son.x &&
|
| - father.bottom <= son.y && father.top >= son.y);
|
| + return (father.left <= son.x && father.right >= son.x &&
|
| + father.bottom <= son.y && father.top >= son.y);
|
| }
|
|
|
| -FX_BOOL CFFL_Utils::RectContainsXY(const CPDF_Rect & father,FX_FLOAT x,FX_FLOAT y)
|
| +FX_BOOL CFFL_Utils::RectContainsXY(const CPDF_Rect & father,FX_FLOAT x,FX_FLOAT
|
| +y)
|
| {
|
| - return (father.left <= x && father.right >= x &&
|
| - father.bottom <= y && father.top >= y);
|
| + return (father.left <= x && father.right >= x &&
|
| + father.bottom <= y && father.top >= y);
|
| }
|
| */
|
|
|
| -FX_BOOL CFFL_Utils::TraceObject(CPDF_Object* pObj)
|
| -{
|
| - if (!pObj) return FALSE;
|
| -
|
| - FX_DWORD dwObjNum = pObj->GetObjNum();
|
| - switch (pObj->GetType())
|
| - {
|
| - case PDFOBJ_ARRAY:
|
| - {
|
| - CPDF_Array* pArray = (CPDF_Array*)pObj;
|
| - for (FX_DWORD i = 0; i < pArray->GetCount(); i ++)
|
| - {
|
| - CPDF_Object* pElement = pArray->GetElementValue(i);
|
| - TraceObject(pElement);
|
| - }
|
| - }
|
| - break;
|
| -
|
| - case PDFOBJ_DICTIONARY:
|
| - {
|
| - CPDF_Dictionary* pDict = (CPDF_Dictionary*)pObj;
|
| -
|
| - FX_POSITION fPos = pDict->GetStartPos();
|
| - CFX_ByteString csKey;
|
| - do
|
| - {
|
| - CPDF_Object* pElement = pDict->GetNextElement(fPos, csKey);
|
| - //TRACE(csKey + "\n");
|
| - if (!pElement) break;
|
| - TraceObject(pElement);
|
| - }while (TRUE);
|
| - }
|
| - break;
|
| -
|
| - case PDFOBJ_STREAM:
|
| - {
|
| - CPDF_Stream* pStream = (CPDF_Stream*)pObj;
|
| - CPDF_Dictionary* pDict = pStream->GetDict();
|
| - TraceObject(pDict);
|
| - }
|
| - break;
|
| -
|
| - case PDFOBJ_REFERENCE:
|
| - {
|
| - CPDF_Object* pDirectObj = pObj->GetDirect();
|
| - TraceObject(pDirectObj);
|
| - }
|
| - break;
|
| -
|
| - case PDFOBJ_BOOLEAN:
|
| - break;
|
| - case PDFOBJ_NUMBER:
|
| - //TRACE("%d\n",(FX_INT32)pObj);
|
| - break;
|
| - case PDFOBJ_STRING:
|
| - //TRACE(((CPDF_String*)pObj)->GetString() + "\n");
|
| - break;
|
| - case PDFOBJ_NAME:
|
| - //TRACE(((CPDF_Name*)pObj)->GetString() + "\n");
|
| - break;
|
| - case PDFOBJ_NULL:
|
| -// case PDFOBJ_KEYWORD:
|
| -// case PDFOBJ_EOF:
|
| - default:
|
| - break;
|
| - }
|
| - if (dwObjNum == 0) return FALSE;
|
| -
|
| - return TRUE;
|
| +FX_BOOL CFFL_Utils::TraceObject(CPDF_Object* pObj) {
|
| + if (!pObj)
|
| + return FALSE;
|
| +
|
| + FX_DWORD dwObjNum = pObj->GetObjNum();
|
| + switch (pObj->GetType()) {
|
| + case PDFOBJ_ARRAY: {
|
| + CPDF_Array* pArray = (CPDF_Array*)pObj;
|
| + for (FX_DWORD i = 0; i < pArray->GetCount(); i++) {
|
| + CPDF_Object* pElement = pArray->GetElementValue(i);
|
| + TraceObject(pElement);
|
| + }
|
| + } break;
|
| +
|
| + case PDFOBJ_DICTIONARY: {
|
| + CPDF_Dictionary* pDict = (CPDF_Dictionary*)pObj;
|
| +
|
| + FX_POSITION fPos = pDict->GetStartPos();
|
| + CFX_ByteString csKey;
|
| + do {
|
| + CPDF_Object* pElement = pDict->GetNextElement(fPos, csKey);
|
| + // TRACE(csKey + "\n");
|
| + if (!pElement)
|
| + break;
|
| + TraceObject(pElement);
|
| + } while (TRUE);
|
| + } break;
|
| +
|
| + case PDFOBJ_STREAM: {
|
| + CPDF_Stream* pStream = (CPDF_Stream*)pObj;
|
| + CPDF_Dictionary* pDict = pStream->GetDict();
|
| + TraceObject(pDict);
|
| + } break;
|
| +
|
| + case PDFOBJ_REFERENCE: {
|
| + CPDF_Object* pDirectObj = pObj->GetDirect();
|
| + TraceObject(pDirectObj);
|
| + } break;
|
| +
|
| + case PDFOBJ_BOOLEAN:
|
| + break;
|
| + case PDFOBJ_NUMBER:
|
| + // TRACE("%d\n",(FX_INT32)pObj);
|
| + break;
|
| + case PDFOBJ_STRING:
|
| + // TRACE(((CPDF_String*)pObj)->GetString() + "\n");
|
| + break;
|
| + case PDFOBJ_NAME:
|
| + // TRACE(((CPDF_Name*)pObj)->GetString() + "\n");
|
| + break;
|
| + case PDFOBJ_NULL:
|
| + // case PDFOBJ_KEYWORD:
|
| + // case PDFOBJ_EOF:
|
| + default:
|
| + break;
|
| + }
|
| + if (dwObjNum == 0)
|
| + return FALSE;
|
| +
|
| + return TRUE;
|
| }
|
| -
|
|
|