From c3202a95773d7a2c95038ad45c5ba2c9e095e67b Mon Sep 17 00:00:00 2001 From: Nicolas Pena Date: Tue, 4 Apr 2017 13:38:29 -0400 Subject: Let CPDF_ImageRenderer own the CFX_ImageRenderer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL avoids some void* usage and removes CancelDIBits after making a CPDF_ImageRenderer own its CFX_ImageRenderer. Bug: pdfium:686 Change-Id: Ied205c57a858cc14d8e2c592db3444ed465b2796 Reviewed-on: https://pdfium-review.googlesource.com/3673 Reviewed-by: Tom Sepez Commit-Queue: Nicolás Peña --- core/fxge/agg/fx_agg_driver.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'core/fxge/agg/fx_agg_driver.cpp') diff --git a/core/fxge/agg/fx_agg_driver.cpp b/core/fxge/agg/fx_agg_driver.cpp index 031246b494..a04d716b8f 100644 --- a/core/fxge/agg/fx_agg_driver.cpp +++ b/core/fxge/agg/fx_agg_driver.cpp @@ -1650,29 +1650,20 @@ bool CFX_AggDeviceDriver::StartDIBits( uint32_t argb, const CFX_Matrix* pMatrix, uint32_t render_flags, - void*& handle, + std::unique_ptr* handle, int blend_type) { if (!m_pBitmap->GetBuffer()) return true; - CFX_ImageRenderer* pRenderer = new CFX_ImageRenderer; - pRenderer->Start(m_pBitmap, m_pClipRgn.get(), pSource, bitmap_alpha, argb, + *handle = pdfium::MakeUnique(); + (*handle)->Start(m_pBitmap, m_pClipRgn.get(), pSource, bitmap_alpha, argb, pMatrix, render_flags, m_bRgbByteOrder, 0, nullptr); - handle = pRenderer; return true; } -bool CFX_AggDeviceDriver::ContinueDIBits(void* pHandle, IFX_Pause* pPause) { - return m_pBitmap->GetBuffer() - ? reinterpret_cast(pHandle)->Continue(pPause) - : true; -} - -void CFX_AggDeviceDriver::CancelDIBits(void* pHandle) { - if (!m_pBitmap->GetBuffer()) - return; - - delete reinterpret_cast(pHandle); +bool CFX_AggDeviceDriver::ContinueDIBits(CFX_ImageRenderer* pHandle, + IFX_Pause* pPause) { + return m_pBitmap->GetBuffer() ? pHandle->Continue(pPause) : true; } #ifndef _SKIA_SUPPORT_ -- cgit v1.2.3