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

Side by Side Diff: fpdfsdk/src/pdfwindow/PWL_Edit.cpp

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: 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/pdfwindow/PWL_ComboBox.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_EditCtrl.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 "../../../core/include/fxcrt/fx_safe_types.h" 7 #include "../../../core/include/fxcrt/fx_safe_types.h"
8 #include "../../include/pdfwindow/PDFWindow.h" 8 #include "../../include/pdfwindow/PDFWindow.h"
9 #include "../../include/pdfwindow/PWL_Caret.h" 9 #include "../../include/pdfwindow/PWL_Caret.h"
10 #include "../../include/pdfwindow/PWL_Edit.h" 10 #include "../../include/pdfwindow/PWL_Edit.h"
(...skipping 29 matching lines...) Expand all
40 void CPWL_Edit::SetText(FX_LPCWSTR csText) 40 void CPWL_Edit::SetText(FX_LPCWSTR csText)
41 { 41 {
42 CFX_WideString swText = csText; 42 CFX_WideString swText = csText;
43 43
44 if (HasFlag(PES_RICH)) 44 if (HasFlag(PES_RICH))
45 { 45 {
46 CFX_ByteString sValue = CFX_ByteString::FromUnicode(swText); 46 CFX_ByteString sValue = CFX_ByteString::FromUnicode(swText);
47 47
48 if (CXML_Element * pXML = CXML_Element::Parse(sValue.c_str(), sV alue.GetLength())) 48 if (CXML_Element * pXML = CXML_Element::Parse(sValue.c_str(), sV alue.GetLength()))
49 { 49 {
50 » » » FX_INT32 nCount = pXML->CountChildren(); 50 » » » int32_t nCount = pXML->CountChildren();
51 FX_BOOL bFirst = TRUE; 51 FX_BOOL bFirst = TRUE;
52 52
53 swText.Empty(); 53 swText.Empty();
54 54
55 » » » for (FX_INT32 i=0; i<nCount; i++) 55 » » » for (int32_t i=0; i<nCount; i++)
56 { 56 {
57 if (CXML_Element * pSubElement = pXML->GetElemen t(i)) 57 if (CXML_Element * pSubElement = pXML->GetElemen t(i))
58 { 58 {
59 CFX_ByteString tag=pSubElement->GetTagNa me(); 59 CFX_ByteString tag=pSubElement->GetTagNa me();
60 if (tag.EqualNoCase("p")) 60 if (tag.EqualNoCase("p"))
61 { 61 {
62 int nChild = pSubElement->CountC hildren(); 62 int nChild = pSubElement->CountC hildren();
63 CFX_WideString swSection; 63 CFX_WideString swSection;
64 » » » » » » for(FX_INT32 j=0; j<nChild; j++) 64 » » » » » » for(int32_t j=0; j<nChild; j++)
65 { 65 {
66 swSection += pSubElement ->GetContent(j); 66 swSection += pSubElement ->GetContent(j);
67 } 67 }
68 68
69 if (bFirst)bFirst = FALSE; 69 if (bFirst)bFirst = FALSE;
70 else 70 else
71 swText += FWL_VKEY_Retur n; 71 swText += FWL_VKEY_Retur n;
72 swText += swSection; 72 swText += swSection;
73 } 73 }
74 } 74 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 { 112 {
113 rcClient.right -= PWL_SCROLLBAR_WIDTH; 113 rcClient.right -= PWL_SCROLLBAR_WIDTH;
114 } 114 }
115 } 115 }
116 116
117 return rcClient; 117 return rcClient;
118 } 118 }
119 119
120 void CPWL_Edit::SetAlignFormatH(PWL_EDIT_ALIGNFORMAT_H nFormat, FX_BOOL bPaint/* = TRUE*/) 120 void CPWL_Edit::SetAlignFormatH(PWL_EDIT_ALIGNFORMAT_H nFormat, FX_BOOL bPaint/* = TRUE*/)
121 { 121 {
122 » m_pEdit->SetAlignmentH((FX_INT32)nFormat, bPaint); 122 » m_pEdit->SetAlignmentH((int32_t)nFormat, bPaint);
123 } 123 }
124 124
125 void CPWL_Edit::SetAlignFormatV(PWL_EDIT_ALIGNFORMAT_V nFormat, FX_BOOL bPaint/* = TRUE*/) 125 void CPWL_Edit::SetAlignFormatV(PWL_EDIT_ALIGNFORMAT_V nFormat, FX_BOOL bPaint/* = TRUE*/)
126 { 126 {
127 » m_pEdit->SetAlignmentV((FX_INT32)nFormat, bPaint); 127 » m_pEdit->SetAlignmentV((int32_t)nFormat, bPaint);
128 } 128 }
129 129
130 FX_BOOL CPWL_Edit::CanSelectAll() const 130 FX_BOOL CPWL_Edit::CanSelectAll() const
131 { 131 {
132 return GetSelectWordRange() != m_pEdit->GetWholeWordRange(); 132 return GetSelectWordRange() != m_pEdit->GetWholeWordRange();
133 } 133 }
134 134
135 FX_BOOL CPWL_Edit::CanClear() const 135 FX_BOOL CPWL_Edit::CanClear() const
136 { 136 {
137 return !IsReadOnly() && m_pEdit->IsSelected(); 137 return !IsReadOnly() && m_pEdit->IsSelected();
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 } 291 }
292 } 292 }
293 293
294 void CPWL_Edit::GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream) 294 void CPWL_Edit::GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream)
295 { 295 {
296 CPWL_Wnd::GetThisAppearanceStream(sAppStream); 296 CPWL_Wnd::GetThisAppearanceStream(sAppStream);
297 297
298 CPDF_Rect rcClient = GetClientRect(); 298 CPDF_Rect rcClient = GetClientRect();
299 CFX_ByteTextBuf sLine; 299 CFX_ByteTextBuf sLine;
300 300
301 » FX_INT32 nCharArray = m_pEdit->GetCharArray(); 301 » int32_t nCharArray = m_pEdit->GetCharArray();
302 302
303 if (nCharArray > 0) 303 if (nCharArray > 0)
304 { 304 {
305 switch (GetBorderStyle()) 305 switch (GetBorderStyle())
306 { 306 {
307 case PBS_SOLID: 307 case PBS_SOLID:
308 { 308 {
309 sLine << "q\n" << GetBorderWidth() << " w\n" 309 sLine << "q\n" << GetBorderWidth() << " w\n"
310 << CPWL_Utils::GetColorAppStream(GetBord erColor(),FALSE) << " 2 J 0 j\n"; 310 << CPWL_Utils::GetColorAppStream(GetBord erColor(),FALSE) << " 2 J 0 j\n";
311 311
312 » » » » for (FX_INT32 i=1;i<nCharArray;i++) 312 » » » » for (int32_t i=1;i<nCharArray;i++)
313 { 313 {
314 sLine << rcClient.left + ((rcClient.righ t - rcClient.left)/nCharArray)*i << " " 314 sLine << rcClient.left + ((rcClient.righ t - rcClient.left)/nCharArray)*i << " "
315 << rcClient.bottom << " m\n" 315 << rcClient.bottom << " m\n"
316 << rcClient.left + ((rcClient.ri ght - rcClient.left)/nCharArray)*i << " " 316 << rcClient.left + ((rcClient.ri ght - rcClient.left)/nCharArray)*i << " "
317 << rcClient.top << " l S\n"; 317 << rcClient.top << " l S\n";
318 } 318 }
319 319
320 sLine << "Q\n"; 320 sLine << "Q\n";
321 } 321 }
322 break; 322 break;
323 case PBS_DASH: 323 case PBS_DASH:
324 { 324 {
325 sLine << "q\n" << GetBorderWidth() << " w\n" 325 sLine << "q\n" << GetBorderWidth() << " w\n"
326 << CPWL_Utils::GetColorAppStream(GetBord erColor(),FALSE) << " 2 J 0 j\n" 326 << CPWL_Utils::GetColorAppStream(GetBord erColor(),FALSE) << " 2 J 0 j\n"
327 << "[" << GetBorderDash().nDash << " " 327 << "[" << GetBorderDash().nDash << " "
328 << GetBorderDash().nGap << "] " 328 << GetBorderDash().nGap << "] "
329 << GetBorderDash().nPhase << " d\n"; 329 << GetBorderDash().nPhase << " d\n";
330 330
331 » » » » for (FX_INT32 i=1;i<nCharArray;i++)» » » » » 331 » » » » for (int32_t i=1;i<nCharArray;i++)» » » » »
332 { 332 {
333 sLine << rcClient.left + ((rcClient.righ t - rcClient.left)/nCharArray)*i << " " 333 sLine << rcClient.left + ((rcClient.righ t - rcClient.left)/nCharArray)*i << " "
334 << rcClient.bottom << " m\n" 334 << rcClient.bottom << " m\n"
335 << rcClient.left + ((rcClient.ri ght - rcClient.left)/nCharArray)*i << " " 335 << rcClient.left + ((rcClient.ri ght - rcClient.left)/nCharArray)*i << " "
336 << rcClient.top << " l S\n"; 336 << rcClient.top << " l S\n";
337 } 337 }
338 338
339 sLine << "Q\n"; 339 sLine << "Q\n";
340 } 340 }
341 break; 341 break;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 } 404 }
405 } 405 }
406 406
407 void CPWL_Edit::DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser 2Device) 407 void CPWL_Edit::DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser 2Device)
408 { 408 {
409 CPWL_Wnd::DrawThisAppearance(pDevice,pUser2Device); 409 CPWL_Wnd::DrawThisAppearance(pDevice,pUser2Device);
410 410
411 CPDF_Rect rcClient = GetClientRect(); 411 CPDF_Rect rcClient = GetClientRect();
412 CFX_ByteTextBuf sLine; 412 CFX_ByteTextBuf sLine;
413 413
414 » FX_INT32 nCharArray = m_pEdit->GetCharArray(); 414 » int32_t nCharArray = m_pEdit->GetCharArray();
415 FX_SAFE_INT32 nCharArraySafe = nCharArray; 415 FX_SAFE_INT32 nCharArraySafe = nCharArray;
416 nCharArraySafe -= 1; 416 nCharArraySafe -= 1;
417 nCharArraySafe *= 2; 417 nCharArraySafe *= 2;
418 418
419 if (nCharArray > 0 && nCharArraySafe.IsValid()) 419 if (nCharArray > 0 && nCharArraySafe.IsValid())
420 { 420 {
421 switch (GetBorderStyle()) 421 switch (GetBorderStyle())
422 { 422 {
423 case PBS_SOLID: 423 case PBS_SOLID:
424 { 424 {
425 CFX_GraphStateData gsd; 425 CFX_GraphStateData gsd;
426 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth(); 426 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth();
427 427
428 CFX_PathData path; 428 CFX_PathData path;
429 path.SetPointCount(nCharArraySafe.ValueOrDie()); 429 path.SetPointCount(nCharArraySafe.ValueOrDie());
430 430
431 » » » » for (FX_INT32 i=0; i<nCharArray-1; i++) 431 » » » » for (int32_t i=0; i<nCharArray-1; i++)
432 { 432 {
433 path.SetPoint(i*2, rcClient.left + ((rcC lient.right - rcClient.left)/nCharArray)*(i+1), 433 path.SetPoint(i*2, rcClient.left + ((rcC lient.right - rcClient.left)/nCharArray)*(i+1),
434 rcClient.bottom, FXPT_MOVETO); 434 rcClient.bottom, FXPT_MOVETO);
435 path.SetPoint(i*2+1, rcClient.left + ((r cClient.right - rcClient.left)/nCharArray)*(i+1), 435 path.SetPoint(i*2+1, rcClient.left + ((r cClient.right - rcClient.left)/nCharArray)*(i+1),
436 rcClient.top, FXPT_LINETO); 436 rcClient.top, FXPT_LINETO);
437 } 437 }
438 if (path.GetPointCount() > 0) 438 if (path.GetPointCount() > 0)
439 pDevice->DrawPath(&path, pUser2Device, & gsd,0, 439 pDevice->DrawPath(&path, pUser2Device, & gsd,0,
440 CPWL_Utils::PWLColorToFXColor(Ge tBorderColor(),255), FXFILL_ALTERNATE); 440 CPWL_Utils::PWLColorToFXColor(Ge tBorderColor(),255), FXFILL_ALTERNATE);
441 } 441 }
442 break; 442 break;
443 case PBS_DASH: 443 case PBS_DASH:
444 { 444 {
445 CFX_GraphStateData gsd; 445 CFX_GraphStateData gsd;
446 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth(); 446 gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth();
447 447
448 gsd.SetDashCount(2); 448 gsd.SetDashCount(2);
449 gsd.m_DashArray[0] = (FX_FLOAT)GetBorderDash().n Dash; 449 gsd.m_DashArray[0] = (FX_FLOAT)GetBorderDash().n Dash;
450 gsd.m_DashArray[1] = (FX_FLOAT)GetBorderDash().n Gap; 450 gsd.m_DashArray[1] = (FX_FLOAT)GetBorderDash().n Gap;
451 gsd.m_DashPhase = (FX_FLOAT)GetBorderDash().nPha se; 451 gsd.m_DashPhase = (FX_FLOAT)GetBorderDash().nPha se;
452 452
453 CFX_PathData path; 453 CFX_PathData path;
454 path.SetPointCount(nCharArraySafe.ValueOrDie()); 454 path.SetPointCount(nCharArraySafe.ValueOrDie());
455 455
456 » » » » for (FX_INT32 i=0; i<nCharArray-1; i++) 456 » » » » for (int32_t i=0; i<nCharArray-1; i++)
457 { 457 {
458 path.SetPoint(i*2, rcClient.left + ((rcC lient.right - rcClient.left)/nCharArray)*(i+1), 458 path.SetPoint(i*2, rcClient.left + ((rcC lient.right - rcClient.left)/nCharArray)*(i+1),
459 rcClient.bottom, FXPT_MOVETO); 459 rcClient.bottom, FXPT_MOVETO);
460 path.SetPoint(i*2+1, rcClient.left + ((r cClient.right - rcClient.left)/nCharArray)*(i+1), 460 path.SetPoint(i*2+1, rcClient.left + ((r cClient.right - rcClient.left)/nCharArray)*(i+1),
461 rcClient.top, FXPT_LINETO); 461 rcClient.top, FXPT_LINETO);
462 } 462 }
463 if (path.GetPointCount() > 0) 463 if (path.GetPointCount() > 0)
464 pDevice->DrawPath(&path, pUser2Device, & gsd,0, 464 pDevice->DrawPath(&path, pUser2Device, & gsd,0,
465 CPWL_Utils::PWLColorToFXColor(Ge tBorderColor(),255), FXFILL_ALTERNATE); 465 CPWL_Utils::PWLColorToFXColor(Ge tBorderColor(),255), FXFILL_ALTERNATE);
466 } 466 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 if (HasFlag(PES_SPELLCHECK) && !swLatin.IsEmpty()) 556 if (HasFlag(PES_SPELLCHECK) && !swLatin.IsEmpty())
557 { 557 {
558 if (m_pSpellCheck) 558 if (m_pSpellCheck)
559 { 559 {
560 CFX_ByteString sLatin = CFX_ByteString::FromUnic ode(swLatin); 560 CFX_ByteString sLatin = CFX_ByteString::FromUnic ode(swLatin);
561 561
562 if (!m_pSpellCheck->CheckWord(sLatin)) 562 if (!m_pSpellCheck->CheckWord(sLatin))
563 { 563 {
564 m_pSpellCheck->SuggestWords(sLatin,sSugg estWords); 564 m_pSpellCheck->SuggestWords(sLatin,sSugg estWords);
565 565
566 » » » » » FX_INT32 nSuggest = sSuggestWords.GetSiz e(); 566 » » » » » int32_t nSuggest = sSuggestWords.GetSize ();
567 567
568 » » » » » for (FX_INT32 nWord=0; nWord<nSuggest; n Word++) 568 » » » » » for (int32_t nWord=0; nWord<nSuggest; nW ord++)
569 { 569 {
570 pSH->AppendMenuItem(hPopup, WM_P WLEDIT_SUGGEST+nWord, sSuggestWords[nWord].UTF8Decode()); 570 pSH->AppendMenuItem(hPopup, WM_P WLEDIT_SUGGEST+nWord, sSuggestWords[nWord].UTF8Decode());
571 } 571 }
572 572
573 if (nSuggest > 0) 573 if (nSuggest > 0)
574 pSH->AppendMenuItem(hPopup, 0, L ""); 574 pSH->AppendMenuItem(hPopup, 0, L "");
575 575
576 ptPopup = GetWordRightBottomPoint(wrLati n.EndPos); 576 ptPopup = GetWordRightBottomPoint(wrLati n.EndPos);
577 } 577 }
578 } 578 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 636
637 pSH->AppendMenuItem(hPopup, 0, L""); 637 pSH->AppendMenuItem(hPopup, 0, L"");
638 pSH->AppendMenuItem(hPopup, WM_PWLEDIT_SELECTALL, 638 pSH->AppendMenuItem(hPopup, WM_PWLEDIT_SELECTALL,
639 pProvider ? pProvider->LoadPopupMenuString(6) : L"&Select All"); 639 pProvider ? pProvider->LoadPopupMenuString(6) : L"&Select All");
640 640
641 if (m_pEdit->GetTotalWords() == 0) 641 if (m_pEdit->GetTotalWords() == 0)
642 { 642 {
643 pSH->EnableMenuItem(hPopup, WM_PWLEDIT_SELECTALL, FALSE); 643 pSH->EnableMenuItem(hPopup, WM_PWLEDIT_SELECTALL, FALSE);
644 } 644 }
645 645
646 » FX_INT32 x, y; 646 » int32_t x, y;
647 PWLtoWnd(ptPopup, x, y); 647 PWLtoWnd(ptPopup, x, y);
648 pSH->ClientToScreen(GetAttachedHWnd(), x, y); 648 pSH->ClientToScreen(GetAttachedHWnd(), x, y);
649 pSH->SetCursor(FXCT_ARROW); 649 pSH->SetCursor(FXCT_ARROW);
650 » FX_INT32 nCmd = pSH->TrackPopupMenu(hPopup, 650 » int32_t nCmd = pSH->TrackPopupMenu(hPopup,
651 x, 651 x,
652 y, 652 y,
653 GetAttachedHWnd()); 653 GetAttachedHWnd());
654 654
655 655
656 switch (nCmd) 656 switch (nCmd)
657 { 657 {
658 case WM_PWLEDIT_UNDO: 658 case WM_PWLEDIT_UNDO:
659 Undo(); 659 Undo();
660 break; 660 break;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 729
730 if (!IsReadOnly()) 730 if (!IsReadOnly())
731 { 731 {
732 if (IPWL_FocusHandler* pFocusHandler = GetFocusHandler()) 732 if (IPWL_FocusHandler* pFocusHandler = GetFocusHandler())
733 pFocusHandler->OnKillFocus(this); 733 pFocusHandler->OnKillFocus(this);
734 } 734 }
735 735
736 m_bFocus = FALSE; 736 m_bFocus = FALSE;
737 } 737 }
738 738
739 void CPWL_Edit::SetHorzScale(FX_INT32 nHorzScale, FX_BOOL bPaint/* = TRUE*/) 739 void CPWL_Edit::SetHorzScale(int32_t nHorzScale, FX_BOOL bPaint/* = TRUE*/)
740 { 740 {
741 m_pEdit->SetHorzScale(nHorzScale, bPaint); 741 m_pEdit->SetHorzScale(nHorzScale, bPaint);
742 } 742 }
743 743
744 void CPWL_Edit::SetCharSpace(FX_FLOAT fCharSpace, FX_BOOL bPaint/* = TRUE*/) 744 void CPWL_Edit::SetCharSpace(FX_FLOAT fCharSpace, FX_BOOL bPaint/* = TRUE*/)
745 { 745 {
746 m_pEdit->SetCharSpace(fCharSpace, bPaint); 746 m_pEdit->SetCharSpace(fCharSpace, bPaint);
747 } 747 }
748 748
749 void CPWL_Edit::SetLineLeading(FX_FLOAT fLineLeading, FX_BOOL bPaint/* = TRUE*/) 749 void CPWL_Edit::SetLineLeading(FX_FLOAT fLineLeading, FX_BOOL bPaint/* = TRUE*/)
750 { 750 {
751 m_pEdit->SetLineLeading(fLineLeading, bPaint); 751 m_pEdit->SetLineLeading(fLineLeading, bPaint);
752 } 752 }
753 753
754 CFX_ByteString CPWL_Edit::GetSelectAppearanceStream(const CPDF_Point & ptOffset) const 754 CFX_ByteString CPWL_Edit::GetSelectAppearanceStream(const CPDF_Point & ptOffset) const
755 { 755 {
756 CPVT_WordRange wr = GetSelectWordRange(); 756 CPVT_WordRange wr = GetSelectWordRange();
757 return CPWL_Utils::GetEditSelAppStream(m_pEdit,ptOffset,&wr); 757 return CPWL_Utils::GetEditSelAppStream(m_pEdit,ptOffset,&wr);
758 } 758 }
759 759
760 CPVT_WordRange CPWL_Edit::GetSelectWordRange() const 760 CPVT_WordRange CPWL_Edit::GetSelectWordRange() const
761 { 761 {
762 if (m_pEdit->IsSelected()) 762 if (m_pEdit->IsSelected())
763 { 763 {
764 » » FX_INT32 nStart = -1; 764 » » int32_t nStart = -1;
765 » » FX_INT32 nEnd = -1; 765 » » int32_t nEnd = -1;
766 766
767 m_pEdit->GetSel(nStart, nEnd); 767 m_pEdit->GetSel(nStart, nEnd);
768 768
769 CPVT_WordPlace wpStart = m_pEdit->WordIndexToWordPlace(nStart); 769 CPVT_WordPlace wpStart = m_pEdit->WordIndexToWordPlace(nStart);
770 CPVT_WordPlace wpEnd = m_pEdit->WordIndexToWordPlace(nEnd); 770 CPVT_WordPlace wpEnd = m_pEdit->WordIndexToWordPlace(nEnd);
771 771
772 return CPVT_WordRange(wpStart,wpEnd); 772 return CPVT_WordRange(wpStart,wpEnd);
773 } 773 }
774 774
775 return CPVT_WordRange(); 775 return CPVT_WordRange();
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 } 814 }
815 815
816 return pt; 816 return pt;
817 } 817 }
818 818
819 FX_BOOL CPWL_Edit::IsTextFull() const 819 FX_BOOL CPWL_Edit::IsTextFull() const
820 { 820 {
821 return m_pEdit->IsTextFull(); 821 return m_pEdit->IsTextFull();
822 } 822 }
823 823
824 FX_FLOAT CPWL_Edit::GetCharArrayAutoFontSize(CPDF_Font* pFont, const CPDF_Rect& rcPlate, FX_INT32 nCharArray) 824 FX_FLOAT CPWL_Edit::GetCharArrayAutoFontSize(CPDF_Font* pFont, const CPDF_Rect& rcPlate, int32_t nCharArray)
825 { 825 {
826 if (pFont && !pFont->IsStandardFont()) 826 if (pFont && !pFont->IsStandardFont())
827 { 827 {
828 FX_RECT rcBBox; 828 FX_RECT rcBBox;
829 pFont->GetFontBBox(rcBBox); 829 pFont->GetFontBBox(rcBBox);
830 830
831 CPDF_Rect rcCell = rcPlate; 831 CPDF_Rect rcCell = rcPlate;
832 FX_FLOAT xdiv = rcCell.Width() / nCharArray * 1000.0f / rcBBox.W idth(); 832 FX_FLOAT xdiv = rcCell.Width() / nCharArray * 1000.0f / rcBBox.W idth();
833 FX_FLOAT ydiv = - rcCell.Height() * 1000.0f / rcBBox.Height(); 833 FX_FLOAT ydiv = - rcCell.Height() * 1000.0f / rcBBox.Height();
834 834
835 return xdiv < ydiv ? xdiv : ydiv; 835 return xdiv < ydiv ? xdiv : ydiv;
836 } 836 }
837 837
838 return 0.0f; 838 return 0.0f;
839 } 839 }
840 840
841 void CPWL_Edit::SetCharArray(FX_INT32 nCharArray) 841 void CPWL_Edit::SetCharArray(int32_t nCharArray)
842 { 842 {
843 if (HasFlag(PES_CHARARRAY) && nCharArray > 0) 843 if (HasFlag(PES_CHARARRAY) && nCharArray > 0)
844 { 844 {
845 m_pEdit->SetCharArray(nCharArray); 845 m_pEdit->SetCharArray(nCharArray);
846 m_pEdit->SetTextOverflow(TRUE); 846 m_pEdit->SetTextOverflow(TRUE);
847 847
848 if (HasFlag(PWS_AUTOFONTSIZE)) 848 if (HasFlag(PWS_AUTOFONTSIZE))
849 { 849 {
850 if (IFX_Edit_FontMap* pFontMap = this->GetFontMap()) 850 if (IFX_Edit_FontMap* pFontMap = this->GetFontMap())
851 { 851 {
852 FX_FLOAT fFontSize = GetCharArrayAutoFontSize(pF ontMap->GetPDFFont(0), GetClientRect(), nCharArray); 852 FX_FLOAT fFontSize = GetCharArrayAutoFontSize(pF ontMap->GetPDFFont(0), GetClientRect(), nCharArray);
853 if (fFontSize > 0.0f) 853 if (fFontSize > 0.0f)
854 { 854 {
855 m_pEdit->SetAutoFontSize(FALSE); 855 m_pEdit->SetAutoFontSize(FALSE);
856 m_pEdit->SetFontSize(fFontSize); 856 m_pEdit->SetFontSize(fFontSize);
857 } 857 }
858 } 858 }
859 } 859 }
860 } 860 }
861 } 861 }
862 862
863 void CPWL_Edit::SetLimitChar(FX_INT32 nLimitChar) 863 void CPWL_Edit::SetLimitChar(int32_t nLimitChar)
864 { 864 {
865 m_pEdit->SetLimitChar(nLimitChar); 865 m_pEdit->SetLimitChar(nLimitChar);
866 } 866 }
867 867
868 void CPWL_Edit::ReplaceSel(FX_LPCWSTR csText) 868 void CPWL_Edit::ReplaceSel(FX_LPCWSTR csText)
869 { 869 {
870 m_pEdit->Clear(); 870 m_pEdit->Clear();
871 m_pEdit->InsertText(csText); 871 m_pEdit->InsertText(csText);
872 } 872 }
873 873
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1009 1009
1010 FX_BOOL bRC = TRUE; 1010 FX_BOOL bRC = TRUE;
1011 FX_BOOL bExit = FALSE; 1011 FX_BOOL bExit = FALSE;
1012 1012
1013 FX_BOOL bCtrl = IsCTRLpressed(nFlag); 1013 FX_BOOL bCtrl = IsCTRLpressed(nFlag);
1014 if (!bCtrl) 1014 if (!bCtrl)
1015 { 1015 {
1016 if (m_pFillerNotify) 1016 if (m_pFillerNotify)
1017 { 1017 {
1018 CFX_WideString swChange; 1018 CFX_WideString swChange;
1019 » » » FX_INT32 nKeyCode; 1019 » » » int32_t nKeyCode;
1020 1020
1021 int nSelStart = 0; 1021 int nSelStart = 0;
1022 int nSelEnd = 0; 1022 int nSelEnd = 0;
1023 GetSel(nSelStart, nSelEnd); 1023 GetSel(nSelStart, nSelEnd);
1024 1024
1025 switch (nChar) 1025 switch (nChar)
1026 { 1026 {
1027 case FWL_VKEY_Back: 1027 case FWL_VKEY_Back:
1028 nKeyCode = nChar; 1028 nKeyCode = nChar;
1029 if (nSelStart == nSelEnd) 1029 if (nSelStart == nSelEnd)
(...skipping 11 matching lines...) Expand all
1041 CFX_WideString strChangeEx; 1041 CFX_WideString strChangeEx;
1042 m_pFillerNotify->OnBeforeKeyStroke(TRUE, GetAttachedData (), nKeyCode, swChange, strChangeEx, nSelStart, nSelEnd, TRUE, bRC, bExit, nFlag ); 1042 m_pFillerNotify->OnBeforeKeyStroke(TRUE, GetAttachedData (), nKeyCode, swChange, strChangeEx, nSelStart, nSelEnd, TRUE, bRC, bExit, nFlag );
1043 } 1043 }
1044 } 1044 }
1045 1045
1046 if (!bRC) return TRUE; 1046 if (!bRC) return TRUE;
1047 if (bExit) return FALSE; 1047 if (bExit) return FALSE;
1048 1048
1049 if (IFX_Edit_FontMap * pFontMap = GetFontMap()) 1049 if (IFX_Edit_FontMap * pFontMap = GetFontMap())
1050 { 1050 {
1051 » » FX_INT32 nOldCharSet = GetCharSet(); 1051 » » int32_t nOldCharSet = GetCharSet();
1052 » » FX_INT32 nNewCharSet = pFontMap->CharSetFromUnicode(nChar, DEFAU LT_CHARSET); 1052 » » int32_t nNewCharSet = pFontMap->CharSetFromUnicode(nChar, DEFAUL T_CHARSET);
1053 if(nOldCharSet != nNewCharSet) 1053 if(nOldCharSet != nNewCharSet)
1054 { 1054 {
1055 SetCharSet(nNewCharSet); 1055 SetCharSet(nNewCharSet);
1056 } 1056 }
1057 } 1057 }
1058 FX_BOOL bRet = CPWL_EditCtrl::OnChar(nChar,nFlag); 1058 FX_BOOL bRet = CPWL_EditCtrl::OnChar(nChar,nFlag);
1059 1059
1060 if (!bCtrl) 1060 if (!bCtrl)
1061 { 1061 {
1062 if (m_pFillerNotify) 1062 if (m_pFillerNotify)
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 IFX_Edit::GeneratePageObjects(pPageObjects, m_pEdit, ptOffset, NULL, CPW L_Utils::PWLColorToFXColor(GetTextColor(),GetTransparency()), ObjArray); 1311 IFX_Edit::GeneratePageObjects(pPageObjects, m_pEdit, ptOffset, NULL, CPW L_Utils::PWLColorToFXColor(GetTextColor(),GetTransparency()), ObjArray);
1312 } 1312 }
1313 1313
1314 void CPWL_Edit::GeneratePageObjects(CPDF_PageObjects* pPageObjects, 1314 void CPWL_Edit::GeneratePageObjects(CPDF_PageObjects* pPageObjects,
1315 const CP DF_Point& ptOffset) 1315 const CP DF_Point& ptOffset)
1316 { 1316 {
1317 CFX_ArrayTemplate<CPDF_TextObject*> ObjArray; 1317 CFX_ArrayTemplate<CPDF_TextObject*> ObjArray;
1318 IFX_Edit::GeneratePageObjects(pPageObjects, m_pEdit, ptOffset, NULL, CPW L_Utils::PWLColorToFXColor(GetTextColor(),GetTransparency()), ObjArray); 1318 IFX_Edit::GeneratePageObjects(pPageObjects, m_pEdit, ptOffset, NULL, CPW L_Utils::PWLColorToFXColor(GetTextColor(),GetTransparency()), ObjArray);
1319 } 1319 }
1320 1320
OLDNEW
« no previous file with comments | « fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp ('k') | fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698