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

Side by Side Diff: fpdfsdk/fpdfview.cpp

Issue 2453163002: Take advantage of implicit std::unique_ptr<>(nulltpr_t) ctor. (Closed)
Patch Set: Created 4 years, 1 month 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/fpdfdoc_unittest.cpp ('k') | fpdfsdk/pdfwindow/PWL_FontMap.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 "public/fpdfview.h" 7 #include "public/fpdfview.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 pDst->Create(size_x, size_y, FXDIB_Rgb32); 568 pDst->Create(size_x, size_y, FXDIB_Rgb32);
569 FXSYS_memset(pDst->GetBuffer(), -1, pitch * size_y); 569 FXSYS_memset(pDst->GetBuffer(), -1, pitch * size_y);
570 pDst->CompositeBitmap(0, 0, size_x, size_y, pBitmap.get(), 0, 0, 570 pDst->CompositeBitmap(0, 0, size_x, size_y, pBitmap.get(), 0, 0,
571 FXDIB_BLEND_NORMAL, nullptr, FALSE, nullptr); 571 FXDIB_BLEND_NORMAL, nullptr, FALSE, nullptr);
572 WinDC.StretchDIBits(pDst.get(), 0, 0, size_x, size_y); 572 WinDC.StretchDIBits(pDst.get(), 0, 0, size_x, size_y);
573 } else { 573 } else {
574 WinDC.SetDIBits(pBitmap.get(), 0, 0); 574 WinDC.SetDIBits(pBitmap.get(), 0, 0);
575 } 575 }
576 } 576 }
577 577
578 pPage->SetRenderContext(std::unique_ptr<CPDF_PageRenderContext>()); 578 pPage->SetRenderContext(nullptr);
579 } 579 }
580 #endif // defined(_WIN32) 580 #endif // defined(_WIN32)
581 581
582 DLLEXPORT void STDCALL FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, 582 DLLEXPORT void STDCALL FPDF_RenderPageBitmap(FPDF_BITMAP bitmap,
583 FPDF_PAGE page, 583 FPDF_PAGE page,
584 int start_x, 584 int start_x,
585 int start_y, 585 int start_y,
586 int size_x, 586 int size_x,
587 int size_y, 587 int size_y,
588 int rotate, 588 int rotate,
589 int flags) { 589 int flags) {
590 if (!bitmap) 590 if (!bitmap)
591 return; 591 return;
592 592
593 CPDF_Page* pPage = CPDFPageFromFPDFPage(page); 593 CPDF_Page* pPage = CPDFPageFromFPDFPage(page);
594 if (!pPage) 594 if (!pPage)
595 return; 595 return;
596 596
597 CPDF_PageRenderContext* pContext = new CPDF_PageRenderContext; 597 CPDF_PageRenderContext* pContext = new CPDF_PageRenderContext;
598 pPage->SetRenderContext(pdfium::WrapUnique(pContext)); 598 pPage->SetRenderContext(pdfium::WrapUnique(pContext));
599 CFX_FxgeDevice* pDevice = new CFX_FxgeDevice; 599 CFX_FxgeDevice* pDevice = new CFX_FxgeDevice;
600 pContext->m_pDevice.reset(pDevice); 600 pContext->m_pDevice.reset(pDevice);
601 CFX_DIBitmap* pBitmap = CFXBitmapFromFPDFBitmap(bitmap); 601 CFX_DIBitmap* pBitmap = CFXBitmapFromFPDFBitmap(bitmap);
602 pDevice->Attach(pBitmap, !!(flags & FPDF_REVERSE_BYTE_ORDER), nullptr, false); 602 pDevice->Attach(pBitmap, !!(flags & FPDF_REVERSE_BYTE_ORDER), nullptr, false);
603 603
604 FPDF_RenderPage_Retail(pContext, page, start_x, start_y, size_x, size_y, 604 FPDF_RenderPage_Retail(pContext, page, start_x, start_y, size_x, size_y,
605 rotate, flags, TRUE, nullptr); 605 rotate, flags, TRUE, nullptr);
606 606
607 pPage->SetRenderContext(std::unique_ptr<CPDF_PageRenderContext>()); 607 pPage->SetRenderContext(nullptr);
608 } 608 }
609 609
610 #ifdef _SKIA_SUPPORT_ 610 #ifdef _SKIA_SUPPORT_
611 DLLEXPORT FPDF_RECORDER STDCALL FPDF_RenderPageSkp(FPDF_PAGE page, 611 DLLEXPORT FPDF_RECORDER STDCALL FPDF_RenderPageSkp(FPDF_PAGE page,
612 int size_x, 612 int size_x,
613 int size_y) { 613 int size_y) {
614 CPDF_Page* pPage = CPDFPageFromFPDFPage(page); 614 CPDF_Page* pPage = CPDFPageFromFPDFPage(page);
615 if (!pPage) 615 if (!pPage)
616 return nullptr; 616 return nullptr;
617 617
618 CPDF_PageRenderContext* pContext = new CPDF_PageRenderContext; 618 CPDF_PageRenderContext* pContext = new CPDF_PageRenderContext;
619 pPage->SetRenderContext(pdfium::WrapUnique(pContext)); 619 pPage->SetRenderContext(pdfium::WrapUnique(pContext));
620 CFX_FxgeDevice* skDevice = new CFX_FxgeDevice; 620 CFX_FxgeDevice* skDevice = new CFX_FxgeDevice;
621 FPDF_RECORDER recorder = skDevice->CreateRecorder(size_x, size_y); 621 FPDF_RECORDER recorder = skDevice->CreateRecorder(size_x, size_y);
622 pContext->m_pDevice.reset(skDevice); 622 pContext->m_pDevice.reset(skDevice);
623 FPDF_RenderPage_Retail(pContext, page, 0, 0, size_x, size_y, 0, 0, TRUE, 623 FPDF_RenderPage_Retail(pContext, page, 0, 0, size_x, size_y, 0, 0, TRUE,
624 nullptr); 624 nullptr);
625 pPage->SetRenderContext(std::unique_ptr<CPDF_PageRenderContext>()); 625 pPage->SetRenderContext(nullptr);
626 return recorder; 626 return recorder;
627 } 627 }
628 #endif 628 #endif
629 629
630 DLLEXPORT void STDCALL FPDF_ClosePage(FPDF_PAGE page) { 630 DLLEXPORT void STDCALL FPDF_ClosePage(FPDF_PAGE page) {
631 UnderlyingPageType* pPage = UnderlyingFromFPDFPage(page); 631 UnderlyingPageType* pPage = UnderlyingFromFPDFPage(page);
632 if (!page) 632 if (!page)
633 return; 633 return;
634 #ifdef PDF_ENABLE_XFA 634 #ifdef PDF_ENABLE_XFA
635 pPage->Release(); 635 pPage->Release();
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 if (!buffer) { 1095 if (!buffer) {
1096 *buflen = len; 1096 *buflen = len;
1097 } else if (*buflen >= len) { 1097 } else if (*buflen >= len) {
1098 memcpy(buffer, utf16Name.c_str(), len); 1098 memcpy(buffer, utf16Name.c_str(), len);
1099 *buflen = len; 1099 *buflen = len;
1100 } else { 1100 } else {
1101 *buflen = -1; 1101 *buflen = -1;
1102 } 1102 }
1103 return (FPDF_DEST)pDestObj; 1103 return (FPDF_DEST)pDestObj;
1104 } 1104 }
OLDNEW
« no previous file with comments | « fpdfsdk/fpdfdoc_unittest.cpp ('k') | fpdfsdk/pdfwindow/PWL_FontMap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698