| // Copyright 2016 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 "fpdfsdk/cpdfsdk_annot.h" | 
 |  | 
 | #include "core/fxcrt/check.h" | 
 | #include "fpdfsdk/cpdfsdk_pageview.h" | 
 |  | 
 | CPDFSDK_Annot::CPDFSDK_Annot(CPDFSDK_PageView* pPageView) | 
 |     : m_pPageView(pPageView) { | 
 |   DCHECK(m_pPageView); | 
 | } | 
 |  | 
 | CPDFSDK_Annot::~CPDFSDK_Annot() = default; | 
 |  | 
 | CPDFSDK_BAAnnot* CPDFSDK_Annot::AsBAAnnot() { | 
 |   return nullptr; | 
 | } | 
 |  | 
 | CPDFXFA_Widget* CPDFSDK_Annot::AsXFAWidget() { | 
 |   return nullptr; | 
 | } | 
 |  | 
 | // static | 
 | void CPDFSDK_Annot::OnMouseEnter(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                  Mask<FWL_EVENTFLAG> nFlags) { | 
 |   pAnnot->GetUnsafeInputHandlers()->OnMouseEnter(nFlags); | 
 | } | 
 |  | 
 | // static | 
 | void CPDFSDK_Annot::OnMouseExit(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                 Mask<FWL_EVENTFLAG> nFlags) { | 
 |   pAnnot->GetUnsafeInputHandlers()->OnMouseExit(nFlags); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnLButtonDown(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                   Mask<FWL_EVENTFLAG> nFlags, | 
 |                                   const CFX_PointF& point) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnLButtonDown(nFlags, point); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnLButtonUp(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                 Mask<FWL_EVENTFLAG> nFlags, | 
 |                                 const CFX_PointF& point) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnLButtonUp(nFlags, point); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnLButtonDblClk(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                     Mask<FWL_EVENTFLAG> nFlags, | 
 |                                     const CFX_PointF& point) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnLButtonDblClk(nFlags, point); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnMouseMove(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                 Mask<FWL_EVENTFLAG> nFlags, | 
 |                                 const CFX_PointF& point) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnMouseMove(nFlags, point); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnMouseWheel(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                  Mask<FWL_EVENTFLAG> nFlags, | 
 |                                  const CFX_PointF& point, | 
 |                                  const CFX_Vector& delta) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnMouseWheel(nFlags, point, delta); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnRButtonDown(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                   Mask<FWL_EVENTFLAG> nFlags, | 
 |                                   const CFX_PointF& point) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnRButtonDown(nFlags, point); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnRButtonUp(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                 Mask<FWL_EVENTFLAG> nFlags, | 
 |                                 const CFX_PointF& point) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnRButtonUp(nFlags, point); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnChar(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                            uint32_t nChar, | 
 |                            Mask<FWL_EVENTFLAG> nFlags) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnChar(nChar, nFlags); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnKeyDown(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                               FWL_VKEYCODE nKeyCode, | 
 |                               Mask<FWL_EVENTFLAG> nFlags) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnKeyDown(nKeyCode, nFlags); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnSetFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                Mask<FWL_EVENTFLAG> nFlags) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnSetFocus(nFlags); | 
 | } | 
 |  | 
 | // static | 
 | bool CPDFSDK_Annot::OnKillFocus(ObservedPtr<CPDFSDK_Annot>& pAnnot, | 
 |                                 Mask<FWL_EVENTFLAG> nFlags) { | 
 |   return pAnnot->GetUnsafeInputHandlers()->OnKillFocus(nFlags); | 
 | } | 
 |  | 
 | IPDF_Page* CPDFSDK_Annot::GetXFAPage() { | 
 | #ifdef PDF_ENABLE_XFA | 
 |   return m_pPageView->GetXFAPage(); | 
 | #else | 
 |   return nullptr; | 
 | #endif | 
 | } | 
 |  | 
 | int CPDFSDK_Annot::GetLayoutOrder() const { | 
 |   return 5; | 
 | } | 
 |  | 
 | CPDF_Annot* CPDFSDK_Annot::GetPDFAnnot() const { | 
 |   return nullptr; | 
 | } | 
 |  | 
 | IPDF_Page* CPDFSDK_Annot::GetPage() { | 
 | #ifdef PDF_ENABLE_XFA | 
 |   IPDF_Page* pXFAPage = GetXFAPage(); | 
 |   if (pXFAPage) | 
 |     return pXFAPage; | 
 | #endif  // PDF_ENABLE_XFA | 
 |   return GetPDFPage(); | 
 | } | 
 |  | 
 | CPDF_Page* CPDFSDK_Annot::GetPDFPage() { | 
 |   return m_pPageView->GetPDFPage(); | 
 | } |