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

Side by Side Diff: core/fxge/agg/fx_agg_driver.cpp

Issue 2382443004: Replace a few more std::unique_ptr.reset() with WrapUnique assignments. (Closed)
Patch Set: 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
« no previous file with comments | « core/fxcrt/fx_xml_parser.cpp ('k') | core/fxge/dib/fx_dib_engine.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/fxge/agg/fx_agg_driver.h" 7 #include "core/fxge/agg/fx_agg_driver.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 } 491 }
492 return flags; 492 return flags;
493 } 493 }
494 } 494 }
495 return 0; 495 return 0;
496 } 496 }
497 497
498 void CFX_AggDeviceDriver::SaveState() { 498 void CFX_AggDeviceDriver::SaveState() {
499 std::unique_ptr<CFX_ClipRgn> pClip; 499 std::unique_ptr<CFX_ClipRgn> pClip;
500 if (m_pClipRgn) 500 if (m_pClipRgn)
501 pClip.reset(new CFX_ClipRgn(*m_pClipRgn)); 501 pClip = WrapUnique(new CFX_ClipRgn(*m_pClipRgn));
502 m_StateStack.push_back(std::move(pClip)); 502 m_StateStack.push_back(std::move(pClip));
503 } 503 }
504 504
505 void CFX_AggDeviceDriver::RestoreState(bool bKeepSaved) { 505 void CFX_AggDeviceDriver::RestoreState(bool bKeepSaved) {
506 m_pClipRgn.reset(); 506 m_pClipRgn.reset();
507 507
508 if (m_StateStack.empty()) 508 if (m_StateStack.empty())
509 return; 509 return;
510 510
511 if (bKeepSaved) { 511 if (bKeepSaved) {
512 if (m_StateStack.back()) 512 if (m_StateStack.back())
513 m_pClipRgn.reset(new CFX_ClipRgn(*m_StateStack.back())); 513 m_pClipRgn = WrapUnique(new CFX_ClipRgn(*m_StateStack.back()));
514 } else { 514 } else {
515 m_pClipRgn = std::move(m_StateStack.back()); 515 m_pClipRgn = std::move(m_StateStack.back());
516 m_StateStack.pop_back(); 516 m_StateStack.pop_back();
517 } 517 }
518 } 518 }
519 519
520 void CFX_AggDeviceDriver::SetClipMask(agg::rasterizer_scanline_aa& rasterizer) { 520 void CFX_AggDeviceDriver::SetClipMask(agg::rasterizer_scanline_aa& rasterizer) {
521 FX_RECT path_rect(rasterizer.min_x(), rasterizer.min_y(), 521 FX_RECT path_rect(rasterizer.min_x(), rasterizer.min_y(),
522 rasterizer.max_x() + 1, rasterizer.max_y() + 1); 522 rasterizer.max_x() + 1, rasterizer.max_y() + 1);
523 path_rect.Intersect(m_pClipRgn->GetBox()); 523 path_rect.Intersect(m_pClipRgn->GetBox());
(...skipping 13 matching lines...) Expand all
537 agg::render_scanlines(rasterizer, scanline, final_render, 537 agg::render_scanlines(rasterizer, scanline, final_render,
538 (m_FillFlags & FXFILL_NOPATHSMOOTH) != 0); 538 (m_FillFlags & FXFILL_NOPATHSMOOTH) != 0);
539 m_pClipRgn->IntersectMaskF(path_rect.left, path_rect.top, mask); 539 m_pClipRgn->IntersectMaskF(path_rect.left, path_rect.top, mask);
540 } 540 }
541 541
542 FX_BOOL CFX_AggDeviceDriver::SetClip_PathFill(const CFX_PathData* pPathData, 542 FX_BOOL CFX_AggDeviceDriver::SetClip_PathFill(const CFX_PathData* pPathData,
543 const CFX_Matrix* pObject2Device, 543 const CFX_Matrix* pObject2Device,
544 int fill_mode) { 544 int fill_mode) {
545 m_FillFlags = fill_mode; 545 m_FillFlags = fill_mode;
546 if (!m_pClipRgn) { 546 if (!m_pClipRgn) {
547 m_pClipRgn.reset(new CFX_ClipRgn(GetDeviceCaps(FXDC_PIXEL_WIDTH), 547 m_pClipRgn = WrapUnique(new CFX_ClipRgn(GetDeviceCaps(FXDC_PIXEL_WIDTH),
548 GetDeviceCaps(FXDC_PIXEL_HEIGHT))); 548 GetDeviceCaps(FXDC_PIXEL_HEIGHT)));
549 } 549 }
550 if (pPathData->GetPointCount() == 5 || pPathData->GetPointCount() == 4) { 550 if (pPathData->GetPointCount() == 5 || pPathData->GetPointCount() == 4) {
551 CFX_FloatRect rectf; 551 CFX_FloatRect rectf;
552 if (pPathData->IsRect(pObject2Device, &rectf)) { 552 if (pPathData->IsRect(pObject2Device, &rectf)) {
553 rectf.Intersect( 553 rectf.Intersect(
554 CFX_FloatRect(0, 0, (FX_FLOAT)GetDeviceCaps(FXDC_PIXEL_WIDTH), 554 CFX_FloatRect(0, 0, (FX_FLOAT)GetDeviceCaps(FXDC_PIXEL_WIDTH),
555 (FX_FLOAT)GetDeviceCaps(FXDC_PIXEL_HEIGHT))); 555 (FX_FLOAT)GetDeviceCaps(FXDC_PIXEL_HEIGHT)));
556 FX_RECT rect = rectf.GetOuterRect(); 556 FX_RECT rect = rectf.GetOuterRect();
557 m_pClipRgn->IntersectRect(rect); 557 m_pClipRgn->IntersectRect(rect);
558 return TRUE; 558 return TRUE;
(...skipping 11 matching lines...) Expand all
570 : agg::fill_even_odd); 570 : agg::fill_even_odd);
571 SetClipMask(rasterizer); 571 SetClipMask(rasterizer);
572 return TRUE; 572 return TRUE;
573 } 573 }
574 574
575 FX_BOOL CFX_AggDeviceDriver::SetClip_PathStroke( 575 FX_BOOL CFX_AggDeviceDriver::SetClip_PathStroke(
576 const CFX_PathData* pPathData, 576 const CFX_PathData* pPathData,
577 const CFX_Matrix* pObject2Device, 577 const CFX_Matrix* pObject2Device,
578 const CFX_GraphStateData* pGraphState) { 578 const CFX_GraphStateData* pGraphState) {
579 if (!m_pClipRgn) { 579 if (!m_pClipRgn) {
580 m_pClipRgn.reset(new CFX_ClipRgn(GetDeviceCaps(FXDC_PIXEL_WIDTH), 580 m_pClipRgn = WrapUnique(new CFX_ClipRgn(GetDeviceCaps(FXDC_PIXEL_WIDTH),
581 GetDeviceCaps(FXDC_PIXEL_HEIGHT))); 581 GetDeviceCaps(FXDC_PIXEL_HEIGHT)));
582 } 582 }
583 CAgg_PathData path_data; 583 CAgg_PathData path_data;
584 path_data.BuildPath(pPathData, nullptr); 584 path_data.BuildPath(pPathData, nullptr);
585 agg::rasterizer_scanline_aa rasterizer; 585 agg::rasterizer_scanline_aa rasterizer;
586 rasterizer.clip_box(0.0f, 0.0f, (FX_FLOAT)(GetDeviceCaps(FXDC_PIXEL_WIDTH)), 586 rasterizer.clip_box(0.0f, 0.0f, (FX_FLOAT)(GetDeviceCaps(FXDC_PIXEL_WIDTH)),
587 (FX_FLOAT)(GetDeviceCaps(FXDC_PIXEL_HEIGHT))); 587 (FX_FLOAT)(GetDeviceCaps(FXDC_PIXEL_HEIGHT)));
588 RasterizeStroke(rasterizer, path_data.m_PathData, pObject2Device, 588 RasterizeStroke(rasterizer, path_data.m_PathData, pObject2Device,
589 pGraphState); 589 pGraphState);
590 rasterizer.filling_rule(agg::fill_non_zero); 590 rasterizer.filling_rule(agg::fill_non_zero);
591 SetClipMask(rasterizer); 591 SetClipMask(rasterizer);
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 WrapUnique(new CFX_AggDeviceDriver(pBitmap, FALSE, pOriDevice, FALSE))); 1755 WrapUnique(new CFX_AggDeviceDriver(pBitmap, FALSE, pOriDevice, FALSE)));
1756 return true; 1756 return true;
1757 } 1757 }
1758 1758
1759 CFX_FxgeDevice::~CFX_FxgeDevice() { 1759 CFX_FxgeDevice::~CFX_FxgeDevice() {
1760 if (m_bOwnedBitmap) { 1760 if (m_bOwnedBitmap) {
1761 delete GetBitmap(); 1761 delete GetBitmap();
1762 } 1762 }
1763 } 1763 }
1764 #endif 1764 #endif
OLDNEW
« no previous file with comments | « core/fxcrt/fx_xml_parser.cpp ('k') | core/fxge/dib/fx_dib_engine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698