14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2016 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 "fpdfsdk/cpdfsdk_baannothandler.h" 84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include <memory> 104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include <vector> 114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "core/fpdfapi/page/cpdf_page.h" 134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "core/fpdfapi/parser/cpdf_document.h" 144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "core/fpdfdoc/cpdf_interform.h" 154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "fpdfsdk/cpdfsdk_annot.h" 164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "fpdfsdk/cpdfsdk_baannot.h" 174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "fpdfsdk/cpdfsdk_pageview.h" 184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "fpdfsdk/formfiller/cffl_formfiller.h" 194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifdef PDF_ENABLE_XFA 214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "fpdfsdk/fpdfxfa/cpdfxfa_context.h" 224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif // PDF_ENABLE_XFA 234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannnamespace { 254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid UpdateAnnotRects(CPDFSDK_PageView* pPageView, CPDFSDK_BAAnnot* pBAAnnot) { 274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann std::vector<CFX_FloatRect> rects; 284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann rects.push_back(pBAAnnot->GetRect()); 294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (CPDF_Annot* pPopupAnnot = pBAAnnot->GetPDFPopupAnnot()) 304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann rects.push_back(pPopupAnnot->GetRect()); 314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann // Make the rects round up to avoid https://crbug.com/662804 334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann for (CFX_FloatRect& rect : rects) 344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann rect.Inflate(1, 1); 354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann pPageView->UpdateRects(rects); 374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} // namespace 404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPDFSDK_BAAnnotHandler::CPDFSDK_BAAnnotHandler() {} 424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPDFSDK_BAAnnotHandler::~CPDFSDK_BAAnnotHandler() {} 444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::CanAnswer(CPDFSDK_Annot* pAnnot) { 464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPDFSDK_Annot* CPDFSDK_BAAnnotHandler::NewAnnot(CPDF_Annot* pAnnot, 504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_PageView* pPage) { 514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return new CPDFSDK_BAAnnot(pAnnot, pPage); 524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifdef PDF_ENABLE_XFA 554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCPDFSDK_Annot* CPDFSDK_BAAnnotHandler::NewAnnot(CXFA_FFWidget* hWidget, 564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_PageView* pPage) { 574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return nullptr; 584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif // PDF_ENABLE_XFA 604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CPDFSDK_BAAnnotHandler::ReleaseAnnot(CPDFSDK_Annot* pAnnot) { 624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann delete pAnnot; 634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 644d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CPDFSDK_BAAnnotHandler::OnDraw(CPDFSDK_PageView* pPageView, 664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot* pAnnot, 674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_RenderDevice* pDevice, 684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CFX_Matrix* pUser2Device, 694d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann bool bDrawAnnots) { 704d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifdef PDF_ENABLE_XFA 714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (pAnnot->IsXFAField()) 724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return; 734d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif // PDF_ENABLE_XFA 744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann if (bDrawAnnots && pAnnot->GetAnnotSubtype() == CPDF_Annot::Subtype::POPUP) { 754d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann static_cast<CPDFSDK_BAAnnot*>(pAnnot)->DrawAppearance( 764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann pDevice, pUser2Device, CPDF_Annot::Normal, nullptr); 774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann } 784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CPDFSDK_BAAnnotHandler::OnMouseEnter(CPDFSDK_PageView* pPageView, 814d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 824d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlag) { 834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_BAAnnot* pBAAnnot = static_cast<CPDFSDK_BAAnnot*>(pAnnot->Get()); 844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann pBAAnnot->SetOpenState(true); 854d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann UpdateAnnotRects(pPageView, pBAAnnot); 864d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CPDFSDK_BAAnnotHandler::OnMouseExit(CPDFSDK_PageView* pPageView, 894d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlag) { 914d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_BAAnnot* pBAAnnot = static_cast<CPDFSDK_BAAnnot*>(pAnnot->Get()); 924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann pBAAnnot->SetOpenState(false); 934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann UpdateAnnotRects(pPageView, pBAAnnot); 944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 954d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnLButtonDown(CPDFSDK_PageView* pPageView, 974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 984d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 9933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1014d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1024d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1034d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnLButtonUp(CPDFSDK_PageView* pPageView, 1044d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1054d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 10633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1074d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1084d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1094d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnLButtonDblClk(CPDFSDK_PageView* pPageView, 1114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 11333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnMouseMove(CPDFSDK_PageView* pPageView, 1184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 12033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnMouseWheel(CPDFSDK_PageView* pPageView, 1254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 1274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann short zDelta, 12833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnRButtonDown(CPDFSDK_PageView* pPageView, 1334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 13533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnRButtonUp(CPDFSDK_PageView* pPageView, 1404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 14233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnRButtonDblClk(CPDFSDK_PageView* pPageView, 1474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pAnnot, 1484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags, 14933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnChar(CPDFSDK_Annot* pAnnot, 1544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nChar, 1554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlags) { 1564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnKeyDown(CPDFSDK_Annot* pAnnot, 1604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann int nKeyCode, 1614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann int nFlag) { 1624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1644d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnKeyUp(CPDFSDK_Annot* pAnnot, 1664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann int nKeyCode, 1674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann int nFlag) { 1684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1694d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1704d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannvoid CPDFSDK_BAAnnotHandler::OnLoad(CPDFSDK_Annot* pAnnot) {} 1724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1734d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnSetFocus(CPDFSDK_Annot::ObservedPtr* pAnnot, 1744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlag) { 1754d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnKillFocus(CPDFSDK_Annot::ObservedPtr* pAnnot, 1794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann uint32_t nFlag) { 1804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return false; 1814d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1824d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifdef PDF_ENABLE_XFA 1844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::OnXFAChangedFocus( 1854d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pOldAnnot, 1864d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot::ObservedPtr* pNewAnnot) { 1874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return true; 1884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1894d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif // PDF_ENABLE_XFA 1904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1914d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. MoltmannCFX_FloatRect CPDFSDK_BAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView, 1924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot* pAnnot) { 1934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return pAnnot->GetRect(); 1944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 1954d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannbool CPDFSDK_BAAnnotHandler::HitTest(CPDFSDK_PageView* pPageView, 1974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann CPDFSDK_Annot* pAnnot, 19833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann const CFX_PointF& point) { 1994d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ASSERT(pPageView); 2004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ASSERT(pAnnot); 20133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann return GetViewBBox(pPageView, pAnnot).Contains(point); 2024d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann} 203