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

Side by Side Diff: fpdfsdk/fsdk_annothandler.cpp

Issue 1986503002: XFA_WIDGETSTATUS, LAYOUTSTATUS and WIDGETFILTER cleanup. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 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/fpdfformfill.cpp ('k') | fpdfsdk/fsdk_mgr.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 "fpdfsdk/include/fsdk_annothandler.h" 7 #include "fpdfsdk/include/fsdk_annothandler.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <vector> 10 #include <vector>
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 return NULL; 371 return NULL;
372 if (pPage->GetPDFPage()) { // for pdf annots. 372 if (pPage->GetPDFPage()) { // for pdf annots.
373 CBA_AnnotIterator ai(pSDKAnnot->GetPageView(), pSDKAnnot->GetType(), ""); 373 CBA_AnnotIterator ai(pSDKAnnot->GetPageView(), pSDKAnnot->GetType(), "");
374 CPDFSDK_Annot* pNext = 374 CPDFSDK_Annot* pNext =
375 bNext ? ai.GetNextAnnot(pSDKAnnot) : ai.GetPrevAnnot(pSDKAnnot); 375 bNext ? ai.GetNextAnnot(pSDKAnnot) : ai.GetPrevAnnot(pSDKAnnot);
376 return pNext; 376 return pNext;
377 } 377 }
378 // for xfa annots 378 // for xfa annots
379 std::unique_ptr<IXFA_WidgetIterator> pWidgetIterator( 379 std::unique_ptr<IXFA_WidgetIterator> pWidgetIterator(
380 pPage->GetXFAPageView()->CreateWidgetIterator( 380 pPage->GetXFAPageView()->CreateWidgetIterator(
381 XFA_TRAVERSEWAY_Tranvalse, XFA_WIDGETFILTER_Visible | 381 XFA_TRAVERSEWAY_Tranvalse, XFA_WidgetStatus_Visible |
382 XFA_WIDGETFILTER_Viewable | 382 XFA_WidgetStatus_Viewable |
383 XFA_WIDGETFILTER_Field)); 383 XFA_WidgetStatus_Focused));
384 if (!pWidgetIterator) 384 if (!pWidgetIterator)
385 return nullptr; 385 return nullptr;
386 if (pWidgetIterator->GetCurrentWidget() != pSDKAnnot->GetXFAWidget()) 386 if (pWidgetIterator->GetCurrentWidget() != pSDKAnnot->GetXFAWidget())
387 pWidgetIterator->SetCurrentWidget(pSDKAnnot->GetXFAWidget()); 387 pWidgetIterator->SetCurrentWidget(pSDKAnnot->GetXFAWidget());
388 CXFA_FFWidget* hNextFocus = 388 CXFA_FFWidget* hNextFocus =
389 bNext ? pWidgetIterator->MoveToNext() : pWidgetIterator->MoveToPrevious(); 389 bNext ? pWidgetIterator->MoveToNext() : pWidgetIterator->MoveToPrevious();
390 if (!hNextFocus && pSDKAnnot) 390 if (!hNextFocus && pSDKAnnot)
391 hNextFocus = pWidgetIterator->MoveToFirst(); 391 hNextFocus = pWidgetIterator->MoveToFirst();
392 392
393 return pPageView->GetAnnotByXFAWidget(hNextFocus); 393 return pPageView->GetAnnotByXFAWidget(hNextFocus);
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 delete pWidget; 773 delete pWidget;
774 } 774 }
775 775
776 CFX_FloatRect CPDFSDK_XFAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView, 776 CFX_FloatRect CPDFSDK_XFAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView,
777 CPDFSDK_Annot* pAnnot) { 777 CPDFSDK_Annot* pAnnot) {
778 ASSERT(pAnnot); 778 ASSERT(pAnnot);
779 779
780 CFX_RectF rcBBox; 780 CFX_RectF rcBBox;
781 XFA_ELEMENT eType = pAnnot->GetXFAWidget()->GetDataAcc()->GetUIType(); 781 XFA_ELEMENT eType = pAnnot->GetXFAWidget()->GetDataAcc()->GetUIType();
782 if (eType == XFA_ELEMENT_Signature) 782 if (eType == XFA_ELEMENT_Signature)
783 pAnnot->GetXFAWidget()->GetBBox(rcBBox, XFA_WIDGETSTATUS_Visible, TRUE); 783 pAnnot->GetXFAWidget()->GetBBox(rcBBox, XFA_WidgetStatus_Visible, TRUE);
784 else 784 else
785 pAnnot->GetXFAWidget()->GetBBox(rcBBox, 0); 785 pAnnot->GetXFAWidget()->GetBBox(rcBBox, XFA_WidgetStatus_None);
786 786
787 CFX_FloatRect rcWidget(rcBBox.left, rcBBox.top, rcBBox.left + rcBBox.width, 787 CFX_FloatRect rcWidget(rcBBox.left, rcBBox.top, rcBBox.left + rcBBox.width,
788 rcBBox.top + rcBBox.height); 788 rcBBox.top + rcBBox.height);
789 rcWidget.left -= 1.0f; 789 rcWidget.left -= 1.0f;
790 rcWidget.right += 1.0f; 790 rcWidget.right += 1.0f;
791 rcWidget.bottom -= 1.0f; 791 rcWidget.bottom -= 1.0f;
792 rcWidget.top += 1.0f; 792 rcWidget.top += 1.0f;
793 793
794 return rcWidget; 794 return rcWidget;
795 } 795 }
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 1091
1092 CPDFSDK_Annot* CPDFSDK_AnnotIterator::PrevAnnot() { 1092 CPDFSDK_Annot* CPDFSDK_AnnotIterator::PrevAnnot() {
1093 if (m_pos < m_iteratorAnnotList.size()) 1093 if (m_pos < m_iteratorAnnotList.size())
1094 return m_iteratorAnnotList[m_iteratorAnnotList.size() - ++m_pos]; 1094 return m_iteratorAnnotList[m_iteratorAnnotList.size() - ++m_pos];
1095 return nullptr; 1095 return nullptr;
1096 } 1096 }
1097 1097
1098 CPDFSDK_Annot* CPDFSDK_AnnotIterator::Next() { 1098 CPDFSDK_Annot* CPDFSDK_AnnotIterator::Next() {
1099 return m_bReverse ? PrevAnnot() : NextAnnot(); 1099 return m_bReverse ? PrevAnnot() : NextAnnot();
1100 } 1100 }
OLDNEW
« no previous file with comments | « fpdfsdk/fpdfformfill.cpp ('k') | fpdfsdk/fsdk_mgr.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698