14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved.
24d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
34d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// found in the LICENSE file.
44d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
54d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
64d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
74d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fxfa/app/xfa_fwladapter.h"
84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fxfa/app/xfa_fffield.h"
104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fxfa/xfa_ffdoc.h"
114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCXFA_FWLAdapterWidgetMgr::CXFA_FWLAdapterWidgetMgr() {}
134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCXFA_FWLAdapterWidgetMgr::~CXFA_FWLAdapterWidgetMgr() {}
154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CXFA_FWLAdapterWidgetMgr::RepaintWidget(CFWL_Widget* pWidget) {
174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  if (!pWidget)
184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    return;
194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  CXFA_FFWidget* pFFWidget = pWidget->GetLayoutItem();
214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  if (!pFFWidget)
224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann    return;
234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  pFFWidget->AddInvalidateRect(nullptr);
254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}
264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CXFA_FWLAdapterWidgetMgr::GetPopupPos(CFWL_Widget* pWidget,
284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                           FX_FLOAT fMinHeight,
294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                           FX_FLOAT fMaxHeight,
304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                           const CFX_RectF& rtAnchor,
314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                                           CFX_RectF& rtPopup) {
324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  CXFA_FFWidget* pFFWidget = pWidget->GetLayoutItem();
334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  CFX_RectF rtRotateAnchor(rtAnchor);
345ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  pFFWidget->GetRotateMatrix().TransformRect(rtRotateAnchor);
354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  pFFWidget->GetDoc()->GetDocEnvironment()->GetPopupPos(
364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann      pFFWidget, fMinHeight, fMaxHeight, rtRotateAnchor, rtPopup);
374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  return true;
384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}
39