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 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 // Tab Order | 521 // Tab Order |
522 int CPDFSDK_Annot::GetTabOrder() { | 522 int CPDFSDK_Annot::GetTabOrder() { |
523 return m_nTabOrder; | 523 return m_nTabOrder; |
524 } | 524 } |
525 | 525 |
526 void CPDFSDK_Annot::SetTabOrder(int iTabOrder) { | 526 void CPDFSDK_Annot::SetTabOrder(int iTabOrder) { |
527 m_nTabOrder = iTabOrder; | 527 m_nTabOrder = iTabOrder; |
528 } | 528 } |
529 | 529 |
530 CPDF_Dictionary* CPDFSDK_BAAnnot::GetAnnotDict() const { | 530 CPDF_Dictionary* CPDFSDK_BAAnnot::GetAnnotDict() const { |
531 ASSERT(m_pAnnot != NULL); | |
532 | |
533 return m_pAnnot->GetAnnotDict(); | 531 return m_pAnnot->GetAnnotDict(); |
534 } | 532 } |
535 | 533 |
536 void CPDFSDK_BAAnnot::SetRect(const CPDF_Rect& rect) { | 534 void CPDFSDK_BAAnnot::SetRect(const CPDF_Rect& rect) { |
537 ASSERT(rect.right - rect.left >= GetMinWidth()); | 535 ASSERT(rect.right - rect.left >= GetMinWidth()); |
538 ASSERT(rect.top - rect.bottom >= GetMinHeight()); | 536 ASSERT(rect.top - rect.bottom >= GetMinHeight()); |
539 | 537 |
540 m_pAnnot->GetAnnotDict()->SetAtRect("Rect", rect); | 538 m_pAnnot->GetAnnotDict()->SetAtRect("Rect", rect); |
541 } | 539 } |
542 | 540 |
543 CPDF_Rect CPDFSDK_BAAnnot::GetRect() const { | 541 CPDF_Rect CPDFSDK_BAAnnot::GetRect() const { |
544 ASSERT(m_pAnnot != NULL); | |
545 | |
546 CPDF_Rect rect; | 542 CPDF_Rect rect; |
547 m_pAnnot->GetRect(rect); | 543 m_pAnnot->GetRect(rect); |
548 | |
549 return rect; | 544 return rect; |
550 } | 545 } |
551 | 546 |
552 CFX_ByteString CPDFSDK_BAAnnot::GetType() const { | 547 CFX_ByteString CPDFSDK_BAAnnot::GetType() const { |
553 ASSERT(m_pAnnot != NULL); | |
554 | |
555 return m_pAnnot->GetSubType(); | 548 return m_pAnnot->GetSubType(); |
556 } | 549 } |
557 | 550 |
558 CFX_ByteString CPDFSDK_BAAnnot::GetSubType() const { | 551 CFX_ByteString CPDFSDK_BAAnnot::GetSubType() const { |
559 return ""; | 552 return ""; |
560 } | 553 } |
561 | 554 |
562 void CPDFSDK_BAAnnot::DrawAppearance(CFX_RenderDevice* pDevice, | 555 void CPDFSDK_BAAnnot::DrawAppearance(CFX_RenderDevice* pDevice, |
563 const CFX_Matrix* pUser2Device, | 556 const CFX_Matrix* pUser2Device, |
564 CPDF_Annot::AppearanceMode mode, | 557 CPDF_Annot::AppearanceMode mode, |
565 const CPDF_RenderOptions* pOptions) { | 558 const CPDF_RenderOptions* pOptions) { |
566 ASSERT(m_pPageView != NULL); | |
567 ASSERT(m_pAnnot != NULL); | |
568 | |
569 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Device, | 559 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Device, |
570 mode, pOptions); | 560 mode, pOptions); |
571 } | 561 } |
572 | 562 |
573 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid() { | 563 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid() { |
574 return m_pAnnot->GetAnnotDict()->GetDict("AP") != NULL; | 564 return m_pAnnot->GetAnnotDict()->GetDict("AP") != NULL; |
575 } | 565 } |
576 | 566 |
577 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode) { | 567 FX_BOOL CPDFSDK_BAAnnot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode) { |
578 CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP"); | 568 CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP"); |
(...skipping 13 matching lines...) Expand all Loading... |
592 CPDF_Object* psub = pAP->GetElementValue(ap_entry); | 582 CPDF_Object* psub = pAP->GetElementValue(ap_entry); |
593 if (psub == NULL) | 583 if (psub == NULL) |
594 return FALSE; | 584 return FALSE; |
595 | 585 |
596 return TRUE; | 586 return TRUE; |
597 } | 587 } |
598 | 588 |
599 void CPDFSDK_BAAnnot::DrawBorder(CFX_RenderDevice* pDevice, | 589 void CPDFSDK_BAAnnot::DrawBorder(CFX_RenderDevice* pDevice, |
600 const CFX_Matrix* pUser2Device, | 590 const CFX_Matrix* pUser2Device, |
601 const CPDF_RenderOptions* pOptions) { | 591 const CPDF_RenderOptions* pOptions) { |
602 ASSERT(m_pAnnot != NULL); | |
603 m_pAnnot->DrawBorder(pDevice, pUser2Device, pOptions); | 592 m_pAnnot->DrawBorder(pDevice, pUser2Device, pOptions); |
604 } | 593 } |
605 | 594 |
606 void CPDFSDK_BAAnnot::ClearCachedAP() { | 595 void CPDFSDK_BAAnnot::ClearCachedAP() { |
607 ASSERT(m_pAnnot != NULL); | |
608 m_pAnnot->ClearCachedAP(); | 596 m_pAnnot->ClearCachedAP(); |
609 } | 597 } |
610 | 598 |
611 void CPDFSDK_BAAnnot::SetContents(const CFX_WideString& sContents) { | 599 void CPDFSDK_BAAnnot::SetContents(const CFX_WideString& sContents) { |
612 if (sContents.IsEmpty()) | 600 if (sContents.IsEmpty()) |
613 m_pAnnot->GetAnnotDict()->RemoveAt("Contents"); | 601 m_pAnnot->GetAnnotDict()->RemoveAt("Contents"); |
614 else | 602 else |
615 m_pAnnot->GetAnnotDict()->SetAtString("Contents", | 603 m_pAnnot->GetAnnotDict()->SetAtString("Contents", |
616 PDF_EncodeText(sContents)); | 604 PDF_EncodeText(sContents)); |
617 } | 605 } |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
937 | 925 |
938 void CPDFSDK_BAAnnot::RemoveAction() { | 926 void CPDFSDK_BAAnnot::RemoveAction() { |
939 m_pAnnot->GetAnnotDict()->RemoveAt("A"); | 927 m_pAnnot->GetAnnotDict()->RemoveAt("A"); |
940 } | 928 } |
941 | 929 |
942 CPDF_AAction CPDFSDK_BAAnnot::GetAAction() const { | 930 CPDF_AAction CPDFSDK_BAAnnot::GetAAction() const { |
943 return m_pAnnot->GetAnnotDict()->GetDict("AA"); | 931 return m_pAnnot->GetAnnotDict()->GetDict("AA"); |
944 } | 932 } |
945 | 933 |
946 void CPDFSDK_BAAnnot::SetAAction(const CPDF_AAction& aa) { | 934 void CPDFSDK_BAAnnot::SetAAction(const CPDF_AAction& aa) { |
947 ASSERT(aa != NULL); | |
948 | |
949 if ((CPDF_AAction&)aa != m_pAnnot->GetAnnotDict()->GetDict("AA")) | 935 if ((CPDF_AAction&)aa != m_pAnnot->GetAnnotDict()->GetDict("AA")) |
950 m_pAnnot->GetAnnotDict()->SetAt("AA", (CPDF_AAction&)aa); | 936 m_pAnnot->GetAnnotDict()->SetAt("AA", (CPDF_AAction&)aa); |
951 } | 937 } |
952 | 938 |
953 void CPDFSDK_BAAnnot::RemoveAAction() { | 939 void CPDFSDK_BAAnnot::RemoveAAction() { |
954 m_pAnnot->GetAnnotDict()->RemoveAt("AA"); | 940 m_pAnnot->GetAnnotDict()->RemoveAt("AA"); |
955 } | 941 } |
956 | 942 |
957 CPDF_Action CPDFSDK_BAAnnot::GetAAction(CPDF_AAction::AActionType eAAT) { | 943 CPDF_Action CPDFSDK_BAAnnot::GetAAction(CPDF_AAction::AActionType eAAT) { |
958 CPDF_AAction AAction = GetAAction(); | 944 CPDF_AAction AAction = GetAAction(); |
(...skipping 19 matching lines...) Expand all Loading... |
978 | 964 |
979 UnderlyingPageType* CPDFSDK_Annot::GetUnderlyingPage() { | 965 UnderlyingPageType* CPDFSDK_Annot::GetUnderlyingPage() { |
980 return GetPDFPage(); | 966 return GetPDFPage(); |
981 } | 967 } |
982 | 968 |
983 CPDF_Page* CPDFSDK_Annot::GetPDFPage() { | 969 CPDF_Page* CPDFSDK_Annot::GetPDFPage() { |
984 if (m_pPageView) | 970 if (m_pPageView) |
985 return m_pPageView->GetPDFPage(); | 971 return m_pPageView->GetPDFPage(); |
986 return NULL; | 972 return NULL; |
987 } | 973 } |
OLD | NEW |