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

Side by Side Diff: fpdfsdk/fsdk_baseform.cpp

Issue 2142213002: Remove some IFX_* wrappers. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 5 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 | « BUILD.gn ('k') | fpdfsdk/fxedit/fxet_ap.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_baseform.h" 7 #include "fpdfsdk/include/fsdk_baseform.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
11 #include <memory> 11 #include <memory>
12 #include <vector> 12 #include <vector>
13 13
14 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" 14 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h"
15 #include "core/fpdfapi/fpdf_parser/include/cfdf_document.h" 15 #include "core/fpdfapi/fpdf_parser/include/cfdf_document.h"
16 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" 16 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
17 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" 17 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
18 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h" 18 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h"
19 #include "core/fxge/include/fx_ge.h" 19 #include "core/fxge/include/fx_ge.h"
20 #include "fpdfsdk/formfiller/cffl_formfiller.h" 20 #include "fpdfsdk/formfiller/cffl_formfiller.h"
21 #include "fpdfsdk/fxedit/include/fxet_edit.h"
21 #include "fpdfsdk/include/fsdk_actionhandler.h" 22 #include "fpdfsdk/include/fsdk_actionhandler.h"
22 #include "fpdfsdk/include/fsdk_baseannot.h" 23 #include "fpdfsdk/include/fsdk_baseannot.h"
23 #include "fpdfsdk/include/fsdk_define.h" 24 #include "fpdfsdk/include/fsdk_define.h"
24 #include "fpdfsdk/include/fsdk_mgr.h" 25 #include "fpdfsdk/include/fsdk_mgr.h"
25 #include "fpdfsdk/javascript/ijs_context.h" 26 #include "fpdfsdk/javascript/ijs_context.h"
26 #include "fpdfsdk/javascript/ijs_runtime.h" 27 #include "fpdfsdk/javascript/ijs_runtime.h"
27 #include "fpdfsdk/pdfwindow/PWL_Utils.h" 28 #include "fpdfsdk/pdfwindow/PWL_Utils.h"
28 29
29 #ifdef PDF_ENABLE_XFA 30 #ifdef PDF_ENABLE_XFA
30 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h" 31 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h"
(...skipping 1324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1355 void CPDFSDK_Widget::ResetAppearance_ComboBox(const FX_WCHAR* sValue) { 1356 void CPDFSDK_Widget::ResetAppearance_ComboBox(const FX_WCHAR* sValue) {
1356 CPDF_FormControl* pControl = GetFormControl(); 1357 CPDF_FormControl* pControl = GetFormControl();
1357 CPDF_FormField* pField = pControl->GetField(); 1358 CPDF_FormField* pField = pControl->GetField();
1358 CFX_ByteTextBuf sBody, sLines; 1359 CFX_ByteTextBuf sBody, sLines;
1359 1360
1360 CFX_FloatRect rcClient = GetClientRect(); 1361 CFX_FloatRect rcClient = GetClientRect();
1361 CFX_FloatRect rcButton = rcClient; 1362 CFX_FloatRect rcButton = rcClient;
1362 rcButton.left = rcButton.right - 13; 1363 rcButton.left = rcButton.right - 13;
1363 rcButton.Normalize(); 1364 rcButton.Normalize();
1364 1365
1365 IFX_Edit* pEdit = IFX_Edit::NewEdit(); 1366 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1366 pEdit->EnableRefresh(FALSE); 1367 pEdit->EnableRefresh(FALSE);
1367 1368
1368 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1369 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1369 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); 1370 CPDFDoc_Environment* pEnv = pDoc->GetEnv();
1370 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1371 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1371 pEdit->SetFontMap(&font_map); 1372 pEdit->SetFontMap(&font_map);
1372 1373
1373 CFX_FloatRect rcEdit = rcClient; 1374 CFX_FloatRect rcEdit = rcClient;
1374 rcEdit.right = rcButton.left; 1375 rcEdit.right = rcButton.left;
1375 rcEdit.Normalize(); 1376 rcEdit.Normalize();
(...skipping 16 matching lines...) Expand all
1392 1393
1393 if (nCurSel < 0) 1394 if (nCurSel < 0)
1394 pEdit->SetText(pField->GetValue().c_str()); 1395 pEdit->SetText(pField->GetValue().c_str());
1395 else 1396 else
1396 pEdit->SetText(pField->GetOptionLabel(nCurSel).c_str()); 1397 pEdit->SetText(pField->GetOptionLabel(nCurSel).c_str());
1397 } 1398 }
1398 1399
1399 CFX_FloatRect rcContent = pEdit->GetContentRect(); 1400 CFX_FloatRect rcContent = pEdit->GetContentRect();
1400 1401
1401 CFX_ByteString sEdit = 1402 CFX_ByteString sEdit =
1402 CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, 0.0f)); 1403 CPWL_Utils::GetEditAppStream(pEdit.get(), CFX_FloatPoint(0.0f, 0.0f));
1403 if (sEdit.GetLength() > 0) { 1404 if (sEdit.GetLength() > 0) {
1404 sBody << "/Tx BMC\n" 1405 sBody << "/Tx BMC\n"
1405 << "q\n"; 1406 << "q\n";
1406 if (rcContent.Width() > rcEdit.Width() || 1407 if (rcContent.Width() > rcEdit.Width() ||
1407 rcContent.Height() > rcEdit.Height()) { 1408 rcContent.Height() > rcEdit.Height()) {
1408 sBody << rcEdit.left << " " << rcEdit.bottom << " " << rcEdit.Width() 1409 sBody << rcEdit.left << " " << rcEdit.bottom << " " << rcEdit.Width()
1409 << " " << rcEdit.Height() << " re\nW\nn\n"; 1410 << " " << rcEdit.Height() << " re\nW\nn\n";
1410 } 1411 }
1411 1412
1412 CPWL_Color crText = GetTextPWLColor(); 1413 CPWL_Color crText = GetTextPWLColor();
1413 sBody << "BT\n" 1414 sBody << "BT\n"
1414 << CPWL_Utils::GetColorAppStream(crText) << sEdit << "ET\n" 1415 << CPWL_Utils::GetColorAppStream(crText) << sEdit << "ET\n"
1415 << "Q\nEMC\n"; 1416 << "Q\nEMC\n";
1416 } 1417 }
1417 1418
1418 IFX_Edit::DelEdit(pEdit);
1419
1420 sBody << CPWL_Utils::GetDropButtonAppStream(rcButton); 1419 sBody << CPWL_Utils::GetDropButtonAppStream(rcButton);
1421 1420
1422 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() + 1421 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() +
1423 sLines.AsStringC() + sBody.AsStringC(); 1422 sLines.AsStringC() + sBody.AsStringC();
1424 1423
1425 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP); 1424 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP);
1426 } 1425 }
1427 1426
1428 void CPDFSDK_Widget::ResetAppearance_ListBox() { 1427 void CPDFSDK_Widget::ResetAppearance_ListBox() {
1429 CPDF_FormControl* pControl = GetFormControl(); 1428 CPDF_FormControl* pControl = GetFormControl();
1430 CPDF_FormField* pField = pControl->GetField(); 1429 CPDF_FormField* pField = pControl->GetField();
1431 CFX_FloatRect rcClient = GetClientRect(); 1430 CFX_FloatRect rcClient = GetClientRect();
1432 CFX_ByteTextBuf sBody, sLines; 1431 CFX_ByteTextBuf sBody, sLines;
1433 1432
1434 IFX_Edit* pEdit = IFX_Edit::NewEdit(); 1433 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1435 pEdit->EnableRefresh(FALSE); 1434 pEdit->EnableRefresh(FALSE);
1436 1435
1437 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1436 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1438 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); 1437 CPDFDoc_Environment* pEnv = pDoc->GetEnv();
1439 1438
1440 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1439 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1441 pEdit->SetFontMap(&font_map); 1440 pEdit->SetFontMap(&font_map);
1442 1441
1443 pEdit->SetPlateRect(CFX_FloatRect(rcClient.left, 0.0f, rcClient.right, 0.0f)); 1442 pEdit->SetPlateRect(CFX_FloatRect(rcClient.left, 0.0f, rcClient.right, 0.0f));
1444 1443
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1477 CPWL_Color(COLORTYPE_RGB, 0, 51.0f / 255.0f, 1476 CPWL_Color(COLORTYPE_RGB, 0, 51.0f / 255.0f,
1478 113.0f / 255.0f), 1477 113.0f / 255.0f),
1479 TRUE) 1478 TRUE)
1480 << rcItem.left << " " << rcItem.bottom << " " << rcItem.Width() 1479 << rcItem.left << " " << rcItem.bottom << " " << rcItem.Width()
1481 << " " << rcItem.Height() << " re f\n" 1480 << " " << rcItem.Height() << " re f\n"
1482 << "Q\n"; 1481 << "Q\n";
1483 1482
1484 sList << "BT\n" 1483 sList << "BT\n"
1485 << CPWL_Utils::GetColorAppStream(CPWL_Color(COLORTYPE_GRAY, 1), 1484 << CPWL_Utils::GetColorAppStream(CPWL_Color(COLORTYPE_GRAY, 1),
1486 TRUE) 1485 TRUE)
1487 << CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, fy)) 1486 << CPWL_Utils::GetEditAppStream(pEdit.get(),
1487 CFX_FloatPoint(0.0f, fy))
1488 << "ET\n"; 1488 << "ET\n";
1489 } else { 1489 } else {
1490 CPWL_Color crText = GetTextPWLColor(); 1490 CPWL_Color crText = GetTextPWLColor();
1491 sList << "BT\n" 1491 sList << "BT\n"
1492 << CPWL_Utils::GetColorAppStream(crText, TRUE) 1492 << CPWL_Utils::GetColorAppStream(crText, TRUE)
1493 << CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, fy)) 1493 << CPWL_Utils::GetEditAppStream(pEdit.get(),
1494 CFX_FloatPoint(0.0f, fy))
1494 << "ET\n"; 1495 << "ET\n";
1495 } 1496 }
1496 1497
1497 fy -= fItemHeight; 1498 fy -= fItemHeight;
1498 } 1499 }
1499 1500
1500 if (sList.GetSize() > 0) { 1501 if (sList.GetSize() > 0) {
1501 sBody << "/Tx BMC\n" 1502 sBody << "/Tx BMC\n"
1502 << "q\n" 1503 << "q\n"
1503 << rcClient.left << " " << rcClient.bottom << " " << rcClient.Width() 1504 << rcClient.left << " " << rcClient.bottom << " " << rcClient.Width()
1504 << " " << rcClient.Height() << " re\nW\nn\n"; 1505 << " " << rcClient.Height() << " re\nW\nn\n";
1505 sBody << sList << "Q\nEMC\n"; 1506 sBody << sList << "Q\nEMC\n";
1506 } 1507 }
1507 1508
1508 IFX_Edit::DelEdit(pEdit);
1509
1510 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() + 1509 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() +
1511 sLines.AsStringC() + sBody.AsStringC(); 1510 sLines.AsStringC() + sBody.AsStringC();
1512 1511
1513 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP); 1512 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP);
1514 } 1513 }
1515 1514
1516 void CPDFSDK_Widget::ResetAppearance_TextField(const FX_WCHAR* sValue) { 1515 void CPDFSDK_Widget::ResetAppearance_TextField(const FX_WCHAR* sValue) {
1517 CPDF_FormControl* pControl = GetFormControl(); 1516 CPDF_FormControl* pControl = GetFormControl();
1518 CPDF_FormField* pField = pControl->GetField(); 1517 CPDF_FormField* pField = pControl->GetField();
1519 CFX_ByteTextBuf sBody, sLines; 1518 CFX_ByteTextBuf sBody, sLines;
1520 1519
1521 IFX_Edit* pEdit = IFX_Edit::NewEdit(); 1520 std::unique_ptr<CFX_Edit> pEdit(new CFX_Edit);
1522 pEdit->EnableRefresh(FALSE); 1521 pEdit->EnableRefresh(FALSE);
1523 1522
1524 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument(); 1523 CPDFSDK_Document* pDoc = m_pInterForm->GetDocument();
1525 CPDFDoc_Environment* pEnv = pDoc->GetEnv(); 1524 CPDFDoc_Environment* pEnv = pDoc->GetEnv();
1526 1525
1527 CBA_FontMap font_map(this, pEnv->GetSysHandler()); 1526 CBA_FontMap font_map(this, pEnv->GetSysHandler());
1528 pEdit->SetFontMap(&font_map); 1527 pEdit->SetFontMap(&font_map);
1529 1528
1530 CFX_FloatRect rcClient = GetClientRect(); 1529 CFX_FloatRect rcClient = GetClientRect();
1531 pEdit->SetPlateRect(rcClient); 1530 pEdit->SetPlateRect(rcClient);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1582 pEdit->Initialize(); 1581 pEdit->Initialize();
1583 1582
1584 if (sValue) 1583 if (sValue)
1585 pEdit->SetText(sValue); 1584 pEdit->SetText(sValue);
1586 else 1585 else
1587 pEdit->SetText(pField->GetValue().c_str()); 1586 pEdit->SetText(pField->GetValue().c_str());
1588 1587
1589 CFX_FloatRect rcContent = pEdit->GetContentRect(); 1588 CFX_FloatRect rcContent = pEdit->GetContentRect();
1590 1589
1591 CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream( 1590 CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream(
1592 pEdit, CFX_FloatPoint(0.0f, 0.0f), nullptr, !bCharArray, subWord); 1591 pEdit.get(), CFX_FloatPoint(0.0f, 0.0f), nullptr, !bCharArray, subWord);
1593 1592
1594 if (sEdit.GetLength() > 0) { 1593 if (sEdit.GetLength() > 0) {
1595 sBody << "/Tx BMC\n" 1594 sBody << "/Tx BMC\n"
1596 << "q\n"; 1595 << "q\n";
1597 if (rcContent.Width() > rcClient.Width() || 1596 if (rcContent.Width() > rcClient.Width() ||
1598 rcContent.Height() > rcClient.Height()) { 1597 rcContent.Height() > rcClient.Height()) {
1599 sBody << rcClient.left << " " << rcClient.bottom << " " 1598 sBody << rcClient.left << " " << rcClient.bottom << " "
1600 << rcClient.Width() << " " << rcClient.Height() << " re\nW\nn\n"; 1599 << rcClient.Width() << " " << rcClient.Height() << " re\nW\nn\n";
1601 } 1600 }
1602 CPWL_Color crText = GetTextPWLColor(); 1601 CPWL_Color crText = GetTextPWLColor();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1652 1651
1653 sLines << "Q\n"; 1652 sLines << "Q\n";
1654 } 1653 }
1655 break; 1654 break;
1656 } 1655 }
1657 default: 1656 default:
1658 break; 1657 break;
1659 } 1658 }
1660 } 1659 }
1661 1660
1662 IFX_Edit::DelEdit(pEdit);
1663
1664 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() + 1661 CFX_ByteString sAP = GetBackgroundAppStream() + GetBorderAppStream() +
1665 sLines.AsStringC() + sBody.AsStringC(); 1662 sLines.AsStringC() + sBody.AsStringC();
1666 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP); 1663 WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP);
1667 } 1664 }
1668 1665
1669 CFX_FloatRect CPDFSDK_Widget::GetClientRect() const { 1666 CFX_FloatRect CPDFSDK_Widget::GetClientRect() const {
1670 CFX_FloatRect rcWindow = GetRotatedRect(); 1667 CFX_FloatRect rcWindow = GetRotatedRect();
1671 FX_FLOAT fBorderWidth = (FX_FLOAT)GetBorderWidth(); 1668 FX_FLOAT fBorderWidth = (FX_FLOAT)GetBorderWidth();
1672 switch (GetBorderStyle()) { 1669 switch (GetBorderStyle()) {
1673 case BorderStyle::BEVELED: 1670 case BorderStyle::BEVELED:
(...skipping 1156 matching lines...) Expand 10 before | Expand all | Expand 10 after
2830 break; 2827 break;
2831 } 2828 }
2832 } 2829 }
2833 } 2830 }
2834 2831
2835 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) { 2832 CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) {
2836 CFX_FloatRect rcAnnot; 2833 CFX_FloatRect rcAnnot;
2837 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); 2834 pAnnot->GetPDFAnnot()->GetRect(rcAnnot);
2838 return rcAnnot; 2835 return rcAnnot;
2839 } 2836 }
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | fpdfsdk/fxedit/fxet_ap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698