Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: fpdfsdk/src/fsdk_baseannot.cpp

Issue 1157773012: Cleanup: Make CPDF_Annot::m_pAnnotDict private. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/src/fsdk_annothandler.cpp ('k') | fpdfsdk/src/fsdk_baseform.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "../include/fsdk_define.h" 7 #include "../include/fsdk_define.h"
8 #include "../include/fsdk_mgr.h" 8 #include "../include/fsdk_mgr.h"
9 #include "../include/fsdk_baseannot.h" 9 #include "../include/fsdk_baseannot.h"
10 10
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 557
558 void CPDFSDK_Annot::SetTabOrder(int iTabOrder) 558 void CPDFSDK_Annot::SetTabOrder(int iTabOrder)
559 { 559 {
560 m_nTabOrder = iTabOrder; 560 m_nTabOrder = iTabOrder;
561 } 561 }
562 562
563 CPDF_Dictionary* CPDFSDK_Annot::GetAnnotDict() const 563 CPDF_Dictionary* CPDFSDK_Annot::GetAnnotDict() const
564 { 564 {
565 ASSERT(m_pAnnot != NULL); 565 ASSERT(m_pAnnot != NULL);
566 566
567 » return m_pAnnot->m_pAnnotDict; 567 » return m_pAnnot->GetAnnotDict();
568 } 568 }
569 569
570 void CPDFSDK_Annot::SetRect(const CPDF_Rect& rect) 570 void CPDFSDK_Annot::SetRect(const CPDF_Rect& rect)
571 { 571 {
572 ASSERT(m_pAnnot != NULL);
573 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
574 ASSERT(rect.right - rect.left >= GetMinWidth()); 572 ASSERT(rect.right - rect.left >= GetMinWidth());
575 ASSERT(rect.top - rect.bottom >= GetMinHeight()); 573 ASSERT(rect.top - rect.bottom >= GetMinHeight());
576 574
577 » m_pAnnot->m_pAnnotDict->SetAtRect("Rect", rect); 575 » m_pAnnot->GetAnnotDict()->SetAtRect("Rect", rect);
578 } 576 }
579 577
580 CPDF_Rect CPDFSDK_Annot::GetRect() const 578 CPDF_Rect CPDFSDK_Annot::GetRect() const
581 { 579 {
582 ASSERT(m_pAnnot != NULL); 580 ASSERT(m_pAnnot != NULL);
583 581
584 CPDF_Rect rect; 582 CPDF_Rect rect;
585 m_pAnnot->GetRect(rect); 583 m_pAnnot->GetRect(rect);
586 584
587 return rect; 585 return rect;
(...skipping 15 matching lines...) Expand all
603 CPDF_Annot::A ppearanceMode mode, const CPDF_RenderOptions* pOptions) 601 CPDF_Annot::A ppearanceMode mode, const CPDF_RenderOptions* pOptions)
604 { 602 {
605 ASSERT(m_pPageView != NULL); 603 ASSERT(m_pPageView != NULL);
606 ASSERT(m_pAnnot != NULL); 604 ASSERT(m_pAnnot != NULL);
607 605
608 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Devic e, mode, pOptions); 606 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Devic e, mode, pOptions);
609 } 607 }
610 608
611 FX_BOOL CPDFSDK_Annot::IsAppearanceValid() 609 FX_BOOL CPDFSDK_Annot::IsAppearanceValid()
612 { 610 {
613 » ASSERT(m_pAnnot != NULL); 611 » return m_pAnnot->GetAnnotDict()->GetDict("AP") != NULL;
614 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
615 »
616 » return m_pAnnot->m_pAnnotDict->GetDict("AP") != NULL;
617 } 612 }
618 613
619 FX_BOOL CPDFSDK_Annot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode) 614 FX_BOOL CPDFSDK_Annot::IsAppearanceValid(CPDF_Annot::AppearanceMode mode)
620 { 615 {
621 » ASSERT(m_pAnnot != NULL); 616 » CPDF_Dictionary* pAP = m_pAnnot->GetAnnotDict()->GetDict("AP");
622 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
623 »
624 » CPDF_Dictionary* pAP = m_pAnnot->m_pAnnotDict->GetDict("AP");
625 if (pAP == NULL) return FALSE; 617 if (pAP == NULL) return FALSE;
626 618
627 // Choose the right sub-ap 619 // Choose the right sub-ap
628 const FX_CHAR* ap_entry = "N"; 620 const FX_CHAR* ap_entry = "N";
629 if (mode == CPDF_Annot::Down) 621 if (mode == CPDF_Annot::Down)
630 ap_entry = "D"; 622 ap_entry = "D";
631 else if (mode == CPDF_Annot::Rollover) 623 else if (mode == CPDF_Annot::Rollover)
632 ap_entry = "R"; 624 ap_entry = "R";
633 if (!pAP->KeyExist(ap_entry)) 625 if (!pAP->KeyExist(ap_entry))
634 ap_entry = "N"; 626 ap_entry = "N";
(...skipping 13 matching lines...) Expand all
648 } 640 }
649 641
650 void CPDFSDK_Annot::ClearCachedAP() 642 void CPDFSDK_Annot::ClearCachedAP()
651 { 643 {
652 ASSERT(m_pAnnot != NULL); 644 ASSERT(m_pAnnot != NULL);
653 m_pAnnot->ClearCachedAP(); 645 m_pAnnot->ClearCachedAP();
654 } 646 }
655 647
656 void CPDFSDK_Annot::SetContents(const CFX_WideString& sContents) 648 void CPDFSDK_Annot::SetContents(const CFX_WideString& sContents)
657 { 649 {
658 ASSERT(m_pAnnot != NULL);
659 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
660
661 if (sContents.IsEmpty()) 650 if (sContents.IsEmpty())
662 » » m_pAnnot->m_pAnnotDict->RemoveAt("Contents"); 651 » » m_pAnnot->GetAnnotDict()->RemoveAt("Contents");
663 else 652 else
664 » » m_pAnnot->m_pAnnotDict->SetAtString("Contents", PDF_EncodeText(s Contents)); 653 » » m_pAnnot->GetAnnotDict()->SetAtString("Contents", PDF_EncodeText (sContents));
665 } 654 }
666 655
667 CFX_WideString CPDFSDK_Annot::GetContents() const 656 CFX_WideString CPDFSDK_Annot::GetContents() const
668 { 657 {
669 » ASSERT(m_pAnnot != NULL); 658 » return m_pAnnot->GetAnnotDict()->GetUnicodeText("Contents");
670 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
671 »
672 » return m_pAnnot->m_pAnnotDict->GetUnicodeText("Contents");
673 } 659 }
674 660
675 void CPDFSDK_Annot::SetAnnotName(const CFX_WideString& sName) 661 void CPDFSDK_Annot::SetAnnotName(const CFX_WideString& sName)
676 { 662 {
677 ASSERT(m_pAnnot != NULL);
678 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
679
680 if (sName.IsEmpty()) 663 if (sName.IsEmpty())
681 » » m_pAnnot->m_pAnnotDict->RemoveAt("NM"); 664 » » m_pAnnot->GetAnnotDict()->RemoveAt("NM");
682 else 665 else
683 » » m_pAnnot->m_pAnnotDict->SetAtString("NM", PDF_EncodeText(sName)) ; 666 » » m_pAnnot->GetAnnotDict()->SetAtString("NM", PDF_EncodeText(sName ));
684 } 667 }
685 668
686 CFX_WideString CPDFSDK_Annot::GetAnnotName() const 669 CFX_WideString CPDFSDK_Annot::GetAnnotName() const
687 { 670 {
688 » ASSERT(m_pAnnot != NULL); 671 » return m_pAnnot->GetAnnotDict()->GetUnicodeText("NM");
689 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
690 »
691 » return m_pAnnot->m_pAnnotDict->GetUnicodeText("NM");
692 } 672 }
693 673
694 void CPDFSDK_Annot::SetModifiedDate(const FX_SYSTEMTIME& st) 674 void CPDFSDK_Annot::SetModifiedDate(const FX_SYSTEMTIME& st)
695 { 675 {
696 ASSERT(m_pAnnot != NULL);
697 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
698
699 CPDFSDK_DateTime dt(st); 676 CPDFSDK_DateTime dt(st);
700 CFX_ByteString str = dt.ToPDFDateTimeString(); 677 CFX_ByteString str = dt.ToPDFDateTimeString();
701 678
702 if (str.IsEmpty()) 679 if (str.IsEmpty())
703 » » m_pAnnot->m_pAnnotDict->RemoveAt("M"); 680 » » m_pAnnot->GetAnnotDict()->RemoveAt("M");
704 else 681 else
705 » » m_pAnnot->m_pAnnotDict->SetAtString("M", str); 682 » » m_pAnnot->GetAnnotDict()->SetAtString("M", str);
706 } 683 }
707 684
708 FX_SYSTEMTIME CPDFSDK_Annot::GetModifiedDate() const 685 FX_SYSTEMTIME CPDFSDK_Annot::GetModifiedDate() const
709 { 686 {
710 ASSERT(m_pAnnot != NULL);
711 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
712
713 FX_SYSTEMTIME systime; 687 FX_SYSTEMTIME systime;
714 » CFX_ByteString str = m_pAnnot->m_pAnnotDict->GetString("M"); 688 » CFX_ByteString str = m_pAnnot->GetAnnotDict()->GetString("M");
715 689
716 CPDFSDK_DateTime dt(str); 690 CPDFSDK_DateTime dt(str);
717 dt.ToSystemTime(systime); 691 dt.ToSystemTime(systime);
718 692
719 return systime; 693 return systime;
720 } 694 }
721 695
722 void CPDFSDK_Annot::SetFlags(int nFlags) 696 void CPDFSDK_Annot::SetFlags(int nFlags)
723 { 697 {
724 » ASSERT(m_pAnnot != NULL); 698 » m_pAnnot->GetAnnotDict()->SetAtInteger("F", nFlags);
725 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
726 »
727 » m_pAnnot->m_pAnnotDict->SetAtInteger("F", nFlags);
728 } 699 }
729 700
730 int CPDFSDK_Annot::GetFlags() const 701 int CPDFSDK_Annot::GetFlags() const
731 { 702 {
732 » ASSERT(m_pAnnot != NULL); 703 » return m_pAnnot->GetAnnotDict()->GetInteger("F");
733 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
734 »
735 » return m_pAnnot->m_pAnnotDict->GetInteger("F");
736 } 704 }
737 705
738 void CPDFSDK_Annot::SetAppState(const CFX_ByteString& str) 706 void CPDFSDK_Annot::SetAppState(const CFX_ByteString& str)
739 { 707 {
740 ASSERT(m_pAnnot != NULL);
741 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
742
743 if (str.IsEmpty()) 708 if (str.IsEmpty())
744 » » m_pAnnot->m_pAnnotDict->RemoveAt("AS"); 709 » » m_pAnnot->GetAnnotDict()->RemoveAt("AS");
745 else 710 else
746 » » m_pAnnot->m_pAnnotDict->SetAtString("AS", str); 711 » » m_pAnnot->GetAnnotDict()->SetAtString("AS", str);
747 } 712 }
748 713
749 CFX_ByteString CPDFSDK_Annot::GetAppState() const 714 CFX_ByteString CPDFSDK_Annot::GetAppState() const
750 { 715 {
751 » ASSERT(m_pAnnot != NULL); 716 » return m_pAnnot->GetAnnotDict()->GetString("AS");
752 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
753
754 » return m_pAnnot->m_pAnnotDict->GetString("AS");
755 } 717 }
756 718
757 void CPDFSDK_Annot::SetStructParent(int key) 719 void CPDFSDK_Annot::SetStructParent(int key)
758 { 720 {
759 » ASSERT(m_pAnnot != NULL); 721 » m_pAnnot->GetAnnotDict()->SetAtInteger("StructParent", key);
760 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
761 »
762 » m_pAnnot->m_pAnnotDict->SetAtInteger("StructParent", key);
763 } 722 }
764 723
765 int CPDFSDK_Annot::GetStructParent() const 724 int CPDFSDK_Annot::GetStructParent() const
766 { 725 {
767 » ASSERT(m_pAnnot != NULL); 726 » return m_pAnnot->GetAnnotDict()->GetInteger("StructParent");
768 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
769 »
770 » return m_pAnnot->m_pAnnotDict->GetInteger("StructParent");
771 } 727 }
772 728
773 //border 729 //border
774 void CPDFSDK_Annot::SetBorderWidth(int nWidth) 730 void CPDFSDK_Annot::SetBorderWidth(int nWidth)
775 { 731 {
776 » ASSERT(m_pAnnot != NULL); 732 » CPDF_Array* pBorder = m_pAnnot->GetAnnotDict()->GetArray("Border");
777 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
778
779 » CPDF_Array* pBorder = m_pAnnot->m_pAnnotDict->GetArray("Border");
780 733
781 if (pBorder) 734 if (pBorder)
782 { 735 {
783 pBorder->SetAt(2, new CPDF_Number(nWidth)); 736 pBorder->SetAt(2, new CPDF_Number(nWidth));
784 } 737 }
785 else 738 else
786 { 739 {
787 » » CPDF_Dictionary* pBSDict = m_pAnnot->m_pAnnotDict->GetDict("BS") ; 740 » » CPDF_Dictionary* pBSDict = m_pAnnot->GetAnnotDict()->GetDict("BS ");
788 741
789 if (!pBSDict) 742 if (!pBSDict)
790 { 743 {
791 pBSDict = new CPDF_Dictionary; 744 pBSDict = new CPDF_Dictionary;
792 » » » m_pAnnot->m_pAnnotDict->SetAt("BS", pBSDict); 745 » » » m_pAnnot->GetAnnotDict()->SetAt("BS", pBSDict);
793 } 746 }
794 747
795 pBSDict->SetAtInteger("W", nWidth); 748 pBSDict->SetAtInteger("W", nWidth);
796 } 749 }
797 } 750 }
798 751
799 int CPDFSDK_Annot::GetBorderWidth() const 752 int CPDFSDK_Annot::GetBorderWidth() const
800 { 753 {
801 » ASSERT(m_pAnnot != NULL); 754 » CPDF_Array* pBorder = m_pAnnot->GetAnnotDict()->GetArray("Border");
802 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
803
804 » CPDF_Array* pBorder = m_pAnnot->m_pAnnotDict->GetArray("Border");
805 755
806 if (pBorder) 756 if (pBorder)
807 { 757 {
808 return pBorder->GetInteger(2); 758 return pBorder->GetInteger(2);
809 } 759 }
810 else 760 else
811 { 761 {
812 » » CPDF_Dictionary* pBSDict = m_pAnnot->m_pAnnotDict->GetDict("BS") ; 762 » » CPDF_Dictionary* pBSDict = m_pAnnot->GetAnnotDict()->GetDict("BS ");
813 763
814 if (pBSDict) 764 if (pBSDict)
815 { 765 {
816 return pBSDict->GetInteger("W", 1); 766 return pBSDict->GetInteger("W", 1);
817 } 767 }
818 } 768 }
819 return 1; 769 return 1;
820 } 770 }
821 771
822 void CPDFSDK_Annot::SetBorderStyle(int nStyle) 772 void CPDFSDK_Annot::SetBorderStyle(int nStyle)
823 { 773 {
824 » ASSERT(m_pAnnot != NULL); 774 » CPDF_Dictionary* pBSDict = m_pAnnot->GetAnnotDict()->GetDict("BS");
825 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
826
827 » CPDF_Dictionary* pBSDict = m_pAnnot->m_pAnnotDict->GetDict("BS");
828 if (!pBSDict) 775 if (!pBSDict)
829 { 776 {
830 pBSDict = new CPDF_Dictionary; 777 pBSDict = new CPDF_Dictionary;
831 » » m_pAnnot->m_pAnnotDict->SetAt("BS", pBSDict); 778 » » m_pAnnot->GetAnnotDict()->SetAt("BS", pBSDict);
832 } 779 }
833 780
834 switch (nStyle) 781 switch (nStyle)
835 { 782 {
836 case BBS_SOLID: 783 case BBS_SOLID:
837 pBSDict->SetAtName("S", "S"); 784 pBSDict->SetAtName("S", "S");
838 break; 785 break;
839 case BBS_DASH: 786 case BBS_DASH:
840 pBSDict->SetAtName("S", "D"); 787 pBSDict->SetAtName("S", "D");
841 break; 788 break;
842 case BBS_BEVELED: 789 case BBS_BEVELED:
843 pBSDict->SetAtName("S", "B"); 790 pBSDict->SetAtName("S", "B");
844 break; 791 break;
845 case BBS_INSET: 792 case BBS_INSET:
846 pBSDict->SetAtName("S", "I"); 793 pBSDict->SetAtName("S", "I");
847 break; 794 break;
848 case BBS_UNDERLINE: 795 case BBS_UNDERLINE:
849 pBSDict->SetAtName("S", "U"); 796 pBSDict->SetAtName("S", "U");
850 break; 797 break;
851 } 798 }
852 } 799 }
853 800
854 int CPDFSDK_Annot::GetBorderStyle() const 801 int CPDFSDK_Annot::GetBorderStyle() const
855 { 802 {
856 » ASSERT(m_pAnnot != NULL); 803 » CPDF_Dictionary* pBSDict = m_pAnnot->GetAnnotDict()->GetDict("BS");
857 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
858
859 » CPDF_Dictionary* pBSDict = m_pAnnot->m_pAnnotDict->GetDict("BS");
860 if (pBSDict) 804 if (pBSDict)
861 { 805 {
862 CFX_ByteString sBorderStyle = pBSDict->GetString("S", "S"); 806 CFX_ByteString sBorderStyle = pBSDict->GetString("S", "S");
863 if (sBorderStyle == "S") return BBS_SOLID; 807 if (sBorderStyle == "S") return BBS_SOLID;
864 if (sBorderStyle == "D") return BBS_DASH; 808 if (sBorderStyle == "D") return BBS_DASH;
865 if (sBorderStyle == "B") return BBS_BEVELED; 809 if (sBorderStyle == "B") return BBS_BEVELED;
866 if (sBorderStyle == "I") return BBS_INSET; 810 if (sBorderStyle == "I") return BBS_INSET;
867 if (sBorderStyle == "U") return BBS_UNDERLINE; 811 if (sBorderStyle == "U") return BBS_UNDERLINE;
868 } 812 }
869 813
870 » CPDF_Array* pBorder = m_pAnnot->m_pAnnotDict->GetArray("Border"); 814 » CPDF_Array* pBorder = m_pAnnot->GetAnnotDict()->GetArray("Border");
871 if (pBorder) 815 if (pBorder)
872 { 816 {
873 if (pBorder->GetCount() >= 4) 817 if (pBorder->GetCount() >= 4)
874 { 818 {
875 CPDF_Array *pDP = pBorder->GetArray(3); 819 CPDF_Array *pDP = pBorder->GetArray(3);
876 if (pDP && pDP->GetCount() > 0) 820 if (pDP && pDP->GetCount() > 0)
877 return BBS_DASH; 821 return BBS_DASH;
878 } 822 }
879 } 823 }
880 824
881 return BBS_SOLID; 825 return BBS_SOLID;
882 } 826 }
883 827
884 void CPDFSDK_Annot::SetBorderDash(const CFX_IntArray& array) 828 void CPDFSDK_Annot::SetBorderDash(const CFX_IntArray& array)
885 { 829 {
886 » ASSERT(m_pAnnot != NULL); 830 » CPDF_Dictionary* pBSDict = m_pAnnot->GetAnnotDict()->GetDict("BS");
887 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
888
889 » CPDF_Dictionary* pBSDict = m_pAnnot->m_pAnnotDict->GetDict("BS");
890 if (!pBSDict) 831 if (!pBSDict)
891 { 832 {
892 pBSDict = new CPDF_Dictionary; 833 pBSDict = new CPDF_Dictionary;
893 » » m_pAnnot->m_pAnnotDict->SetAt("BS", pBSDict); 834 » » m_pAnnot->GetAnnotDict()->SetAt("BS", pBSDict);
894 } 835 }
895 836
896 CPDF_Array* pArray = new CPDF_Array; 837 CPDF_Array* pArray = new CPDF_Array;
897 for (int i=0,sz=array.GetSize(); i<sz; i++) 838 for (int i=0,sz=array.GetSize(); i<sz; i++)
898 { 839 {
899 pArray->AddInteger(array[i]); 840 pArray->AddInteger(array[i]);
900 } 841 }
901 842
902 pBSDict->SetAt("D", pArray); 843 pBSDict->SetAt("D", pArray);
903 } 844 }
904 845
905 void CPDFSDK_Annot::GetBorderDash(CFX_IntArray& array) const 846 void CPDFSDK_Annot::GetBorderDash(CFX_IntArray& array) const
906 { 847 {
907 ASSERT(m_pAnnot != NULL);
908 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
909
910 CPDF_Array* pDash = NULL; 848 CPDF_Array* pDash = NULL;
911 849
912 » CPDF_Array* pBorder = m_pAnnot->m_pAnnotDict->GetArray("Border"); 850 » CPDF_Array* pBorder = m_pAnnot->GetAnnotDict()->GetArray("Border");
913 if (pBorder) 851 if (pBorder)
914 { 852 {
915 pDash = pBorder->GetArray(3); 853 pDash = pBorder->GetArray(3);
916 } 854 }
917 else 855 else
918 { 856 {
919 » » CPDF_Dictionary* pBSDict = m_pAnnot->m_pAnnotDict->GetDict("BS") ; 857 » » CPDF_Dictionary* pBSDict = m_pAnnot->GetAnnotDict()->GetDict("BS ");
920 if (pBSDict) 858 if (pBSDict)
921 { 859 {
922 pDash = pBSDict->GetArray("D"); 860 pDash = pBSDict->GetArray("D");
923 } 861 }
924 } 862 }
925 863
926 if (pDash) 864 if (pDash)
927 { 865 {
928 for (int i=0,sz=pDash->GetCount(); i<sz; i++) 866 for (int i=0,sz=pDash->GetCount(); i<sz; i++)
929 { 867 {
930 array.Add(pDash->GetInteger(i)); 868 array.Add(pDash->GetInteger(i));
931 } 869 }
932 } 870 }
933 } 871 }
934 872
935 void CPDFSDK_Annot::SetColor(FX_COLORREF color) 873 void CPDFSDK_Annot::SetColor(FX_COLORREF color)
936 { 874 {
937 ASSERT(m_pAnnot != NULL);
938 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
939
940 CPDF_Array* pArray = new CPDF_Array; 875 CPDF_Array* pArray = new CPDF_Array;
941 pArray->AddNumber((FX_FLOAT)FXSYS_GetRValue(color) / 255.0f); 876 pArray->AddNumber((FX_FLOAT)FXSYS_GetRValue(color) / 255.0f);
942 pArray->AddNumber((FX_FLOAT)FXSYS_GetGValue(color) / 255.0f); 877 pArray->AddNumber((FX_FLOAT)FXSYS_GetGValue(color) / 255.0f);
943 pArray->AddNumber((FX_FLOAT)FXSYS_GetBValue(color) / 255.0f); 878 pArray->AddNumber((FX_FLOAT)FXSYS_GetBValue(color) / 255.0f);
944 » m_pAnnot->m_pAnnotDict->SetAt("C", pArray); 879 » m_pAnnot->GetAnnotDict()->SetAt("C", pArray);
945 } 880 }
946 881
947 void CPDFSDK_Annot::RemoveColor() 882 void CPDFSDK_Annot::RemoveColor()
948 { 883 {
949 » ASSERT(m_pAnnot != NULL); 884 » m_pAnnot->GetAnnotDict()->RemoveAt("C");
950 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
951
952 » m_pAnnot->m_pAnnotDict->RemoveAt("C") ;
953 } 885 }
954 886
955 FX_BOOL CPDFSDK_Annot::GetColor(FX_COLORREF& color) const 887 FX_BOOL CPDFSDK_Annot::GetColor(FX_COLORREF& color) const
956 { 888 {
957 » ASSERT(m_pAnnot != NULL); 889 » if (CPDF_Array* pEntry = m_pAnnot->GetAnnotDict()->GetArray("C"))
958 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
959
960 » if (CPDF_Array* pEntry = m_pAnnot->m_pAnnotDict->GetArray("C"))»»
961 { 890 {
962 int nCount = pEntry->GetCount(); 891 int nCount = pEntry->GetCount();
963 if (nCount == 1) 892 if (nCount == 1)
964 { 893 {
965 FX_FLOAT g = pEntry->GetNumber(0) * 255; 894 FX_FLOAT g = pEntry->GetNumber(0) * 255;
966 895
967 color = FXSYS_RGB((int)g, (int)g, (int)g); 896 color = FXSYS_RGB((int)g, (int)g, (int)g);
968 897
969 return TRUE; 898 return TRUE;
970 } 899 }
(...skipping 25 matching lines...) Expand all
996 } 925 }
997 926
998 return FALSE; 927 return FALSE;
999 } 928 }
1000 929
1001 930
1002 void CPDFSDK_Annot::WriteAppearance(const CFX_ByteString& sAPType, const CPDF_Re ct& rcBBox, 931 void CPDFSDK_Annot::WriteAppearance(const CFX_ByteString& sAPType, const CPDF_Re ct& rcBBox,
1003 const CPDF_Matri x& matrix, const CFX_ByteString& sContents, 932 const CPDF_Matri x& matrix, const CFX_ByteString& sContents,
1004 const CFX_ByteSt ring& sAPState) 933 const CFX_ByteSt ring& sAPState)
1005 { 934 {
1006 » ASSERT(m_pAnnot != NULL); 935 » CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDict("AP");
1007 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
1008 »
1009 » CPDF_Dictionary* pAPDict = m_pAnnot->m_pAnnotDict->GetDict("AP");
1010 936
1011 if (!pAPDict) 937 if (!pAPDict)
1012 { 938 {
1013 pAPDict = new CPDF_Dictionary; 939 pAPDict = new CPDF_Dictionary;
1014 » » m_pAnnot->m_pAnnotDict->SetAt("AP", pAPDict); 940 » » m_pAnnot->GetAnnotDict()->SetAt("AP", pAPDict);
1015 } 941 }
1016 942
1017 CPDF_Stream* pStream = NULL; 943 CPDF_Stream* pStream = NULL;
1018 CPDF_Dictionary* pParentDict = NULL; 944 CPDF_Dictionary* pParentDict = NULL;
1019 945
1020 if (sAPState.IsEmpty()) 946 if (sAPState.IsEmpty())
1021 { 947 {
1022 pParentDict = pAPDict; 948 pParentDict = pAPDict;
1023 pStream = pAPDict->GetStream(sAPType); 949 pStream = pAPDict->GetStream(sAPType);
1024 } 950 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 return TRUE; 1006 return TRUE;
1081 } 1007 }
1082 FX_BOOL CPDFSDK_Annot::IsVisible() const 1008 FX_BOOL CPDFSDK_Annot::IsVisible() const
1083 { 1009 {
1084 int nFlags = GetFlags(); 1010 int nFlags = GetFlags();
1085 return !((nFlags & ANNOTFLAG_INVISIBLE) || (nFlags & ANNOTFLAG_HIDDEN) | | (nFlags & ANNOTFLAG_NOVIEW)); 1011 return !((nFlags & ANNOTFLAG_INVISIBLE) || (nFlags & ANNOTFLAG_HIDDEN) | | (nFlags & ANNOTFLAG_NOVIEW));
1086 } 1012 }
1087 1013
1088 CPDF_Action CPDFSDK_Annot::GetAction() const 1014 CPDF_Action CPDFSDK_Annot::GetAction() const
1089 { 1015 {
1090 » return CPDF_Action(m_pAnnot->m_pAnnotDict->GetDict("A")); 1016 » return CPDF_Action(m_pAnnot->GetAnnotDict()->GetDict("A"));
1091 } 1017 }
1092 1018
1093 void CPDFSDK_Annot::SetAction(const CPDF_Action& action) 1019 void CPDFSDK_Annot::SetAction(const CPDF_Action& action)
1094 { 1020 {
1095 ASSERT(action); 1021 ASSERT(action);
1096 » if ((CPDF_Action&)action != CPDF_Action(m_pAnnot->m_pAnnotDict->GetDict( "A"))) 1022 » if ((CPDF_Action&)action != CPDF_Action(m_pAnnot->GetAnnotDict()->GetDic t("A")))
1097 { 1023 {
1098 CPDF_Document* pDoc = m_pPageView->GetPDFDocument(); 1024 CPDF_Document* pDoc = m_pPageView->GetPDFDocument();
1099 CPDF_Dictionary* pDict = action.GetDict(); 1025 CPDF_Dictionary* pDict = action.GetDict();
1100 if (pDict && pDict->GetObjNum() == 0) { 1026 if (pDict && pDict->GetObjNum() == 0) {
1101 pDoc->AddIndirectObject(pDict); 1027 pDoc->AddIndirectObject(pDict);
1102 } 1028 }
1103 » » m_pAnnot->m_pAnnotDict->SetAtReference("A", pDoc, pDict->GetObjN um()); 1029 » » m_pAnnot->GetAnnotDict()->SetAtReference("A", pDoc, pDict->GetOb jNum());
1104 } 1030 }
1105 } 1031 }
1106 1032
1107 void CPDFSDK_Annot::RemoveAction() 1033 void CPDFSDK_Annot::RemoveAction()
1108 { 1034 {
1109 » m_pAnnot->m_pAnnotDict->RemoveAt("A"); 1035 » m_pAnnot->GetAnnotDict()->RemoveAt("A");
1110 } 1036 }
1111 1037
1112 CPDF_AAction CPDFSDK_Annot::GetAAction() const 1038 CPDF_AAction CPDFSDK_Annot::GetAAction() const
1113 { 1039 {
1114 » return m_pAnnot->m_pAnnotDict->GetDict("AA"); 1040 » return m_pAnnot->GetAnnotDict()->GetDict("AA");
1115 } 1041 }
1116 1042
1117 void CPDFSDK_Annot::SetAAction(const CPDF_AAction& aa) 1043 void CPDFSDK_Annot::SetAAction(const CPDF_AAction& aa)
1118 { 1044 {
1119 ASSERT(m_pAnnot != NULL);
1120 ASSERT(m_pAnnot->m_pAnnotDict != NULL);
1121 ASSERT(aa != NULL); 1045 ASSERT(aa != NULL);
1122 1046
1123 » if ((CPDF_AAction&)aa != m_pAnnot->m_pAnnotDict->GetDict("AA")) 1047 » if ((CPDF_AAction&)aa != m_pAnnot->GetAnnotDict()->GetDict("AA"))
1124 » » m_pAnnot->m_pAnnotDict->SetAt("AA", (CPDF_AAction&)aa); 1048 » » m_pAnnot->GetAnnotDict()->SetAt("AA", (CPDF_AAction&)aa);
1125 } 1049 }
1126 1050
1127 void CPDFSDK_Annot::RemoveAAction() 1051 void CPDFSDK_Annot::RemoveAAction()
1128 { 1052 {
1129 » ASSERT(m_pAnnot != NULL); 1053 » m_pAnnot->GetAnnotDict()->RemoveAt("AA");
1130 » ASSERT(m_pAnnot->m_pAnnotDict != NULL);
1131 »
1132 » m_pAnnot->m_pAnnotDict->RemoveAt("AA");
1133 } 1054 }
1134 1055
1135 CPDF_Action CPDFSDK_Annot::GetAAction(CPDF_AAction::AActionType eAAT) 1056 CPDF_Action CPDFSDK_Annot::GetAAction(CPDF_AAction::AActionType eAAT)
1136 { 1057 {
1137 CPDF_AAction AAction = GetAAction(); 1058 CPDF_AAction AAction = GetAAction();
1138 1059
1139 if (AAction.ActionExist(eAAT)) 1060 if (AAction.ActionExist(eAAT))
1140 return AAction.GetAction(eAAT); 1061 return AAction.GetAction(eAAT);
1141 1062
1142 if (eAAT == CPDF_AAction::ButtonUp) 1063 if (eAAT == CPDF_AAction::ButtonUp)
(...skipping 11 matching lines...) Expand all
1154 return ; 1075 return ;
1155 } 1076 }
1156 1077
1157 CPDF_Page* CPDFSDK_Annot::GetPDFPage() 1078 CPDF_Page* CPDFSDK_Annot::GetPDFPage()
1158 { 1079 {
1159 if(m_pPageView) 1080 if(m_pPageView)
1160 return m_pPageView->GetPDFPage(); 1081 return m_pPageView->GetPDFPage();
1161 return NULL; 1082 return NULL;
1162 } 1083 }
1163 1084
OLDNEW
« no previous file with comments | « fpdfsdk/src/fsdk_annothandler.cpp ('k') | fpdfsdk/src/fsdk_baseform.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698