Index: fpdfsdk/src/fpdf_flatten.cpp |
diff --git a/fpdfsdk/src/fpdf_flatten.cpp b/fpdfsdk/src/fpdf_flatten.cpp |
index 9aee35f7608ebfea531152edef7b1048d0b4e825..759f758e5ef56ef26d26ef2d880af77cb7a92aa9 100644 |
--- a/fpdfsdk/src/fpdf_flatten.cpp |
+++ b/fpdfsdk/src/fpdf_flatten.cpp |
@@ -11,12 +11,12 @@ |
#include "fpdfsdk/include/fsdk_define.h" |
typedef CFX_ArrayTemplate<CPDF_Dictionary*> CPDF_ObjectArray; |
-typedef CFX_ArrayTemplate<CPDF_Rect> CPDF_RectArray; |
+typedef CFX_ArrayTemplate<CFX_FloatRect> CPDF_RectArray; |
enum FPDF_TYPE { MAX, MIN }; |
enum FPDF_VALUE { TOP, LEFT, RIGHT, BOTTOM }; |
-FX_BOOL IsValiableRect(CPDF_Rect rect, CPDF_Rect rcPage) { |
+FX_BOOL IsValiableRect(CFX_FloatRect rect, CFX_FloatRect rcPage) { |
if (rect.left - rect.right > 0.000001f || rect.bottom - rect.top > 0.000001f) |
return FALSE; |
@@ -46,7 +46,7 @@ void GetContentsRect(CPDF_Document* pDoc, |
if (!pPageObject) |
continue; |
- CPDF_Rect rc; |
+ CFX_FloatRect rc; |
rc.left = pPageObject->m_Left; |
rc.right = pPageObject->m_Right; |
rc.bottom = pPageObject->m_Bottom; |
@@ -62,7 +62,7 @@ void ParserStream(CPDF_Dictionary* pPageDic, |
CPDF_ObjectArray* pObjectArray) { |
if (!pStream) |
return; |
- CPDF_Rect rect; |
+ CFX_FloatRect rect; |
if (pStream->KeyExist("Rect")) |
rect = pStream->GetRectBy("Rect"); |
else if (pStream->KeyExist("BBox")) |
@@ -127,25 +127,25 @@ FX_FLOAT GetMinMaxValue(CPDF_RectArray& array, |
switch (value) { |
case LEFT: { |
for (int i = 0; i < nRects; i++) |
- pArray[i] = CPDF_Rect(array.GetAt(i)).left; |
+ pArray[i] = CFX_FloatRect(array.GetAt(i)).left; |
break; |
} |
case TOP: { |
for (int i = 0; i < nRects; i++) |
- pArray[i] = CPDF_Rect(array.GetAt(i)).top; |
+ pArray[i] = CFX_FloatRect(array.GetAt(i)).top; |
break; |
} |
case RIGHT: { |
for (int i = 0; i < nRects; i++) |
- pArray[i] = CPDF_Rect(array.GetAt(i)).right; |
+ pArray[i] = CFX_FloatRect(array.GetAt(i)).right; |
break; |
} |
case BOTTOM: { |
for (int i = 0; i < nRects; i++) |
- pArray[i] = CPDF_Rect(array.GetAt(i)).bottom; |
+ pArray[i] = CFX_FloatRect(array.GetAt(i)).bottom; |
break; |
} |
@@ -166,8 +166,8 @@ FX_FLOAT GetMinMaxValue(CPDF_RectArray& array, |
return fRet; |
} |
-CPDF_Rect CalculateRect(CPDF_RectArray* pRectArray) { |
- CPDF_Rect rcRet; |
+CFX_FloatRect CalculateRect(CPDF_RectArray* pRectArray) { |
+ CFX_FloatRect rcRet; |
rcRet.left = GetMinMaxValue(*pRectArray, MIN, LEFT); |
rcRet.top = GetMinMaxValue(*pRectArray, MAX, TOP); |
@@ -245,8 +245,8 @@ void SetPageContents(CFX_ByteString key, |
} |
} |
-CFX_Matrix GetMatrix(CPDF_Rect rcAnnot, |
- CPDF_Rect rcStream, |
+CFX_Matrix GetMatrix(CFX_FloatRect rcAnnot, |
+ CFX_FloatRect rcStream, |
const CFX_Matrix& matrix) { |
if (rcStream.IsEmpty()) |
return CFX_Matrix(); |
@@ -266,8 +266,8 @@ void GetOffset(FX_FLOAT& fa, |
FX_FLOAT& fd, |
FX_FLOAT& fe, |
FX_FLOAT& ff, |
- CPDF_Rect rcAnnot, |
- CPDF_Rect rcStream, |
+ CFX_FloatRect rcAnnot, |
+ CFX_FloatRect rcStream, |
const CFX_Matrix& matrix) { |
FX_FLOAT fStreamWidth = 0.0f; |
FX_FLOAT fStreamHeight = 0.0f; |
@@ -323,15 +323,15 @@ DLLEXPORT int STDCALL FPDFPage_Flatten(FPDF_PAGE page, int nFlag) { |
if (iRet == FLATTEN_NOTHINGTODO || iRet == FLATTEN_FAIL) |
return iRet; |
- CPDF_Rect rcOriginalCB; |
- CPDF_Rect rcMerger = CalculateRect(&RectArray); |
- CPDF_Rect rcOriginalMB = pPageDict->GetRectBy("MediaBox"); |
+ CFX_FloatRect rcOriginalCB; |
+ CFX_FloatRect rcMerger = CalculateRect(&RectArray); |
+ CFX_FloatRect rcOriginalMB = pPageDict->GetRectBy("MediaBox"); |
if (pPageDict->KeyExist("CropBox")) |
rcOriginalMB = pPageDict->GetRectBy("CropBox"); |
if (rcOriginalMB.IsEmpty()) { |
- rcOriginalMB = CPDF_Rect(0.0f, 0.0f, 612.0f, 792.0f); |
+ rcOriginalMB = CFX_FloatRect(0.0f, 0.0f, 612.0f, 792.0f); |
} |
rcMerger.left = |
@@ -407,7 +407,7 @@ DLLEXPORT int STDCALL FPDFPage_Flatten(FPDF_PAGE page, int nFlag) { |
pNewOXbjectDic->SetAtName("Subtype", "Form"); |
pNewOXbjectDic->SetAtInteger("FormType", 1); |
pNewOXbjectDic->SetAtName("Name", "FRM"); |
- CPDF_Rect rcBBox = pPageDict->GetRectBy("ArtBox"); |
+ CFX_FloatRect rcBBox = pPageDict->GetRectBy("ArtBox"); |
pNewOXbjectDic->SetAtRect("BBox", rcBBox); |
} |
@@ -416,7 +416,7 @@ DLLEXPORT int STDCALL FPDFPage_Flatten(FPDF_PAGE page, int nFlag) { |
if (!pAnnotDic) |
continue; |
- CPDF_Rect rcAnnot = pAnnotDic->GetRectBy("Rect"); |
+ CFX_FloatRect rcAnnot = pAnnotDic->GetRectBy("Rect"); |
rcAnnot.Normalize(); |
CFX_ByteString sAnnotState = pAnnotDic->GetStringBy("AS"); |
@@ -452,7 +452,7 @@ DLLEXPORT int STDCALL FPDFPage_Flatten(FPDF_PAGE page, int nFlag) { |
CPDF_Dictionary* pAPDic = pAPStream->GetDict(); |
CFX_Matrix matrix = pAPDic->GetMatrixBy("Matrix"); |
- CPDF_Rect rcStream; |
+ CFX_FloatRect rcStream; |
if (pAPDic->KeyExist("Rect")) |
rcStream = pAPDic->GetRectBy("Rect"); |
else if (pAPDic->KeyExist("BBox")) |