diff options
Diffstat (limited to 'core/fpdfdoc')
-rw-r--r-- | core/fpdfdoc/cpdf_annot.cpp | 4 | ||||
-rw-r--r-- | core/fpdfdoc/cpdf_annotlist.cpp | 7 | ||||
-rw-r--r-- | core/fpdfdoc/cpdf_formcontrol.cpp | 4 |
3 files changed, 7 insertions, 8 deletions
diff --git a/core/fpdfdoc/cpdf_annot.cpp b/core/fpdfdoc/cpdf_annot.cpp index e43a7353b6..f2b54e81fe 100644 --- a/core/fpdfdoc/cpdf_annot.cpp +++ b/core/fpdfdoc/cpdf_annot.cpp @@ -52,9 +52,9 @@ CPDF_Form* AnnotGetMatrix(const CPDF_Page* pPage, if (!pForm) return nullptr; - CFX_FloatRect form_bbox = pForm->m_pFormDict->GetRectFor("BBox"); CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrixFor("Matrix"); - form_matrix.TransformRect(form_bbox); + CFX_FloatRect form_bbox = + form_matrix.TransformRect(pForm->m_pFormDict->GetRectFor("BBox")); matrix->MatchRect(pAnnot->GetRect(), form_bbox); matrix->Concat(*pUser2Device); return pForm; diff --git a/core/fpdfdoc/cpdf_annotlist.cpp b/core/fpdfdoc/cpdf_annotlist.cpp index e4ecf466f5..9f6f79a02c 100644 --- a/core/fpdfdoc/cpdf_annotlist.cpp +++ b/core/fpdfdoc/cpdf_annotlist.cpp @@ -148,12 +148,11 @@ void CPDF_AnnotList::DisplayPass(CPDF_Page* pPage, continue; } } - CFX_FloatRect annot_rect_f = pAnnot->GetRect(); + CFX_Matrix matrix = *pMatrix; if (clip_rect) { - matrix.TransformRect(annot_rect_f); - - FX_RECT annot_rect = annot_rect_f.GetOuterRect(); + FX_RECT annot_rect = + matrix.TransformRect(pAnnot->GetRect()).GetOuterRect(); annot_rect.Intersect(*clip_rect); if (annot_rect.IsEmpty()) continue; diff --git a/core/fpdfdoc/cpdf_formcontrol.cpp b/core/fpdfdoc/cpdf_formcontrol.cpp index 54524a64e2..322abc0eb1 100644 --- a/core/fpdfdoc/cpdf_formcontrol.cpp +++ b/core/fpdfdoc/cpdf_formcontrol.cpp @@ -173,9 +173,9 @@ void CPDF_FormControl::DrawControl(CFX_RenderDevice* pDevice, if (!pStream) return; - CFX_FloatRect form_bbox = pStream->GetDict()->GetRectFor("BBox"); CFX_Matrix form_matrix = pStream->GetDict()->GetMatrixFor("Matrix"); - form_matrix.TransformRect(form_bbox); + CFX_FloatRect form_bbox = + form_matrix.TransformRect(pStream->GetDict()->GetRectFor("BBox")); CFX_FloatRect arect = m_pWidgetDict->GetRectFor("Rect"); CFX_Matrix matrix; matrix.MatchRect(arect, form_bbox); |