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

Side by Side Diff: fpdfsdk/cpdfsdk_widget.cpp

Issue 2391313002: Rename CPDFSDK_Environment to CPDFSDK_FormfillEnvironment (Closed)
Patch Set: Rebase to master Created 4 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
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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/cpdfsdk_widget.h" 7 #include "fpdfsdk/cpdfsdk_widget.h"
8 8
9 #include <memory> 9 #include <memory>
10 10
11 #include "core/fpdfapi/parser/cpdf_dictionary.h" 11 #include "core/fpdfapi/parser/cpdf_dictionary.h"
12 #include "core/fpdfapi/parser/cpdf_document.h" 12 #include "core/fpdfapi/parser/cpdf_document.h"
13 #include "core/fpdfapi/parser/cpdf_stream.h" 13 #include "core/fpdfapi/parser/cpdf_stream.h"
14 #include "core/fpdfdoc/cpdf_defaultappearance.h" 14 #include "core/fpdfdoc/cpdf_defaultappearance.h"
15 #include "core/fpdfdoc/cpdf_formcontrol.h" 15 #include "core/fpdfdoc/cpdf_formcontrol.h"
16 #include "core/fpdfdoc/cpdf_formfield.h" 16 #include "core/fpdfdoc/cpdf_formfield.h"
17 #include "core/fpdfdoc/cpdf_iconfit.h" 17 #include "core/fpdfdoc/cpdf_iconfit.h"
18 #include "core/fpdfdoc/cpdf_interform.h" 18 #include "core/fpdfdoc/cpdf_interform.h"
19 #include "core/fxge/cfx_graphstatedata.h" 19 #include "core/fxge/cfx_graphstatedata.h"
20 #include "core/fxge/cfx_pathdata.h" 20 #include "core/fxge/cfx_pathdata.h"
21 #include "core/fxge/cfx_renderdevice.h" 21 #include "core/fxge/cfx_renderdevice.h"
22 #include "fpdfsdk/cpdfsdk_document.h" 22 #include "fpdfsdk/cpdfsdk_document.h"
23 #include "fpdfsdk/cpdfsdk_environment.h" 23 #include "fpdfsdk/cpdfsdk_formfillenvironment.h"
24 #include "fpdfsdk/cpdfsdk_interform.h" 24 #include "fpdfsdk/cpdfsdk_interform.h"
25 #include "fpdfsdk/cpdfsdk_pageview.h" 25 #include "fpdfsdk/cpdfsdk_pageview.h"
26 #include "fpdfsdk/formfiller/cba_fontmap.h" 26 #include "fpdfsdk/formfiller/cba_fontmap.h"
27 #include "fpdfsdk/fsdk_actionhandler.h" 27 #include "fpdfsdk/fsdk_actionhandler.h"
28 #include "fpdfsdk/fsdk_define.h" 28 #include "fpdfsdk/fsdk_define.h"
29 #include "fpdfsdk/fxedit/fxet_edit.h" 29 #include "fpdfsdk/fxedit/fxet_edit.h"
30 #include "fpdfsdk/pdfwindow/PWL_Edit.h" 30 #include "fpdfsdk/pdfwindow/PWL_Edit.h"
31 #include "fpdfsdk/pdfwindow/PWL_Utils.h" 31 #include "fpdfsdk/pdfwindow/PWL_Utils.h"
32 32
33 #ifdef PDF_ENABLE_XFA 33 #ifdef PDF_ENABLE_XFA
(...skipping 812 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 int nFieldType = GetFieldType(); 846 int nFieldType = GetFieldType();
847 if (!m_pInterForm->IsNeedHighLight(nFieldType)) 847 if (!m_pInterForm->IsNeedHighLight(nFieldType))
848 return; 848 return;
849 849
850 CFX_FloatRect rc = GetRect(); 850 CFX_FloatRect rc = GetRect();
851 FX_COLORREF color = m_pInterForm->GetHighlightColor(nFieldType); 851 FX_COLORREF color = m_pInterForm->GetHighlightColor(nFieldType);
852 uint8_t alpha = m_pInterForm->GetHighlightAlpha(); 852 uint8_t alpha = m_pInterForm->GetHighlightAlpha();
853 853
854 CFX_FloatRect rcDevice; 854 CFX_FloatRect rcDevice;
855 ASSERT(m_pInterForm->GetDocument()); 855 ASSERT(m_pInterForm->GetDocument());
856 CPDFSDK_Environment* pEnv = m_pInterForm->GetDocument()->GetEnv(); 856 CPDFSDK_FormFillEnvironment* pEnv = m_pInterForm->GetDocument()->GetEnv();
857 if (!pEnv) 857 if (!pEnv)
858 return; 858 return;
859 CFX_Matrix page2device; 859 CFX_Matrix page2device;
860 pPageView->GetCurrentMatrix(page2device); 860 pPageView->GetCurrentMatrix(page2device);
861 page2device.Transform(((FX_FLOAT)rc.left), ((FX_FLOAT)rc.bottom), 861 page2device.Transform(((FX_FLOAT)rc.left), ((FX_FLOAT)rc.bottom),
862 rcDevice.left, rcDevice.bottom); 862 rcDevice.left, rcDevice.bottom);
863 page2device.Transform(((FX_FLOAT)rc.right), ((FX_FLOAT)rc.top), 863 page2device.Transform(((FX_FLOAT)rc.right), ((FX_FLOAT)rc.top),
864 rcDevice.right, rcDevice.top); 864 rcDevice.right, rcDevice.top);
865 865
866 rcDevice.Normalize(); 866 rcDevice.Normalize();
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 if (pDownIcon) { 993 if (pDownIcon) {
994 if (CPDF_Dictionary* pImageDict = pDownIcon->GetDict()) { 994 if (CPDF_Dictionary* pImageDict = pDownIcon->GetDict()) {
995 if (pImageDict->GetStringFor("Name").IsEmpty()) 995 if (pImageDict->GetStringFor("Name").IsEmpty())
996 pImageDict->SetStringFor("Name", "ImgC"); 996 pImageDict->SetStringFor("Name", "ImgC");
997 } 997 }
998 } 998 }
999 999
1000 CPDF_IconFit iconFit = pControl->GetIconFit(); 1000 CPDF_IconFit iconFit = pControl->GetIconFit();
1001 1001
1002 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1002 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1003 CPDFSDK_Environment* pEnv = pDoc->GetEnv(); 1003 CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv();
1004 1004
1005 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1005 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1006 font_map.SetAPType("N"); 1006 font_map.SetAPType("N");
1007 1007
1008 CFX_ByteString csAP = 1008 CFX_ByteString csAP =
1009 CPWL_Utils::GetRectFillAppStream(rcWindow, crBackground) + 1009 CPWL_Utils::GetRectFillAppStream(rcWindow, crBackground) +
1010 CPWL_Utils::GetBorderAppStream(rcWindow, fBorderWidth, crBorder, 1010 CPWL_Utils::GetBorderAppStream(rcWindow, fBorderWidth, crBorder,
1011 crLeftTop, crRightBottom, nBorderStyle, 1011 crLeftTop, crRightBottom, nBorderStyle,
1012 dsBorder) + 1012 dsBorder) +
1013 CPWL_Utils::GetPushButtonAppStream( 1013 CPWL_Utils::GetPushButtonAppStream(
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
1371 1371
1372 CFX_FloatRect rcClient = GetClientRect(); 1372 CFX_FloatRect rcClient = GetClientRect();
1373 CFX_FloatRect rcButton = rcClient; 1373 CFX_FloatRect rcButton = rcClient;
1374 rcButton.left = rcButton.right - 13; 1374 rcButton.left = rcButton.right - 13;
1375 rcButton.Normalize(); 1375 rcButton.Normalize();
1376 1376
1377 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); 1377 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1378 pEdit->EnableRefresh(FALSE); 1378 pEdit->EnableRefresh(FALSE);
1379 1379
1380 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1380 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1381 CPDFSDK_Environment* pEnv = pDoc->GetEnv(); 1381 CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv();
1382 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1382 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1383 pEdit->SetFontMap(&font_map); 1383 pEdit->SetFontMap(&font_map);
1384 1384
1385 CFX_FloatRect rcEdit = rcClient; 1385 CFX_FloatRect rcEdit = rcClient;
1386 rcEdit.right = rcButton.left; 1386 rcEdit.right = rcButton.left;
1387 rcEdit.Normalize(); 1387 rcEdit.Normalize();
1388 1388
1389 pEdit->SetPlateRect(rcEdit); 1389 pEdit->SetPlateRect(rcEdit);
1390 pEdit->SetAlignmentV(1, TRUE); 1390 pEdit->SetAlignmentV(1, TRUE);
1391 1391
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1437 void CPDFSDK_Widget::ResetAppearance_ListBox() { 1437 void CPDFSDK_Widget::ResetAppearance_ListBox() {
1438 CPDF_FormControl* pControl = GetFormControl(); 1438 CPDF_FormControl* pControl = GetFormControl();
1439 CPDF_FormField* pField = pControl->GetField(); 1439 CPDF_FormField* pField = pControl->GetField();
1440 CFX_FloatRect rcClient = GetClientRect(); 1440 CFX_FloatRect rcClient = GetClientRect();
1441 CFX_ByteTextBuf sBody, sLines; 1441 CFX_ByteTextBuf sBody, sLines;
1442 1442
1443 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); 1443 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1444 pEdit->EnableRefresh(FALSE); 1444 pEdit->EnableRefresh(FALSE);
1445 1445
1446 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1446 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1447 CPDFSDK_Environment* pEnv = pDoc->GetEnv(); 1447 CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv();
1448 1448
1449 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1449 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1450 pEdit->SetFontMap(&font_map); 1450 pEdit->SetFontMap(&font_map);
1451 1451
1452 pEdit->SetPlateRect(CFX_FloatRect(rcClient.left, 0.0f, rcClient.right, 0.0f)); 1452 pEdit->SetPlateRect(CFX_FloatRect(rcClient.left, 0.0f, rcClient.right, 0.0f));
1453 1453
1454 FX_FLOAT fFontSize = GetFontSize(); 1454 FX_FLOAT fFontSize = GetFontSize();
1455 1455
1456 pEdit->SetFontSize(IsFloatZero(fFontSize) ? 12.0f : fFontSize); 1456 pEdit->SetFontSize(IsFloatZero(fFontSize) ? 12.0f : fFontSize);
1457 1457
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1524 1524
1525 void CPDFSDK_Widget::ResetAppearance_TextField(const CFX_WideString* sValue) { 1525 void CPDFSDK_Widget::ResetAppearance_TextField(const CFX_WideString* sValue) {
1526 CPDF_FormControl* pControl = GetFormControl(); 1526 CPDF_FormControl* pControl = GetFormControl();
1527 CPDF_FormField* pField = pControl->GetField(); 1527 CPDF_FormField* pField = pControl->GetField();
1528 CFX_ByteTextBuf sBody, sLines; 1528 CFX_ByteTextBuf sBody, sLines;
1529 1529
1530 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit); 1530 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1531 pEdit->EnableRefresh(FALSE); 1531 pEdit->EnableRefresh(FALSE);
1532 1532
1533 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1533 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1534 CPDFSDK_Environment* pEnv = pDoc->GetEnv(); 1534 CPDFSDK_FormFillEnvironment* pEnv = pDoc->GetEnv();
1535 1535
1536 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1536 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1537 pEdit->SetFontMap(&font_map); 1537 pEdit->SetFontMap(&font_map);
1538 1538
1539 CFX_FloatRect rcClient = GetClientRect(); 1539 CFX_FloatRect rcClient = GetClientRect();
1540 pEdit->SetPlateRect(rcClient); 1540 pEdit->SetPlateRect(rcClient);
1541 pEdit->SetAlignmentH(pControl->GetControlAlignment(), TRUE); 1541 pEdit->SetAlignmentH(pControl->GetControlAlignment(), TRUE);
1542 1542
1543 uint32_t dwFieldFlags = pField->GetFieldFlags(); 1543 uint32_t dwFieldFlags = pField->GetFieldFlags();
1544 FX_BOOL bMultiLine = (dwFieldFlags >> 12) & 1; 1544 FX_BOOL bMultiLine = (dwFieldFlags >> 12) & 1;
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
1840 1840
1841 void CPDFSDK_Widget::RemoveAppearance(const CFX_ByteString& sAPType) { 1841 void CPDFSDK_Widget::RemoveAppearance(const CFX_ByteString& sAPType) {
1842 if (CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDictFor("AP")) 1842 if (CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDictFor("AP"))
1843 pAPDict->RemoveFor(sAPType); 1843 pAPDict->RemoveFor(sAPType);
1844 } 1844 }
1845 1845
1846 FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type, 1846 FX_BOOL CPDFSDK_Widget::OnAAction(CPDF_AAction::AActionType type,
1847 PDFSDK_FieldAction& data, 1847 PDFSDK_FieldAction& data,
1848 CPDFSDK_PageView* pPageView) { 1848 CPDFSDK_PageView* pPageView) {
1849 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument(); 1849 CPDFSDK_Document* pDocument = pPageView->GetSDKDocument();
1850 CPDFSDK_Environment* pEnv = pDocument->GetEnv(); 1850 CPDFSDK_FormFillEnvironment* pEnv = pDocument->GetEnv();
1851 1851
1852 #ifdef PDF_ENABLE_XFA 1852 #ifdef PDF_ENABLE_XFA
1853 CPDFXFA_Document* pDoc = pDocument->GetXFADocument(); 1853 CPDFXFA_Document* pDoc = pDocument->GetXFADocument();
1854 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) { 1854 if (CXFA_FFWidget* hWidget = GetMixXFAWidget()) {
1855 XFA_EVENTTYPE eEventType = GetXFAEventType(type, data.bWillCommit); 1855 XFA_EVENTTYPE eEventType = GetXFAEventType(type, data.bWillCommit);
1856 1856
1857 if (eEventType != XFA_EVENT_Unknown) { 1857 if (eEventType != XFA_EVENT_Unknown) {
1858 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) { 1858 if (CXFA_FFWidgetHandler* pXFAWidgetHandler = GetXFAWidgetHandler()) {
1859 CXFA_EventParam param; 1859 CXFA_EventParam param;
1860 param.m_eType = eEventType; 1860 param.m_eType = eEventType;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1947 return FALSE; 1947 return FALSE;
1948 1948
1949 if (!IsVisible()) 1949 if (!IsVisible())
1950 return FALSE; 1950 return FALSE;
1951 1951
1952 if ((GetFieldFlags() & FIELDFLAG_READONLY) == FIELDFLAG_READONLY) 1952 if ((GetFieldFlags() & FIELDFLAG_READONLY) == FIELDFLAG_READONLY)
1953 return FALSE; 1953 return FALSE;
1954 1954
1955 return TRUE; 1955 return TRUE;
1956 } 1956 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698