| // Copyright 2014 The PDFium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
 |  | 
 | #include "xfa/fxfa/cxfa_fwladapterwidgetmgr.h" | 
 |  | 
 | #include "core/fxcrt/fx_coordinates.h" | 
 | #include "xfa/fxfa/cxfa_ffdoc.h" | 
 | #include "xfa/fxfa/cxfa_fffield.h" | 
 |  | 
 | CXFA_FWLAdapterWidgetMgr::CXFA_FWLAdapterWidgetMgr() = default; | 
 |  | 
 | CXFA_FWLAdapterWidgetMgr::~CXFA_FWLAdapterWidgetMgr() = default; | 
 |  | 
 | void CXFA_FWLAdapterWidgetMgr::Trace(cppgc::Visitor* visitor) const {} | 
 |  | 
 | void CXFA_FWLAdapterWidgetMgr::RepaintWidget(CFWL_Widget* pWidget) { | 
 |   if (!pWidget) | 
 |     return; | 
 |  | 
 |   auto* pFFWidget = static_cast<CXFA_FFWidget*>(pWidget->GetAdapterIface()); | 
 |   if (!pFFWidget) | 
 |     return; | 
 |  | 
 |   pFFWidget->InvalidateRect(); | 
 | } | 
 |  | 
 | bool CXFA_FWLAdapterWidgetMgr::GetPopupPos(CFWL_Widget* pWidget, | 
 |                                            float fMinHeight, | 
 |                                            float fMaxHeight, | 
 |                                            const CFX_RectF& rtAnchor, | 
 |                                            CFX_RectF* pPopupRect) { | 
 |   auto* pFFWidget = static_cast<CXFA_FFWidget*>(pWidget->GetAdapterIface()); | 
 |   CFX_RectF rtRotateAnchor = | 
 |       pFFWidget->GetRotateMatrix().TransformRect(rtAnchor); | 
 |   pFFWidget->GetDoc()->GetPopupPos(pFFWidget, fMinHeight, fMaxHeight, | 
 |                                    rtRotateAnchor, pPopupRect); | 
 |   return true; | 
 | } |