| 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 "core/include/fxcrt/fx_ext.h" | 7 #include "core/include/fxcrt/fx_ext.h" |
| 8 #include "fpdfsdk/include/fsdk_baseannot.h" | 8 #include "fpdfsdk/include/fsdk_baseannot.h" |
| 9 #include "fpdfsdk/include/fsdk_define.h" | 9 #include "fpdfsdk/include/fsdk_define.h" |
| 10 #include "fpdfsdk/include/fsdk_mgr.h" | 10 #include "fpdfsdk/include/fsdk_mgr.h" |
| (...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 // Tab Order | 525 // Tab Order |
| 526 int CPDFSDK_Annot::GetTabOrder() { | 526 int CPDFSDK_Annot::GetTabOrder() { |
| 527 return m_nTabOrder; | 527 return m_nTabOrder; |
| 528 } | 528 } |
| 529 | 529 |
| 530 void CPDFSDK_Annot::SetTabOrder(int iTabOrder) { | 530 void CPDFSDK_Annot::SetTabOrder(int iTabOrder) { |
| 531 m_nTabOrder = iTabOrder; | 531 m_nTabOrder = iTabOrder; |
| 532 } | 532 } |
| 533 | 533 |
| 534 CPDF_Dictionary* CPDFSDK_BAAnnot::GetAnnotDict() const { | 534 CPDF_Dictionary* CPDFSDK_BAAnnot::GetAnnotDict() const { |
| 535 ASSERT(m_pAnnot != NULL); | |
| 536 | |
| 537 return m_pAnnot->GetAnnotDict(); | 535 return m_pAnnot->GetAnnotDict(); |
| 538 } | 536 } |
| 539 | 537 |
| 540 void CPDFSDK_BAAnnot::SetRect(const CPDF_Rect& rect) { | 538 void CPDFSDK_BAAnnot::SetRect(const CPDF_Rect& rect) { |
| 541 ASSERT(rect.right - rect.left >= GetMinWidth()); | 539 ASSERT(rect.right - rect.left >= GetMinWidth()); |
| 542 ASSERT(rect.top - rect.bottom >= GetMinHeight()); | 540 ASSERT(rect.top - rect.bottom >= GetMinHeight()); |
| 543 | 541 |
| 544 m_pAnnot->GetAnnotDict()->SetAtRect("Rect", rect); | 542 m_pAnnot->GetAnnotDict()->SetAtRect("Rect", rect); |
| 545 } | 543 } |
| 546 | 544 |
| 547 CPDF_Rect CPDFSDK_BAAnnot::GetRect() const { | 545 CPDF_Rect CPDFSDK_BAAnnot::GetRect() const { |
| 548 ASSERT(m_pAnnot != NULL); | |
| 549 | |
| 550 CPDF_Rect rect; | 546 CPDF_Rect rect; |
| 551 m_pAnnot->GetRect(rect); | 547 m_pAnnot->GetRect(rect); |
| 552 | |
| 553 return rect; | 548 return rect; |
| 554 } | 549 } |
| 555 | 550 |
| 556 CFX_ByteString CPDFSDK_BAAnnot::GetType() const { | 551 CFX_ByteString CPDFSDK_BAAnnot::GetType() const { |
| 557 ASSERT(m_pAnnot != NULL); | |
| 558 | |
| 559 return m_pAnnot->GetSubType(); | 552 return m_pAnnot->GetSubType(); |
| 560 } | 553 } |
| 561 | 554 |
| 562 CFX_ByteString CPDFSDK_BAAnnot::GetSubType() const { | 555 CFX_ByteString CPDFSDK_BAAnnot::GetSubType() const { |
| 563 return ""; | 556 return ""; |
| 564 } | 557 } |
| 565 | 558 |
| 566 void CPDFSDK_BAAnnot::DrawAppearance(CFX_RenderDevice* pDevice, | 559 void CPDFSDK_BAAnnot::DrawAppearance(CFX_RenderDevice* pDevice, |
| 567 const CFX_Matrix* pUser2Device, | 560 const CFX_Matrix* pUser2Device, |
| 568 CPDF_Annot::AppearanceMode mode, | 561 CPDF_Annot::AppearanceMode mode, |
| 569 const CPDF_RenderOptions* pOptions) { | 562 const CPDF_RenderOptions* pOptions) { |
| 570 ASSERT(m_pPageView != NULL); | |
| 571 ASSERT(m_pAnnot != NULL); | |
| 572 | |
| 573 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Device, | 563 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Device, |
| 574 mode, pOptions); | 564 mode, pOptions); |
| 575 } | 565 } |
| 576 | 566 |
| 577 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid() { | 567 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid() { |
| 578 return m_pAnnot->GetAnnotDict()->GetDict("AP") != NULL; | 568 return m_pAnnot->GetAnnotDict()->GetDict("AP") != NULL; |
| 579 } | 569 } |
| 580 | 570 |
| 581 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode) { | 571 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode) { |
| 582 CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP"); | 572 CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP"); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 596 CPDF_Object* psub = pAP->GetElementValue(ap_entry); | 586 CPDF_Object* psub = pAP->GetElementValue(ap_entry); |
| 597 if (psub == NULL) | 587 if (psub == NULL) |
| 598 return FALSE; | 588 return FALSE; |
| 599 | 589 |
| 600 return TRUE; | 590 return TRUE; |
| 601 } | 591 } |
| 602 | 592 |
| 603 void CPDFSDK_BAAnnot::DrawBorder(CFX_RenderDevice* pDevice, | 593 void CPDFSDK_BAAnnot::DrawBorder(CFX_RenderDevice* pDevice, |
| 604 const CFX_Matrix* pUser2Device, | 594 const CFX_Matrix* pUser2Device, |
| 605 const CPDF_RenderOptions* pOptions) { | 595 const CPDF_RenderOptions* pOptions) { |
| 606 ASSERT(m_pAnnot != NULL); | |
| 607 m_pAnnot->DrawBorder(pDevice, pUser2Device, pOptions); | 596 m_pAnnot->DrawBorder(pDevice, pUser2Device, pOptions); |
| 608 } | 597 } |
| 609 | 598 |
| 610 void CPDFSDK_BAAnnot::ClearCachedAP() { | 599 void CPDFSDK_BAAnnot::ClearCachedAP() { |
| 611 ASSERT(m_pAnnot != NULL); | |
| 612 m_pAnnot->ClearCachedAP(); | 600 m_pAnnot->ClearCachedAP(); |
| 613 } | 601 } |
| 614 | 602 |
| 615 void CPDFSDK_BAAnnot::SetContents(const CFX_WideString& sContents) { | 603 void CPDFSDK_BAAnnot::SetContents(const CFX_WideString& sContents) { |
| 616 if (sContents.IsEmpty()) | 604 if (sContents.IsEmpty()) |
| 617 m_pAnnot->GetAnnotDict()->RemoveAt("Contents"); | 605 m_pAnnot->GetAnnotDict()->RemoveAt("Contents"); |
| 618 else | 606 else |
| 619 m_pAnnot->GetAnnotDict()->SetAtString("Contents", | 607 m_pAnnot->GetAnnotDict()->SetAtString("Contents", |
| 620 PDF_EncodeText(sContents)); | 608 PDF_EncodeText(sContents)); |
| 621 } | 609 } |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 941 | 929 |
| 942 void CPDFSDK_BAAnnot::RemoveAction() { | 930 void CPDFSDK_BAAnnot::RemoveAction() { |
| 943 m_pAnnot->GetAnnotDict()->RemoveAt("A"); | 931 m_pAnnot->GetAnnotDict()->RemoveAt("A"); |
| 944 } | 932 } |
| 945 | 933 |
| 946 CPDF_AAction CPDFSDK_BAAnnot::GetAAction() const { | 934 CPDF_AAction CPDFSDK_BAAnnot::GetAAction() const { |
| 947 return m_pAnnot->GetAnnotDict()->GetDict("AA"); | 935 return m_pAnnot->GetAnnotDict()->GetDict("AA"); |
| 948 } | 936 } |
| 949 | 937 |
| 950 void CPDFSDK_BAAnnot::SetAAction(const CPDF_AAction& aa) { | 938 void CPDFSDK_BAAnnot::SetAAction(const CPDF_AAction& aa) { |
| 951 ASSERT(aa != NULL); | |
| 952 | |
| 953 if ((CPDF_AAction&)aa != m_pAnnot->GetAnnotDict()->GetDict("AA")) | 939 if ((CPDF_AAction&)aa != m_pAnnot->GetAnnotDict()->GetDict("AA")) |
| 954 m_pAnnot->GetAnnotDict()->SetAt("AA", (CPDF_AAction&)aa); | 940 m_pAnnot->GetAnnotDict()->SetAt("AA", (CPDF_AAction&)aa); |
| 955 } | 941 } |
| 956 | 942 |
| 957 void CPDFSDK_BAAnnot::RemoveAAction() { | 943 void CPDFSDK_BAAnnot::RemoveAAction() { |
| 958 m_pAnnot->GetAnnotDict()->RemoveAt("AA"); | 944 m_pAnnot->GetAnnotDict()->RemoveAt("AA"); |
| 959 } | 945 } |
| 960 | 946 |
| 961 CPDF_Action CPDFSDK_BAAnnot::GetAAction(CPDF_AAction::AActionType eAAT) { | 947 CPDF_Action CPDFSDK_BAAnnot::GetAAction(CPDF_AAction::AActionType eAAT) { |
| 962 CPDF_AAction AAction = GetAAction(); | 948 CPDF_AAction AAction = GetAAction(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 998 return NULL; | 984 return NULL; |
| 999 } | 985 } |
| 1000 | 986 |
| 1001 #ifdef PDF_ENABLE_XFA | 987 #ifdef PDF_ENABLE_XFA |
| 1002 CPDFXFA_Page* CPDFSDK_Annot::GetPDFXFAPage() { | 988 CPDFXFA_Page* CPDFSDK_Annot::GetPDFXFAPage() { |
| 1003 if (m_pPageView) | 989 if (m_pPageView) |
| 1004 return m_pPageView->GetPDFXFAPage(); | 990 return m_pPageView->GetPDFXFAPage(); |
| 1005 return NULL; | 991 return NULL; |
| 1006 } | 992 } |
| 1007 #endif // PDF_ENABLE_XFA | 993 #endif // PDF_ENABLE_XFA |
| OLD | NEW |