| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/include/xfa_ffwidget.h" | 7 #include "xfa/fxfa/include/xfa_ffwidget.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1338 int32_t iHand = box.GetHand(); | 1338 int32_t iHand = box.GetHand(); |
| 1339 if (iHand == XFA_ATTRIBUTEENUM_Left) { | 1339 if (iHand == XFA_ATTRIBUTEENUM_Left) { |
| 1340 rtWidget.Inflate(fHalf, fHalf); | 1340 rtWidget.Inflate(fHalf, fHalf); |
| 1341 } else if (iHand == XFA_ATTRIBUTEENUM_Right) { | 1341 } else if (iHand == XFA_ATTRIBUTEENUM_Right) { |
| 1342 rtWidget.Deflate(fHalf, fHalf); | 1342 rtWidget.Deflate(fHalf, fHalf); |
| 1343 } | 1343 } |
| 1344 XFA_BOX_GetPath_Arc(box, rtWidget, fillPath, dwFlags); | 1344 XFA_BOX_GetPath_Arc(box, rtWidget, fillPath, dwFlags); |
| 1345 return; | 1345 return; |
| 1346 } | 1346 } |
| 1347 FX_BOOL bSameStyles = TRUE; | 1347 FX_BOOL bSameStyles = TRUE; |
| 1348 int32_t i; | |
| 1349 CXFA_Stroke stroke1 = strokes[0]; | 1348 CXFA_Stroke stroke1 = strokes[0]; |
| 1350 for (i = 1; i < 8; i++) { | 1349 for (int32_t i = 1; i < 8; i++) { |
| 1351 CXFA_Stroke stroke2 = strokes[i]; | 1350 CXFA_Stroke stroke2 = strokes[i]; |
| 1352 if (!stroke1.SameStyles(stroke2)) { | 1351 if (!stroke1.SameStyles(stroke2)) { |
| 1353 bSameStyles = FALSE; | 1352 bSameStyles = FALSE; |
| 1354 break; | 1353 break; |
| 1355 } | 1354 } |
| 1356 stroke1 = stroke2; | 1355 stroke1 = stroke2; |
| 1357 } | 1356 } |
| 1358 if (bSameStyles) { | 1357 if (bSameStyles) { |
| 1359 stroke1 = strokes[0]; | 1358 stroke1 = strokes[0]; |
| 1360 for (i = 2; i < 8; i += 2) { | 1359 for (int32_t i = 2; i < 8; i += 2) { |
| 1361 CXFA_Stroke stroke2 = strokes[i]; | 1360 CXFA_Stroke stroke2 = strokes[i]; |
| 1362 if (!stroke1.SameStyles(stroke2, XFA_STROKE_SAMESTYLE_NoPresence | | 1361 if (!stroke1.SameStyles(stroke2, XFA_STROKE_SAMESTYLE_NoPresence | |
| 1363 XFA_STROKE_SAMESTYLE_Corner)) { | 1362 XFA_STROKE_SAMESTYLE_Corner)) { |
| 1364 bSameStyles = FALSE; | 1363 bSameStyles = FALSE; |
| 1365 break; | 1364 break; |
| 1366 } | 1365 } |
| 1367 stroke1 = stroke2; | 1366 stroke1 = stroke2; |
| 1368 } | 1367 } |
| 1369 if (bSameStyles) { | 1368 if (bSameStyles) { |
| 1370 stroke1 = strokes[0]; | 1369 stroke1 = strokes[0]; |
| (...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1832 XFA_BOX_Stroke_3DRect_Etched(pGS, rtWidget, fThickness, pMatrix); | 1831 XFA_BOX_Stroke_3DRect_Etched(pGS, rtWidget, fThickness, pMatrix); |
| 1833 break; | 1832 break; |
| 1834 case XFA_ATTRIBUTEENUM_Embossed: | 1833 case XFA_ATTRIBUTEENUM_Embossed: |
| 1835 XFA_BOX_Stroke_3DRect_Embossed(pGS, rtWidget, fThickness, pMatrix); | 1834 XFA_BOX_Stroke_3DRect_Embossed(pGS, rtWidget, fThickness, pMatrix); |
| 1836 break; | 1835 break; |
| 1837 } | 1836 } |
| 1838 return; | 1837 return; |
| 1839 } | 1838 } |
| 1840 FX_BOOL bClose = FALSE; | 1839 FX_BOOL bClose = FALSE; |
| 1841 FX_BOOL bSameStyles = TRUE; | 1840 FX_BOOL bSameStyles = TRUE; |
| 1842 int32_t i; | |
| 1843 CXFA_Stroke stroke1 = strokes[0]; | 1841 CXFA_Stroke stroke1 = strokes[0]; |
| 1844 for (i = 1; i < 8; i++) { | 1842 for (int32_t i = 1; i < 8; i++) { |
| 1845 CXFA_Stroke stroke2 = strokes[i]; | 1843 CXFA_Stroke stroke2 = strokes[i]; |
| 1846 if (!stroke1.SameStyles(stroke2)) { | 1844 if (!stroke1.SameStyles(stroke2)) { |
| 1847 bSameStyles = FALSE; | 1845 bSameStyles = FALSE; |
| 1848 break; | 1846 break; |
| 1849 } | 1847 } |
| 1850 stroke1 = stroke2; | 1848 stroke1 = stroke2; |
| 1851 } | 1849 } |
| 1852 if (bSameStyles) { | 1850 if (bSameStyles) { |
| 1853 stroke1 = strokes[0]; | 1851 stroke1 = strokes[0]; |
| 1854 bClose = TRUE; | 1852 bClose = TRUE; |
| 1855 for (i = 2; i < 8; i += 2) { | 1853 for (int32_t i = 2; i < 8; i += 2) { |
| 1856 CXFA_Stroke stroke2 = strokes[i]; | 1854 CXFA_Stroke stroke2 = strokes[i]; |
| 1857 if (!stroke1.SameStyles(stroke2, XFA_STROKE_SAMESTYLE_NoPresence | | 1855 if (!stroke1.SameStyles(stroke2, XFA_STROKE_SAMESTYLE_NoPresence | |
| 1858 XFA_STROKE_SAMESTYLE_Corner)) { | 1856 XFA_STROKE_SAMESTYLE_Corner)) { |
| 1859 bSameStyles = FALSE; | 1857 bSameStyles = FALSE; |
| 1860 break; | 1858 break; |
| 1861 } | 1859 } |
| 1862 stroke1 = stroke2; | 1860 stroke1 = stroke2; |
| 1863 } | 1861 } |
| 1864 if (bSameStyles) { | 1862 if (bSameStyles) { |
| 1865 stroke1 = strokes[0]; | 1863 stroke1 = strokes[0]; |
| 1866 if (stroke1.IsInverted()) { | 1864 if (stroke1.IsInverted()) { |
| 1867 bSameStyles = FALSE; | 1865 bSameStyles = FALSE; |
| 1868 } | 1866 } |
| 1869 if (stroke1.GetJoinType() != XFA_ATTRIBUTEENUM_Square) { | 1867 if (stroke1.GetJoinType() != XFA_ATTRIBUTEENUM_Square) { |
| 1870 bSameStyles = FALSE; | 1868 bSameStyles = FALSE; |
| 1871 } | 1869 } |
| 1872 } | 1870 } |
| 1873 } | 1871 } |
| 1874 FX_BOOL bStart = TRUE; | 1872 FX_BOOL bStart = TRUE; |
| 1875 CFX_Path path; | 1873 CFX_Path path; |
| 1876 path.Create(); | 1874 path.Create(); |
| 1877 for (i = 0; i < 8; i++) { | 1875 for (int32_t i = 0; i < 8; i++) { |
| 1878 CXFA_Stroke stroke1 = strokes[i]; | 1876 CXFA_Stroke stroke = strokes[i]; |
| 1879 if ((i % 1) == 0 && stroke1.GetRadius() < 0) { | 1877 if ((i % 1) == 0 && stroke.GetRadius() < 0) { |
| 1880 FX_BOOL bEmpty = path.IsEmpty(); | 1878 FX_BOOL bEmpty = path.IsEmpty(); |
| 1881 if (!bEmpty) { | 1879 if (!bEmpty) { |
| 1882 XFA_BOX_StrokePath(stroke1, &path, pGS, pMatrix); | 1880 XFA_BOX_StrokePath(stroke, &path, pGS, pMatrix); |
| 1883 path.Clear(); | 1881 path.Clear(); |
| 1884 } | 1882 } |
| 1885 bStart = TRUE; | 1883 bStart = TRUE; |
| 1886 continue; | 1884 continue; |
| 1887 } | 1885 } |
| 1888 XFA_BOX_GetPath(box, strokes, rtWidget, path, i, bStart, !bSameStyles); | 1886 XFA_BOX_GetPath(box, strokes, rtWidget, path, i, bStart, !bSameStyles); |
| 1889 CXFA_Stroke stroke2 = strokes[(i + 1) % 8]; | 1887 CXFA_Stroke stroke2 = strokes[(i + 1) % 8]; |
| 1890 bStart = !stroke1.SameStyles(stroke2); | 1888 bStart = !stroke.SameStyles(stroke2); |
| 1891 if (bStart) { | 1889 if (bStart) { |
| 1892 XFA_BOX_StrokePath(stroke1, &path, pGS, pMatrix); | 1890 XFA_BOX_StrokePath(stroke, &path, pGS, pMatrix); |
| 1893 path.Clear(); | 1891 path.Clear(); |
| 1894 } | 1892 } |
| 1895 } | 1893 } |
| 1896 FX_BOOL bEmpty = path.IsEmpty(); | 1894 FX_BOOL bEmpty = path.IsEmpty(); |
| 1897 if (!bEmpty) { | 1895 if (!bEmpty) { |
| 1898 if (bClose) { | 1896 if (bClose) { |
| 1899 path.Close(); | 1897 path.Close(); |
| 1900 } | 1898 } |
| 1901 XFA_BOX_StrokePath(strokes[7], &path, pGS, pMatrix); | 1899 XFA_BOX_StrokePath(strokes[7], &path, pGS, pMatrix); |
| 1902 } | 1900 } |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1979 iType != XFA_ELEMENT_Rectangle) { | 1977 iType != XFA_ELEMENT_Rectangle) { |
| 1980 return; | 1978 return; |
| 1981 } | 1979 } |
| 1982 CXFA_StrokeArray strokes; | 1980 CXFA_StrokeArray strokes; |
| 1983 if (!(dwFlags & XFA_DRAWBOX_ForceRound) && iType != XFA_ELEMENT_Arc) { | 1981 if (!(dwFlags & XFA_DRAWBOX_ForceRound) && iType != XFA_ELEMENT_Arc) { |
| 1984 box.GetStrokes(strokes); | 1982 box.GetStrokes(strokes); |
| 1985 } | 1983 } |
| 1986 XFA_BOX_Fill(box, strokes, pGS, rtWidget, pMatrix, dwFlags); | 1984 XFA_BOX_Fill(box, strokes, pGS, rtWidget, pMatrix, dwFlags); |
| 1987 XFA_BOX_Stroke(box, strokes, pGS, rtWidget, pMatrix, dwFlags); | 1985 XFA_BOX_Stroke(box, strokes, pGS, rtWidget, pMatrix, dwFlags); |
| 1988 } | 1986 } |
| OLD | NEW |