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/fxedit/fxet_pageobjs.cpp

Issue 1977093002: Make CFX_ByteString(const CFX_ByteStringC&) explicit. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase, nit 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/fxedit/fxet_ap.cpp ('k') | fpdfsdk/pdfwindow/PWL_Caret.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/fpdfapi/fpdf_page/include/cpdf_pageobject.h" 7 #include "core/fpdfapi/fpdf_page/include/cpdf_pageobject.h"
8 #include "core/fpdfapi/fpdf_page/include/cpdf_pageobjectholder.h" 8 #include "core/fpdfapi/fpdf_page/include/cpdf_pageobjectholder.h"
9 #include "core/fpdfapi/fpdf_page/include/cpdf_pathobject.h" 9 #include "core/fpdfapi/fpdf_page/include/cpdf_pathobject.h"
10 #include "core/fpdfapi/fpdf_page/include/cpdf_textobject.h" 10 #include "core/fpdfapi/fpdf_page/include/cpdf_textobject.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 222
223 if (bContinuous) { 223 if (bContinuous) {
224 if (place.LineCmp(oldplace) != 0 || word.nFontIndex != nFontIndex || 224 if (place.LineCmp(oldplace) != 0 || word.nFontIndex != nFontIndex ||
225 crOldFill != crCurFill) { 225 crOldFill != crCurFill) {
226 if (sTextBuf.GetLength() > 0) { 226 if (sTextBuf.GetLength() > 0) {
227 DrawTextString( 227 DrawTextString(
228 pDevice, 228 pDevice,
229 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 229 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
230 pFontMap->GetPDFFont(nFontIndex), fFontSize, pUser2Device, 230 pFontMap->GetPDFFont(nFontIndex), fFontSize, pUser2Device,
231 sTextBuf.AsStringC(), crOldFill, crTextStroke, nHorzScale); 231 sTextBuf.MakeString(), crOldFill, crTextStroke, nHorzScale);
232 232
233 sTextBuf.Clear(); 233 sTextBuf.Clear();
234 } 234 }
235 nFontIndex = word.nFontIndex; 235 nFontIndex = word.nFontIndex;
236 ptBT = word.ptWord; 236 ptBT = word.ptWord;
237 crOldFill = crCurFill; 237 crOldFill = crCurFill;
238 } 238 }
239 239
240 sTextBuf << GetPDFWordString(pFontMap, word.nFontIndex, word.Word, 240 sTextBuf << GetPDFWordString(pFontMap, word.nFontIndex, word.Word,
241 SubWord) 241 SubWord)
242 .AsStringC(); 242 .AsStringC();
243 } else { 243 } else {
244 DrawTextString( 244 DrawTextString(
245 pDevice, CFX_FloatPoint(word.ptWord.x + ptOffset.x, 245 pDevice, CFX_FloatPoint(word.ptWord.x + ptOffset.x,
246 word.ptWord.y + ptOffset.y), 246 word.ptWord.y + ptOffset.y),
247 pFontMap->GetPDFFont(word.nFontIndex), fFontSize, pUser2Device, 247 pFontMap->GetPDFFont(word.nFontIndex), fFontSize, pUser2Device,
248 GetPDFWordString(pFontMap, word.nFontIndex, word.Word, SubWord), 248 GetPDFWordString(pFontMap, word.nFontIndex, word.Word, SubWord),
249 crCurFill, crTextStroke, nHorzScale); 249 crCurFill, crTextStroke, nHorzScale);
250 } 250 }
251 oldplace = place; 251 oldplace = place;
252 } 252 }
253 } 253 }
254 254
255 if (sTextBuf.GetLength() > 0) { 255 if (sTextBuf.GetLength() > 0) {
256 DrawTextString(pDevice, 256 DrawTextString(
257 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 257 pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
258 pFontMap->GetPDFFont(nFontIndex), fFontSize, pUser2Device, 258 pFontMap->GetPDFFont(nFontIndex), fFontSize, pUser2Device,
259 sTextBuf.AsStringC(), crOldFill, crTextStroke, nHorzScale); 259 sTextBuf.MakeString(), crOldFill, crTextStroke, nHorzScale);
260 } 260 }
261 } 261 }
262 262
263 pDevice->RestoreState(); 263 pDevice->RestoreState();
264 } 264 }
265 265
266 void IFX_Edit::DrawRichEdit(CFX_RenderDevice* pDevice, 266 void IFX_Edit::DrawRichEdit(CFX_RenderDevice* pDevice,
267 CFX_Matrix* pUser2Device, 267 CFX_Matrix* pUser2Device,
268 IFX_Edit* pEdit, 268 IFX_Edit* pEdit,
269 const CFX_FloatRect& rcClip, 269 const CFX_FloatRect& rcClip,
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 333
334 if (place.LineCmp(oldplace) != 0 || word.WordProps.fCharSpace > 0.0f || 334 if (place.LineCmp(oldplace) != 0 || word.WordProps.fCharSpace > 0.0f ||
335 word.WordProps.nHorzScale != 100 || 335 word.WordProps.nHorzScale != 100 ||
336 FXSYS_memcmp(&word.WordProps, &wp, sizeof(CPVT_WordProps)) != 0 || 336 FXSYS_memcmp(&word.WordProps, &wp, sizeof(CPVT_WordProps)) != 0 ||
337 crOld != crCurText) { 337 crOld != crCurText) {
338 if (sTextBuf.GetLength() > 0) { 338 if (sTextBuf.GetLength() > 0) {
339 DrawTextString( 339 DrawTextString(
340 pDevice, 340 pDevice,
341 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 341 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
342 pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize, pUser2Device, 342 pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize, pUser2Device,
343 sTextBuf.AsStringC(), crOld, 0, wp.nHorzScale); 343 sTextBuf.MakeString(), crOld, 0, wp.nHorzScale);
344 344
345 sTextBuf.Clear(); 345 sTextBuf.Clear();
346 } 346 }
347 wp = word.WordProps; 347 wp = word.WordProps;
348 ptBT = word.ptWord; 348 ptBT = word.ptWord;
349 crOld = crCurText; 349 crOld = crCurText;
350 } 350 }
351 351
352 sTextBuf << GetPDFWordString(pFontMap, word.WordProps.nFontIndex, 352 sTextBuf << GetPDFWordString(pFontMap, word.WordProps.nFontIndex,
353 word.Word, 0) 353 word.Word, 0)
(...skipping 20 matching lines...) Expand all
374 } 374 }
375 375
376 oldplace = place; 376 oldplace = place;
377 } 377 }
378 } 378 }
379 379
380 if (sTextBuf.GetLength() > 0) { 380 if (sTextBuf.GetLength() > 0) {
381 DrawTextString( 381 DrawTextString(
382 pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 382 pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
383 pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize, pUser2Device, 383 pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize, pUser2Device,
384 sTextBuf.AsStringC(), crOld, 0, wp.nHorzScale); 384 sTextBuf.MakeString(), crOld, 0, wp.nHorzScale);
385 } 385 }
386 } 386 }
387 387
388 pDevice->RestoreState(); 388 pDevice->RestoreState();
389 } 389 }
390 390
391 static void AddRectToPageObjects(CPDF_PageObjectHolder* pObjectHolder, 391 static void AddRectToPageObjects(CPDF_PageObjectHolder* pObjectHolder,
392 FX_COLORREF crFill, 392 FX_COLORREF crFill,
393 const CFX_FloatRect& rcFill) { 393 const CFX_FloatRect& rcFill) {
394 std::unique_ptr<CPDF_PathObject> pPathObj(new CPDF_PathObject); 394 std::unique_ptr<CPDF_PathObject> pPathObj(new CPDF_PathObject);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 break; 476 break;
477 477
478 CPVT_Word word; 478 CPVT_Word word;
479 if (pIterator->GetWord(word)) { 479 if (pIterator->GetWord(word)) {
480 if (place.LineCmp(oldplace) != 0 || nOldFontIndex != word.nFontIndex) { 480 if (place.LineCmp(oldplace) != 0 || nOldFontIndex != word.nFontIndex) {
481 if (sTextBuf.GetLength() > 0) { 481 if (sTextBuf.GetLength() > 0) {
482 ObjArray.Add(AddTextObjToPageObjects( 482 ObjArray.Add(AddTextObjToPageObjects(
483 pObjectHolder, crText, pFontMap->GetPDFFont(nOldFontIndex), 483 pObjectHolder, crText, pFontMap->GetPDFFont(nOldFontIndex),
484 fFontSize, 0.0f, 100, 484 fFontSize, 0.0f, 100,
485 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 485 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
486 sTextBuf.AsStringC())); 486 sTextBuf.MakeString()));
487 487
488 sTextBuf.Clear(); 488 sTextBuf.Clear();
489 } 489 }
490 490
491 ptBT = word.ptWord; 491 ptBT = word.ptWord;
492 nOldFontIndex = word.nFontIndex; 492 nOldFontIndex = word.nFontIndex;
493 } 493 }
494 494
495 sTextBuf << GetPDFWordString(pFontMap, word.nFontIndex, word.Word, 0) 495 sTextBuf << GetPDFWordString(pFontMap, word.nFontIndex, word.Word, 0)
496 .AsStringC(); 496 .AsStringC();
497 oldplace = place; 497 oldplace = place;
498 } 498 }
499 } 499 }
500 500
501 if (sTextBuf.GetLength() > 0) { 501 if (sTextBuf.GetLength() > 0) {
502 ObjArray.Add(AddTextObjToPageObjects( 502 ObjArray.Add(AddTextObjToPageObjects(
503 pObjectHolder, crText, pFontMap->GetPDFFont(nOldFontIndex), fFontSize, 503 pObjectHolder, crText, pFontMap->GetPDFFont(nOldFontIndex), fFontSize,
504 0.0f, 100, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 504 0.0f, 100, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
505 sTextBuf.AsStringC())); 505 sTextBuf.MakeString()));
506 } 506 }
507 } 507 }
508 } 508 }
509 509
510 void IFX_Edit::GenerateRichPageObjects( 510 void IFX_Edit::GenerateRichPageObjects(
511 CPDF_PageObjectHolder* pObjectHolder, 511 CPDF_PageObjectHolder* pObjectHolder,
512 IFX_Edit* pEdit, 512 IFX_Edit* pEdit,
513 const CFX_FloatPoint& ptOffset, 513 const CFX_FloatPoint& ptOffset,
514 const CPVT_WordRange* pRange, 514 const CPVT_WordRange* pRange,
515 CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray) { 515 CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray) {
(...skipping 28 matching lines...) Expand all
544 544
545 if (place.LineCmp(oldplace) != 0 || word.WordProps.fCharSpace > 0.0f || 545 if (place.LineCmp(oldplace) != 0 || word.WordProps.fCharSpace > 0.0f ||
546 word.WordProps.nHorzScale != 100 || 546 word.WordProps.nHorzScale != 100 ||
547 FXSYS_memcmp(&word.WordProps, &wp, sizeof(CPVT_WordProps)) != 0 || 547 FXSYS_memcmp(&word.WordProps, &wp, sizeof(CPVT_WordProps)) != 0 ||
548 crOld != crCurText) { 548 crOld != crCurText) {
549 if (sTextBuf.GetLength() > 0) { 549 if (sTextBuf.GetLength() > 0) {
550 ObjArray.Add(AddTextObjToPageObjects( 550 ObjArray.Add(AddTextObjToPageObjects(
551 pObjectHolder, crOld, pFontMap->GetPDFFont(wp.nFontIndex), 551 pObjectHolder, crOld, pFontMap->GetPDFFont(wp.nFontIndex),
552 wp.fFontSize, wp.fCharSpace, wp.nHorzScale, 552 wp.fFontSize, wp.fCharSpace, wp.nHorzScale,
553 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 553 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
554 sTextBuf.AsStringC())); 554 sTextBuf.MakeString()));
555 555
556 sTextBuf.Clear(); 556 sTextBuf.Clear();
557 } 557 }
558 558
559 wp = word.WordProps; 559 wp = word.WordProps;
560 ptBT = word.ptWord; 560 ptBT = word.ptWord;
561 crOld = crCurText; 561 crOld = crCurText;
562 } 562 }
563 563
564 sTextBuf << GetPDFWordString(pFontMap, word.WordProps.nFontIndex, 564 sTextBuf << GetPDFWordString(pFontMap, word.WordProps.nFontIndex,
(...skipping 22 matching lines...) Expand all
587 587
588 oldplace = place; 588 oldplace = place;
589 } 589 }
590 } 590 }
591 591
592 if (sTextBuf.GetLength() > 0) { 592 if (sTextBuf.GetLength() > 0) {
593 ObjArray.Add(AddTextObjToPageObjects( 593 ObjArray.Add(AddTextObjToPageObjects(
594 pObjectHolder, crOld, pFontMap->GetPDFFont(wp.nFontIndex), 594 pObjectHolder, crOld, pFontMap->GetPDFFont(wp.nFontIndex),
595 wp.fFontSize, wp.fCharSpace, wp.nHorzScale, 595 wp.fFontSize, wp.fCharSpace, wp.nHorzScale,
596 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y), 596 CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
597 sTextBuf.AsStringC())); 597 sTextBuf.MakeString()));
598 } 598 }
599 } 599 }
600 } 600 }
601 601
602 void IFX_Edit::GenerateUnderlineObjects(CPDF_PageObjectHolder* pObjectHolder, 602 void IFX_Edit::GenerateUnderlineObjects(CPDF_PageObjectHolder* pObjectHolder,
603 IFX_Edit* pEdit, 603 IFX_Edit* pEdit,
604 const CFX_FloatPoint& ptOffset, 604 const CFX_FloatPoint& ptOffset,
605 const CPVT_WordRange* pRange, 605 const CPVT_WordRange* pRange,
606 FX_COLORREF color) { 606 FX_COLORREF color) {
607 IFX_Edit_Iterator* pIterator = pEdit->GetIterator(); 607 IFX_Edit_Iterator* pIterator = pEdit->GetIterator();
(...skipping 15 matching lines...) Expand all
623 CFX_FloatRect rcUnderline = GetUnderLineRect(word); 623 CFX_FloatRect rcUnderline = GetUnderLineRect(word);
624 rcUnderline.left += ptOffset.x; 624 rcUnderline.left += ptOffset.x;
625 rcUnderline.right += ptOffset.x; 625 rcUnderline.right += ptOffset.x;
626 rcUnderline.top += ptOffset.y; 626 rcUnderline.top += ptOffset.y;
627 rcUnderline.bottom += ptOffset.y; 627 rcUnderline.bottom += ptOffset.y;
628 AddRectToPageObjects(pObjectHolder, color, rcUnderline); 628 AddRectToPageObjects(pObjectHolder, color, rcUnderline);
629 } 629 }
630 } 630 }
631 } 631 }
632 } 632 }
OLDNEW
« no previous file with comments | « fpdfsdk/fxedit/fxet_ap.cpp ('k') | fpdfsdk/pdfwindow/PWL_Caret.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698