1 // Copyright 2016 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #include "fpdfsdk/cpdfsdk_annot.h" 8 9 #include <algorithm> 10 11 #include "fpdfsdk/cpdfsdk_pageview.h" 12 #include "third_party/base/stl_util.h" 13 14 #ifdef PDF_ENABLE_XFA 15 #include "fpdfsdk/fpdfxfa/cpdfxfa_context.h" 16 #endif // PDF_ENABLE_XFA 17 18 namespace { 19 20 const float kMinWidth = 1.0f; 21 const float kMinHeight = 1.0f; 22 23 } // namespace 24 25 CPDFSDK_Annot::CPDFSDK_Annot(CPDFSDK_PageView* pPageView) 26 : m_pPageView(pPageView) {} 27 28 CPDFSDK_Annot::~CPDFSDK_Annot() {} 29 30 #ifdef PDF_ENABLE_XFA 31 32 bool CPDFSDK_Annot::IsXFAField() { 33 return false; 34 } 35 36 CXFA_FFWidget* CPDFSDK_Annot::GetXFAWidget() const { 37 return nullptr; 38 } 39 40 CPDFXFA_Page* CPDFSDK_Annot::GetPDFXFAPage() { 41 return m_pPageView ? m_pPageView->GetPDFXFAPage() : nullptr; 42 } 43 44 #endif // PDF_ENABLE_XFA 45 46 float CPDFSDK_Annot::GetMinWidth() const { 47 return kMinWidth; 48 } 49 50 float CPDFSDK_Annot::GetMinHeight() const { 51 return kMinHeight; 52 } 53 54 int CPDFSDK_Annot::GetLayoutOrder() const { 55 return 5; 56 } 57 58 CPDF_Annot* CPDFSDK_Annot::GetPDFAnnot() const { 59 return nullptr; 60 } 61 62 CPDF_Annot::Subtype CPDFSDK_Annot::GetAnnotSubtype() const { 63 return CPDF_Annot::Subtype::UNKNOWN; 64 } 65 66 bool CPDFSDK_Annot::IsSignatureWidget() const { 67 return false; 68 } 69 70 void CPDFSDK_Annot::SetRect(const CFX_FloatRect& rect) {} 71 72 CFX_FloatRect CPDFSDK_Annot::GetRect() const { 73 return CFX_FloatRect(); 74 } 75 76 UnderlyingPageType* CPDFSDK_Annot::GetUnderlyingPage() { 77 #ifdef PDF_ENABLE_XFA 78 return GetPDFXFAPage(); 79 #else // PDF_ENABLE_XFA 80 return GetPDFPage(); 81 #endif // PDF_ENABLE_XFA 82 } 83 84 CPDF_Page* CPDFSDK_Annot::GetPDFPage() { 85 return m_pPageView ? m_pPageView->GetPDFPage() : nullptr; 86 } 87