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

Side by Side Diff: core/fxge/skia/fx_skia_device.cpp

Issue 2386273004: Add ptr_util.h from base until std::make_unique<> available (Closed)
Patch Set: 2016 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/fxge/ge/cfx_fontmgr.cpp ('k') | core/fxge/win32/fx_win32_device.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 #if defined(_SKIA_SUPPORT_) 5 #if defined(_SKIA_SUPPORT_)
6 #include <algorithm> 6 #include <algorithm>
7 #include <vector> 7 #include <vector>
8 8
9 #include "core/fxcodec/fx_codec.h" 9 #include "core/fxcodec/fx_codec.h"
10 #include "core/fxcrt/fx_memory.h" 10 #include "core/fxcrt/fx_memory.h"
11 11
12 #include "core/fpdfapi/fpdf_page/cpdf_shadingpattern.h" 12 #include "core/fpdfapi/fpdf_page/cpdf_shadingpattern.h"
13 #include "core/fpdfapi/fpdf_page/pageint.h" 13 #include "core/fpdfapi/fpdf_page/pageint.h"
14 #include "core/fpdfapi/fpdf_parser/cpdf_array.h" 14 #include "core/fpdfapi/fpdf_parser/cpdf_array.h"
15 #include "core/fpdfapi/fpdf_parser/cpdf_dictionary.h" 15 #include "core/fpdfapi/fpdf_parser/cpdf_dictionary.h"
16 #include "core/fpdfapi/fpdf_parser/cpdf_stream_acc.h" 16 #include "core/fpdfapi/fpdf_parser/cpdf_stream_acc.h"
17 #include "core/fxge/cfx_fxgedevice.h" 17 #include "core/fxge/cfx_fxgedevice.h"
18 #include "core/fxge/cfx_gemodule.h" 18 #include "core/fxge/cfx_gemodule.h"
19 #include "core/fxge/cfx_graphstatedata.h" 19 #include "core/fxge/cfx_graphstatedata.h"
20 #include "core/fxge/cfx_pathdata.h" 20 #include "core/fxge/cfx_pathdata.h"
21 #include "core/fxge/cfx_renderdevice.h" 21 #include "core/fxge/cfx_renderdevice.h"
22 #include "core/fxge/skia/fx_skia_device.h" 22 #include "core/fxge/skia/fx_skia_device.h"
23 23 #include "third_party/base/ptr_util.h"
24 #include "third_party/skia/include/core/SkCanvas.h" 24 #include "third_party/skia/include/core/SkCanvas.h"
25 #include "third_party/skia/include/core/SkColorFilter.h" 25 #include "third_party/skia/include/core/SkColorFilter.h"
26 #include "third_party/skia/include/core/SkColorPriv.h" 26 #include "third_party/skia/include/core/SkColorPriv.h"
27 #include "third_party/skia/include/core/SkMaskFilter.h" 27 #include "third_party/skia/include/core/SkMaskFilter.h"
28 #include "third_party/skia/include/core/SkPaint.h" 28 #include "third_party/skia/include/core/SkPaint.h"
29 #include "third_party/skia/include/core/SkPath.h" 29 #include "third_party/skia/include/core/SkPath.h"
30 #include "third_party/skia/include/core/SkPictureRecorder.h" 30 #include "third_party/skia/include/core/SkPictureRecorder.h"
31 #include "third_party/skia/include/core/SkShader.h" 31 #include "third_party/skia/include/core/SkShader.h"
32 #include "third_party/skia/include/core/SkStream.h" 32 #include "third_party/skia/include/core/SkStream.h"
33 #include "third_party/skia/include/core/SkTypeface.h" 33 #include "third_party/skia/include/core/SkTypeface.h"
(...skipping 1545 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 } 1579 }
1580 1580
1581 void CFX_FxgeDevice::Clear(uint32_t color) { 1581 void CFX_FxgeDevice::Clear(uint32_t color) {
1582 CFX_SkiaDeviceDriver* skDriver = 1582 CFX_SkiaDeviceDriver* skDriver =
1583 static_cast<CFX_SkiaDeviceDriver*>(GetDeviceDriver()); 1583 static_cast<CFX_SkiaDeviceDriver*>(GetDeviceDriver());
1584 skDriver->Clear(color); 1584 skDriver->Clear(color);
1585 } 1585 }
1586 1586
1587 SkPictureRecorder* CFX_FxgeDevice::CreateRecorder(int size_x, int size_y) { 1587 SkPictureRecorder* CFX_FxgeDevice::CreateRecorder(int size_x, int size_y) {
1588 CFX_SkiaDeviceDriver* skDriver = new CFX_SkiaDeviceDriver(size_x, size_y); 1588 CFX_SkiaDeviceDriver* skDriver = new CFX_SkiaDeviceDriver(size_x, size_y);
1589 SetDeviceDriver(WrapUnique(skDriver)); 1589 SetDeviceDriver(pdfium::WrapUnique(skDriver));
1590 return skDriver->GetRecorder(); 1590 return skDriver->GetRecorder();
1591 } 1591 }
1592 1592
1593 bool CFX_FxgeDevice::Attach(CFX_DIBitmap* pBitmap, 1593 bool CFX_FxgeDevice::Attach(CFX_DIBitmap* pBitmap,
1594 bool bRgbByteOrder, 1594 bool bRgbByteOrder,
1595 CFX_DIBitmap* pOriDevice, 1595 CFX_DIBitmap* pOriDevice,
1596 bool bGroupKnockout) { 1596 bool bGroupKnockout) {
1597 if (!pBitmap) 1597 if (!pBitmap)
1598 return false; 1598 return false;
1599 SetBitmap(pBitmap); 1599 SetBitmap(pBitmap);
1600 SetDeviceDriver(WrapUnique(new CFX_SkiaDeviceDriver( 1600 SetDeviceDriver(pdfium::MakeUnique<CFX_SkiaDeviceDriver>(
1601 pBitmap, bRgbByteOrder, pOriDevice, bGroupKnockout))); 1601 pBitmap, bRgbByteOrder, pOriDevice, bGroupKnockout));
1602 return true; 1602 return true;
1603 } 1603 }
1604 1604
1605 bool CFX_FxgeDevice::AttachRecorder(SkPictureRecorder* recorder) { 1605 bool CFX_FxgeDevice::AttachRecorder(SkPictureRecorder* recorder) {
1606 if (!recorder) 1606 if (!recorder)
1607 return false; 1607 return false;
1608 SetDeviceDriver(WrapUnique(new CFX_SkiaDeviceDriver(recorder))); 1608 SetDeviceDriver(pdfium::MakeUnique<CFX_SkiaDeviceDriver>(recorder));
1609 return true; 1609 return true;
1610 } 1610 }
1611 1611
1612 bool CFX_FxgeDevice::Create(int width, 1612 bool CFX_FxgeDevice::Create(int width,
1613 int height, 1613 int height,
1614 FXDIB_Format format, 1614 FXDIB_Format format,
1615 CFX_DIBitmap* pOriDevice) { 1615 CFX_DIBitmap* pOriDevice) {
1616 m_bOwnedBitmap = TRUE; 1616 m_bOwnedBitmap = TRUE;
1617 CFX_DIBitmap* pBitmap = new CFX_DIBitmap; 1617 CFX_DIBitmap* pBitmap = new CFX_DIBitmap;
1618 if (!pBitmap->Create(width, height, format)) { 1618 if (!pBitmap->Create(width, height, format)) {
1619 delete pBitmap; 1619 delete pBitmap;
1620 return false; 1620 return false;
1621 } 1621 }
1622 SetBitmap(pBitmap); 1622 SetBitmap(pBitmap);
1623 SetDeviceDriver( 1623 SetDeviceDriver(pdfium::MakeUnique<CFX_SkiaDeviceDriver>(pBitmap, FALSE,
1624 WrapUnique(new CFX_SkiaDeviceDriver(pBitmap, FALSE, pOriDevice, FALSE))); 1624 pOriDevice, FALSE));
1625 return true; 1625 return true;
1626 } 1626 }
1627 1627
1628 CFX_FxgeDevice::~CFX_FxgeDevice() { 1628 CFX_FxgeDevice::~CFX_FxgeDevice() {
1629 Flush(); 1629 Flush();
1630 // call destructor of CFX_RenderDevice / CFX_SkiaDeviceDriver immediately 1630 // call destructor of CFX_RenderDevice / CFX_SkiaDeviceDriver immediately
1631 if (m_bOwnedBitmap && GetBitmap()) 1631 if (m_bOwnedBitmap && GetBitmap())
1632 delete GetBitmap(); 1632 delete GetBitmap();
1633 } 1633 }
1634 1634
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1672 SkA32Assert(a); 1672 SkA32Assert(a);
1673 SkASSERT(r <= a); 1673 SkASSERT(r <= a);
1674 SkASSERT(g <= a); 1674 SkASSERT(g <= a);
1675 SkASSERT(b <= a); 1675 SkASSERT(b <= a);
1676 } 1676 }
1677 } 1677 }
1678 #endif 1678 #endif
1679 } 1679 }
1680 1680
1681 #endif 1681 #endif
OLDNEW
« no previous file with comments | « core/fxge/ge/cfx_fontmgr.cpp ('k') | core/fxge/win32/fx_win32_device.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698