Home | History | Annotate | Download | only in fpdfsdk
      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