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

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

Issue 1399833002: Allow building of XFA branch without XFA (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Keep GN in sync. Created 5 years, 2 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/fpdfxfa/fpdfxfa_doc.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/fpdfxfa/fpdfxfa_doc.h" 8 #include "../include/fpdfxfa/fpdfxfa_doc.h"
9 #include "../include/fpdfxfa/fpdfxfa_util.h" 9 #include "../include/fpdfxfa/fpdfxfa_util.h"
10 #include "../include/fsdk_mgr.h" 10 #include "../include/fsdk_mgr.h"
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 758
759 FX_BOOL CPDFSDK_XFAAnnotHandler::CanAnswer(CPDFSDK_Annot* pAnnot) { 759 FX_BOOL CPDFSDK_XFAAnnotHandler::CanAnswer(CPDFSDK_Annot* pAnnot) {
760 return pAnnot->GetXFAWidget() != NULL; 760 return pAnnot->GetXFAWidget() != NULL;
761 } 761 }
762 762
763 void CPDFSDK_XFAAnnotHandler::OnDraw(CPDFSDK_PageView* pPageView, 763 void CPDFSDK_XFAAnnotHandler::OnDraw(CPDFSDK_PageView* pPageView,
764 CPDFSDK_Annot* pAnnot, 764 CPDFSDK_Annot* pAnnot,
765 CFX_RenderDevice* pDevice, 765 CFX_RenderDevice* pDevice,
766 CPDF_Matrix* pUser2Device, 766 CPDF_Matrix* pUser2Device,
767 FX_DWORD dwFlags) { 767 FX_DWORD dwFlags) {
768 #ifdef PDF_ENABLE_XFA
769
768 ASSERT(pPageView != NULL); 770 ASSERT(pPageView != NULL);
769 ASSERT(pAnnot != NULL); 771 ASSERT(pAnnot != NULL);
770 772
771 CPDFSDK_Document* pSDKDoc = pPageView->GetSDKDocument(); 773 CPDFSDK_Document* pSDKDoc = pPageView->GetSDKDocument();
772 ASSERT(pSDKDoc != NULL); 774 ASSERT(pSDKDoc != NULL);
773 775
774 IXFA_WidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot); 776 IXFA_WidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot);
775 ASSERT(pWidgetHandler != NULL); 777 ASSERT(pWidgetHandler != NULL);
776 778
777 CFX_Graphics gs; 779 CFX_Graphics gs;
778 gs.Create(pDevice); 780 gs.Create(pDevice);
779 781
780 CFX_Matrix mt; 782 CFX_Matrix mt;
781 mt = *(CFX_Matrix*)pUser2Device; 783 mt = *(CFX_Matrix*)pUser2Device;
782 784
783 IXFA_Widget* hWidget = pAnnot->GetXFAWidget(); 785 IXFA_Widget* hWidget = pAnnot->GetXFAWidget();
784 ASSERT(hWidget != NULL); 786 ASSERT(hWidget != NULL);
785 787
786 FX_BOOL bIsHighlight = FALSE; 788 FX_BOOL bIsHighlight = FALSE;
787 if (pSDKDoc->GetFocusAnnot() != pAnnot) 789 if (pSDKDoc->GetFocusAnnot() != pAnnot)
788 bIsHighlight = TRUE; 790 bIsHighlight = TRUE;
789 791
790 pWidgetHandler->RenderWidget(pAnnot->GetXFAWidget(), &gs, &mt, bIsHighlight); 792 pWidgetHandler->RenderWidget(pAnnot->GetXFAWidget(), &gs, &mt, bIsHighlight);
791 793
792 // to do highlight and shadow 794 // to do highlight and shadow
795 #endif // PDF_ENABLE_XFA
793 } 796 }
794 797
795 void CPDFSDK_XFAAnnotHandler::ReleaseAnnot(CPDFSDK_Annot* pAnnot) { 798 void CPDFSDK_XFAAnnotHandler::ReleaseAnnot(CPDFSDK_Annot* pAnnot) {
796 ASSERT(pAnnot != NULL); 799 ASSERT(pAnnot != NULL);
797 800
798 CPDFSDK_XFAWidget* pWidget = (CPDFSDK_XFAWidget*)pAnnot; 801 CPDFSDK_XFAWidget* pWidget = (CPDFSDK_XFAWidget*)pAnnot;
799 CPDFSDK_InterForm* pInterForm = pWidget->GetInterForm(); 802 CPDFSDK_InterForm* pInterForm = pWidget->GetInterForm();
800 ASSERT(pInterForm != NULL); 803 ASSERT(pInterForm != NULL);
801 804
802 pInterForm->RemoveXFAMap(pWidget->GetXFAWidget()); 805 pInterForm->RemoveXFAMap(pWidget->GetXFAWidget());
803 806
804 delete pWidget; 807 delete pWidget;
805 } 808 }
806 809
807 CPDF_Rect CPDFSDK_XFAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView, 810 CPDF_Rect CPDFSDK_XFAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView,
808 CPDFSDK_Annot* pAnnot) { 811 CPDFSDK_Annot* pAnnot) {
809 ASSERT(pAnnot != NULL); 812 ASSERT(pAnnot != NULL);
810 813
811 IXFA_WidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot); 814 IXFA_WidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot);
812 ASSERT(pWidgetHandler != NULL); 815 ASSERT(pWidgetHandler != NULL);
813 816
817 CFX_RectF rcBBox;
818 #ifdef PDF_ENABLE_XFA
814 XFA_ELEMENT eType = 819 XFA_ELEMENT eType =
815 pWidgetHandler->GetDataAcc(pAnnot->GetXFAWidget())->GetUIType(); 820 pWidgetHandler->GetDataAcc(pAnnot->GetXFAWidget())->GetUIType();
816 CFX_RectF rcBBox;
817 if (eType == XFA_ELEMENT_Signature) 821 if (eType == XFA_ELEMENT_Signature)
818 pWidgetHandler->GetBBox(pAnnot->GetXFAWidget(), rcBBox, 822 pWidgetHandler->GetBBox(pAnnot->GetXFAWidget(), rcBBox,
819 XFA_WIDGETSTATUS_Visible, TRUE); 823 XFA_WIDGETSTATUS_Visible, TRUE);
820 else 824 else
825 #endif
821 pWidgetHandler->GetBBox(pAnnot->GetXFAWidget(), rcBBox, 0); 826 pWidgetHandler->GetBBox(pAnnot->GetXFAWidget(), rcBBox, 0);
822 827
823 CFX_FloatRect rcWidget(rcBBox.left, rcBBox.top, rcBBox.left + rcBBox.width, 828 CFX_FloatRect rcWidget(rcBBox.left, rcBBox.top, rcBBox.left + rcBBox.width,
824 rcBBox.top + rcBBox.height); 829 rcBBox.top + rcBBox.height);
825 rcWidget.left -= 1.0f; 830 rcWidget.left -= 1.0f;
826 rcWidget.right += 1.0f; 831 rcWidget.right += 1.0f;
827 rcWidget.bottom -= 1.0f; 832 rcWidget.bottom -= 1.0f;
828 rcWidget.top += 1.0f; 833 rcWidget.top += 1.0f;
829 834
830 return rcWidget; 835 return rcWidget;
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 if (pReaderAnnot == pTopMostAnnot) { 1310 if (pReaderAnnot == pTopMostAnnot) {
1306 m_pIteratorAnnotList.RemoveAt(i); 1311 m_pIteratorAnnotList.RemoveAt(i);
1307 m_pIteratorAnnotList.InsertAt(0, pReaderAnnot); 1312 m_pIteratorAnnotList.InsertAt(0, pReaderAnnot);
1308 break; 1313 break;
1309 } 1314 }
1310 } 1315 }
1311 } 1316 }
1312 1317
1313 return TRUE; 1318 return TRUE;
1314 } 1319 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp ('k') | fpdfsdk/src/fsdk_baseform.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698