Chromium Code Reviews| Index: fpdfsdk/src/pdfwindow/PWL_Utils.cpp |
| diff --git a/fpdfsdk/src/pdfwindow/PWL_Utils.cpp b/fpdfsdk/src/pdfwindow/PWL_Utils.cpp |
| index 71a9d474b7265cf3af1c58dbfd31f52defade2fc..79108f59614ad52f73c89f4d7a9c920cd995d2fe 100644 |
| --- a/fpdfsdk/src/pdfwindow/PWL_Utils.cpp |
| +++ b/fpdfsdk/src/pdfwindow/PWL_Utils.cpp |
| @@ -4,7 +4,6 @@ |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| -#include "fpdfsdk/include/pdfwindow/PDFWindow.h" |
| #include "fpdfsdk/include/pdfwindow/PWL_Icon.h" |
| #include "fpdfsdk/include/pdfwindow/PWL_Utils.h" |
| #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h" |
| @@ -14,8 +13,6 @@ |
| #define IsFloatSmaller(fa, fb) ((fa) < (fb) && !IsFloatZero((fa) - (fb))) |
| #define IsFloatEqual(fa, fb) IsFloatZero((fa) - (fb)) |
| -/* ---------------------------- CPWL_Utils ------------------------------ */ |
| - |
| CFX_ByteString CPWL_Utils::GetAppStreamFromArray(const CPWL_PathData* pPathData, |
| int32_t nCount) { |
| CFX_ByteTextBuf csAP; |
| @@ -136,71 +133,52 @@ CPVT_WordRange CPWL_Utils::OverlapWordRange(const CPVT_WordRange& wr1, |
| } |
| CFX_ByteString CPWL_Utils::GetAP_Check(const CPDF_Rect& crBBox) { |
| - CFX_ByteTextBuf csAP; |
| - |
| - FX_FLOAT fWidth = crBBox.right - crBBox.left; |
| - FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
| - |
| - const int32_t num = 8; |
| - |
| - CPWL_Point pts[num * 3] = {// 1 |
| - CPWL_Point(0.28f, 0.52f), CPWL_Point(0.27f, 0.48f), |
| - CPWL_Point(0.29f, 0.40f), |
| - |
| - // 2 |
| - CPWL_Point(0.30f, 0.33f), CPWL_Point(0.31f, 0.29f), |
| - CPWL_Point(0.31f, 0.28f), |
| - |
| - // 3 |
| - CPWL_Point(0.39f, 0.28f), CPWL_Point(0.49f, 0.29f), |
| - CPWL_Point(0.77f, 0.67f), |
| - |
| - // 4 |
| - CPWL_Point(0.76f, 0.68f), CPWL_Point(0.78f, 0.69f), |
| - CPWL_Point(0.76f, 0.75f), |
| - |
| - // 5 |
| - CPWL_Point(0.76f, 0.75f), CPWL_Point(0.73f, 0.80f), |
| - CPWL_Point(0.68f, 0.75f), |
| - |
| - // 6 |
| - CPWL_Point(0.68f, 0.74f), CPWL_Point(0.68f, 0.74f), |
| - CPWL_Point(0.44f, 0.47f), |
| - |
| - // 7 |
| - CPWL_Point(0.43f, 0.47f), CPWL_Point(0.40f, 0.47f), |
| - CPWL_Point(0.41f, 0.58f), |
| - |
| - // 8 |
| - CPWL_Point(0.40f, 0.60f), CPWL_Point(0.28f, 0.66f), |
| - CPWL_Point(0.30f, 0.56f)}; |
| - |
| - for (int32_t j = 0; j < num * 3; j++) { |
| - pts[j].x *= fWidth; |
| - pts[j].x += crBBox.left; |
| - |
| - pts[j].y *= fHeight; |
| - pts[j].y += crBBox.bottom; |
| + const FX_FLOAT fWidth = crBBox.right - crBBox.left; |
| + const FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
| + |
| + CPWL_Point pts[8][3] = {{CPWL_Point(0.28f, 0.52f), CPWL_Point(0.27f, 0.48f), |
| + CPWL_Point(0.29f, 0.40f)}, |
| + {CPWL_Point(0.30f, 0.33f), CPWL_Point(0.31f, 0.29f), |
| + CPWL_Point(0.31f, 0.28f)}, |
| + {CPWL_Point(0.39f, 0.28f), CPWL_Point(0.49f, 0.29f), |
| + CPWL_Point(0.77f, 0.67f)}, |
| + {CPWL_Point(0.76f, 0.68f), CPWL_Point(0.78f, 0.69f), |
| + CPWL_Point(0.76f, 0.75f)}, |
| + {CPWL_Point(0.76f, 0.75f), CPWL_Point(0.73f, 0.80f), |
| + CPWL_Point(0.68f, 0.75f)}, |
| + {CPWL_Point(0.68f, 0.74f), CPWL_Point(0.68f, 0.74f), |
| + CPWL_Point(0.44f, 0.47f)}, |
| + {CPWL_Point(0.43f, 0.47f), CPWL_Point(0.40f, 0.47f), |
| + CPWL_Point(0.41f, 0.58f)}, |
| + {CPWL_Point(0.40f, 0.60f), CPWL_Point(0.28f, 0.66f), |
| + CPWL_Point(0.30f, 0.56f)}}; |
| + |
| + for (size_t i = 0; i < FX_ArraySize(pts); ++i) { |
| + for (size_t j = 0; j < FX_ArraySize(pts[0]); ++j) { |
| + pts[i][j].x *= fWidth; |
|
Tom Sepez
2016/01/05 17:52:14
nit: maybe an infix expression like
pts[i][j].x =
Lei Zhang
2016/01/06 00:40:34
Done.
|
| + pts[i][j].x += crBBox.left; |
| + |
|
Tom Sepez
2016/01/05 17:52:14
nit: no blank line here.
Lei Zhang
2016/01/06 00:40:34
Done.
|
| + pts[i][j].y *= fHeight; |
| + pts[i][j].y += crBBox.bottom; |
| + } |
| } |
| - csAP << pts[0].x << " " << pts[0].y << " m\n"; |
| + CFX_ByteTextBuf csAP; |
| + csAP << pts[0][0].x << " " << pts[0][0].y << " m\n"; |
| - for (int32_t i = 0; i < num; i++) { |
| - int32_t nCur = i * 3; |
| - int32_t n1 = i * 3 + 1; |
| - int32_t n2 = i * 3 + 2; |
| - int32_t nNext = (i < num - 1 ? (i + 1) * 3 : 0); |
| + for (size_t i = 0; i < FX_ArraySize(pts); ++i) { |
| + size_t nNext = i < FX_ArraySize(pts) - 1 ? i + 1 : 0; |
| - FX_FLOAT px1 = pts[n1].x - pts[nCur].x; |
| - FX_FLOAT py1 = pts[n1].y - pts[nCur].y; |
| - FX_FLOAT px2 = pts[n2].x - pts[nNext].x; |
| - FX_FLOAT py2 = pts[n2].y - pts[nNext].y; |
| + FX_FLOAT px1 = pts[i][1].x - pts[i][0].x; |
| + FX_FLOAT py1 = pts[i][1].y - pts[i][0].y; |
| + FX_FLOAT px2 = pts[i][2].x - pts[nNext][0].x; |
| + FX_FLOAT py2 = pts[i][2].y - pts[nNext][0].y; |
| - csAP << pts[nCur].x + px1 * PWL_BEZIER << " " |
| - << pts[nCur].y + py1 * PWL_BEZIER << " " |
| - << pts[nNext].x + px2 * PWL_BEZIER << " " |
| - << pts[nNext].y + py2 * PWL_BEZIER << " " << pts[nNext].x << " " |
| - << pts[nNext].y << " c\n"; |
| + csAP << pts[i][0].x + px1 * PWL_BEZIER << " " |
| + << pts[i][0].y + py1 * PWL_BEZIER << " " |
| + << pts[nNext][0].x + px2 * PWL_BEZIER << " " |
| + << pts[nNext][0].y + py2 * PWL_BEZIER << " " << pts[nNext][0].x << " " |
| + << pts[nNext][0].y << " c\n"; |
| } |
| return csAP.GetByteString(); |
| @@ -2338,7 +2316,6 @@ void CPWL_Utils::GetGraphics_Cross(CFX_ByteString& sPathData, |
| const PWL_PATH_TYPE type) { |
| FX_FLOAT fWidth = crBBox.right - crBBox.left; |
| FX_FLOAT fHeight = crBBox.top - crBBox.bottom; |
| - // FX_FLOAT fcatercorner = (FX_FLOAT)sqrt(fWidth*fWidth + fHeight*fHeight); |
| CPWL_Point center_point(crBBox.left + fWidth / 2, |
| crBBox.bottom + fHeight / 2); |