OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 "core/fpdfapi/fpdf_page/include/cpdf_pathobject.h" | 7 #include "core/fpdfapi/fpdf_page/include/cpdf_pathobject.h" |
8 | 8 |
9 CPDF_PathObject::CPDF_PathObject() {} | 9 CPDF_PathObject::CPDF_PathObject() {} |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... |
36 | 36 |
37 CPDF_PathObject* CPDF_PathObject::AsPath() { | 37 CPDF_PathObject* CPDF_PathObject::AsPath() { |
38 return this; | 38 return this; |
39 } | 39 } |
40 | 40 |
41 const CPDF_PathObject* CPDF_PathObject::AsPath() const { | 41 const CPDF_PathObject* CPDF_PathObject::AsPath() const { |
42 return this; | 42 return this; |
43 } | 43 } |
44 | 44 |
45 void CPDF_PathObject::CalcBoundingBox() { | 45 void CPDF_PathObject::CalcBoundingBox() { |
46 if (m_Path.IsNull()) { | 46 if (!m_Path) |
47 return; | 47 return; |
48 } | |
49 CFX_FloatRect rect; | 48 CFX_FloatRect rect; |
50 FX_FLOAT width = m_GraphState.GetObject()->m_LineWidth; | 49 FX_FLOAT width = m_GraphState.GetObject()->m_LineWidth; |
51 if (m_bStroke && width != 0) { | 50 if (m_bStroke && width != 0) { |
52 rect = m_Path.GetBoundingBox(width, m_GraphState.GetObject()->m_MiterLimit); | 51 rect = m_Path.GetBoundingBox(width, m_GraphState.GetObject()->m_MiterLimit); |
53 } else { | 52 } else { |
54 rect = m_Path.GetBoundingBox(); | 53 rect = m_Path.GetBoundingBox(); |
55 } | 54 } |
56 rect.Transform(&m_Matrix); | 55 rect.Transform(&m_Matrix); |
57 if (width == 0 && m_bStroke) { | 56 if (width == 0 && m_bStroke) { |
58 rect.left += -0.5f; | 57 rect.left += -0.5f; |
59 rect.right += 0.5f; | 58 rect.right += 0.5f; |
60 rect.bottom += -0.5f; | 59 rect.bottom += -0.5f; |
61 rect.top += 0.5f; | 60 rect.top += 0.5f; |
62 } | 61 } |
63 m_Left = rect.left; | 62 m_Left = rect.left; |
64 m_Right = rect.right; | 63 m_Right = rect.right; |
65 m_Top = rect.top; | 64 m_Top = rect.top; |
66 m_Bottom = rect.bottom; | 65 m_Bottom = rect.bottom; |
67 } | 66 } |
OLD | NEW |