OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "fpdfsdk/include/fsdk_annothandler.h" | 7 #include "fpdfsdk/include/fsdk_annothandler.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" | 12 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" |
13 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" | 13 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" |
14 #include "fpdfsdk/formfiller/cffl_formfiller.h" | 14 #include "fpdfsdk/formfiller/cffl_formfiller.h" |
15 #include "fpdfsdk/include/fsdk_define.h" | 15 #include "fpdfsdk/include/fsdk_define.h" |
16 #include "fpdfsdk/include/fsdk_mgr.h" | 16 #include "fpdfsdk/include/fsdk_mgr.h" |
17 | 17 |
18 #ifdef PDF_ENABLE_XFA | 18 #ifdef PDF_ENABLE_XFA |
19 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h" | 19 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h" |
20 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_page.h" | 20 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_page.h" |
21 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h" | 21 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h" |
| 22 #include "xfa/fwl/core/include/fwl_widgethit.h" |
22 #include "xfa/fxfa/include/xfa_ffwidget.h" | 23 #include "xfa/fxfa/include/xfa_ffwidget.h" |
23 #include "xfa/fxgraphics/include/cfx_graphics.h" | 24 #include "xfa/fxgraphics/include/cfx_graphics.h" |
24 #endif // PDF_ENABLE_XFA | 25 #endif // PDF_ENABLE_XFA |
25 | 26 |
26 CPDFSDK_AnnotHandlerMgr::CPDFSDK_AnnotHandlerMgr(CPDFDoc_Environment* pApp) { | 27 CPDFSDK_AnnotHandlerMgr::CPDFSDK_AnnotHandlerMgr(CPDFDoc_Environment* pApp) { |
27 m_pApp = pApp; | 28 m_pApp = pApp; |
28 | 29 |
29 CPDFSDK_BFAnnotHandler* pHandler = new CPDFSDK_BFAnnotHandler(m_pApp); | 30 CPDFSDK_BFAnnotHandler* pHandler = new CPDFSDK_BFAnnotHandler(m_pApp); |
30 pHandler->SetFormFiller(m_pApp->GetIFormFiller()); | 31 pHandler->SetFormFiller(m_pApp->GetIFormFiller()); |
31 RegisterAnnotHandler(pHandler); | 32 RegisterAnnotHandler(pHandler); |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 CPDFSDK_Annot* pAnnot, | 717 CPDFSDK_Annot* pAnnot, |
717 const CFX_FloatPoint& point) { | 718 const CFX_FloatPoint& point) { |
718 ASSERT(pPageView); | 719 ASSERT(pPageView); |
719 ASSERT(pAnnot); | 720 ASSERT(pAnnot); |
720 | 721 |
721 CFX_FloatRect rect = GetViewBBox(pPageView, pAnnot); | 722 CFX_FloatRect rect = GetViewBBox(pPageView, pAnnot); |
722 return rect.Contains(point.x, point.y); | 723 return rect.Contains(point.x, point.y); |
723 } | 724 } |
724 | 725 |
725 #ifdef PDF_ENABLE_XFA | 726 #ifdef PDF_ENABLE_XFA |
726 #define FWL_WGTHITTEST_Unknown 0 | |
727 #define FWL_WGTHITTEST_Client 1 // arrow | |
728 #define FWL_WGTHITTEST_Titlebar 11 // caption | |
729 #define FWL_WGTHITTEST_HScrollBar 15 | |
730 #define FWL_WGTHITTEST_VScrollBar 16 | |
731 #define FWL_WGTHITTEST_Border 17 | |
732 #define FWL_WGTHITTEST_Edit 19 | |
733 #define FWL_WGTHITTEST_HyperLink 20 | |
734 | 727 |
735 CPDFSDK_XFAAnnotHandler::CPDFSDK_XFAAnnotHandler(CPDFDoc_Environment* pApp) | 728 CPDFSDK_XFAAnnotHandler::CPDFSDK_XFAAnnotHandler(CPDFDoc_Environment* pApp) |
736 : m_pApp(pApp) {} | 729 : m_pApp(pApp) {} |
737 | 730 |
738 CPDFSDK_Annot* CPDFSDK_XFAAnnotHandler::NewAnnot(CXFA_FFWidget* pAnnot, | 731 CPDFSDK_Annot* CPDFSDK_XFAAnnotHandler::NewAnnot(CXFA_FFWidget* pAnnot, |
739 CPDFSDK_PageView* pPage) { | 732 CPDFSDK_PageView* pPage) { |
740 CPDFSDK_Document* pSDKDoc = m_pApp->GetSDKDocument(); | 733 CPDFSDK_Document* pSDKDoc = m_pApp->GetSDKDocument(); |
741 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pSDKDoc->GetInterForm(); | 734 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pSDKDoc->GetInterForm(); |
742 CPDFSDK_XFAWidget* pWidget = new CPDFSDK_XFAWidget(pAnnot, pPage, pInterForm); | 735 CPDFSDK_XFAWidget* pWidget = new CPDFSDK_XFAWidget(pAnnot, pPage, pInterForm); |
743 pInterForm->AddXFAMap(pAnnot, pWidget); | 736 pInterForm->AddXFAMap(pAnnot, pWidget); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
818 return FALSE; | 811 return FALSE; |
819 | 812 |
820 CXFA_FFDocView* pDocView = pDoc->GetXFADocView(); | 813 CXFA_FFDocView* pDocView = pDoc->GetXFADocView(); |
821 if (!pDocView) | 814 if (!pDocView) |
822 return FALSE; | 815 return FALSE; |
823 | 816 |
824 CXFA_FFWidgetHandler* pWidgetHandler = pDocView->GetWidgetHandler(); | 817 CXFA_FFWidgetHandler* pWidgetHandler = pDocView->GetWidgetHandler(); |
825 if (!pWidgetHandler) | 818 if (!pWidgetHandler) |
826 return FALSE; | 819 return FALSE; |
827 | 820 |
828 uint32_t dwHitTest = | 821 FWL_WidgetHit dwHitTest = |
829 pWidgetHandler->OnHitTest(pAnnot->GetXFAWidget(), point.x, point.y); | 822 pWidgetHandler->OnHitTest(pAnnot->GetXFAWidget(), point.x, point.y); |
830 return (dwHitTest != FWL_WGTHITTEST_Unknown); | 823 return dwHitTest != FWL_WidgetHit::Unknown; |
831 } | 824 } |
832 | 825 |
833 void CPDFSDK_XFAAnnotHandler::OnMouseEnter(CPDFSDK_PageView* pPageView, | 826 void CPDFSDK_XFAAnnotHandler::OnMouseEnter(CPDFSDK_PageView* pPageView, |
834 CPDFSDK_Annot* pAnnot, | 827 CPDFSDK_Annot* pAnnot, |
835 uint32_t nFlag) { | 828 uint32_t nFlag) { |
836 if (!pPageView || !pAnnot) | 829 if (!pPageView || !pAnnot) |
837 return; | 830 return; |
838 CXFA_FFWidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot); | 831 CXFA_FFWidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot); |
839 pWidgetHandler->OnMouseEnter(pAnnot->GetXFAWidget()); | 832 pWidgetHandler->OnMouseEnter(pAnnot->GetXFAWidget()); |
840 } | 833 } |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1100 | 1093 |
1101 CPDFSDK_Annot* CPDFSDK_AnnotIterator::PrevAnnot() { | 1094 CPDFSDK_Annot* CPDFSDK_AnnotIterator::PrevAnnot() { |
1102 if (m_pos < m_iteratorAnnotList.size()) | 1095 if (m_pos < m_iteratorAnnotList.size()) |
1103 return m_iteratorAnnotList[m_iteratorAnnotList.size() - ++m_pos]; | 1096 return m_iteratorAnnotList[m_iteratorAnnotList.size() - ++m_pos]; |
1104 return nullptr; | 1097 return nullptr; |
1105 } | 1098 } |
1106 | 1099 |
1107 CPDFSDK_Annot* CPDFSDK_AnnotIterator::Next() { | 1100 CPDFSDK_Annot* CPDFSDK_AnnotIterator::Next() { |
1108 return m_bReverse ? PrevAnnot() : NextAnnot(); | 1101 return m_bReverse ? PrevAnnot() : NextAnnot(); |
1109 } | 1102 } |
OLD | NEW |