From d6e18875ce024a341e221db689cedf10d433be8d Mon Sep 17 00:00:00 2001 From: caryclark Date: Fri, 13 May 2016 10:57:20 -0700 Subject: allow Skia to be the default graphics engine PDFium uses fxge to denote the graphics engine used for general rendering. When pdf_use_skia=1 is set, use Skia as the default engine instead of antigrain. R=tsepez@chromium.org,dsinclair@chromium.org Review-Url: https://codereview.chromium.org/1975143002 --- core/fxge/agg/fx_agg_driver.cpp | 2 ++ core/fxge/include/fx_ge.h | 28 ++++----------------------- core/fxge/skia/fx_skia_device.cpp | 40 +++++++++++++++++++-------------------- 3 files changed, 26 insertions(+), 44 deletions(-) (limited to 'core/fxge') diff --git a/core/fxge/agg/fx_agg_driver.cpp b/core/fxge/agg/fx_agg_driver.cpp index ff254f0200..98bce9b7c6 100644 --- a/core/fxge/agg/fx_agg_driver.cpp +++ b/core/fxge/agg/fx_agg_driver.cpp @@ -1794,6 +1794,7 @@ void CFX_AggDeviceDriver::CancelDIBits(void* pHandle) { delete (CFX_ImageRenderer*)pHandle; } +#ifndef _SKIA_SUPPORT_ CFX_FxgeDevice::CFX_FxgeDevice() { m_bOwnedBitmap = FALSE; } @@ -1836,3 +1837,4 @@ CFX_FxgeDevice::~CFX_FxgeDevice() { delete GetBitmap(); } } +#endif diff --git a/core/fxge/include/fx_ge.h b/core/fxge/include/fx_ge.h index 9818d185ee..3c25e8ddd4 100644 --- a/core/fxge/include/fx_ge.h +++ b/core/fxge/include/fx_ge.h @@ -434,33 +434,13 @@ class CFX_FxgeDevice : public CFX_RenderDevice { int dither_bits = 0, CFX_DIBitmap* pOriDevice = NULL); - protected: - bool m_bOwnedBitmap; -}; - -class CFX_SkiaDevice : public CFX_RenderDevice { - public: - CFX_SkiaDevice(); - ~CFX_SkiaDevice() override; - - FX_BOOL Attach(CFX_DIBitmap* pBitmap, - int dither_bits = 0, - FX_BOOL bRgbByteOrder = FALSE, - CFX_DIBitmap* pOriDevice = NULL, - FX_BOOL bGroupKnockout = FALSE); - - FX_BOOL AttachRecorder(SkPictureRecorder* recorder); - - FX_BOOL Create(int width, - int height, - FXDIB_Format format, - int dither_bits = 0, - CFX_DIBitmap* pOriDevice = NULL); - +#ifdef _SKIA_SUPPORT_ + bool AttachRecorder(SkPictureRecorder* recorder); SkPictureRecorder* CreateRecorder(int size_x, int size_y); +#endif protected: - FX_BOOL m_bOwnedBitmap; + bool m_bOwnedBitmap; }; class IFX_RenderDeviceDriver { diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp index 4180d58e21..7f47d855c9 100644 --- a/core/fxge/skia/fx_skia_device.cpp +++ b/core/fxge/skia/fx_skia_device.cpp @@ -1139,55 +1139,55 @@ void CFX_SkiaDeviceDriver::CancelDIBits(void* pHandle) { delete (CFX_ImageRenderer*)pHandle; } -CFX_SkiaDevice::CFX_SkiaDevice() { +CFX_FxgeDevice::CFX_FxgeDevice() { m_bOwnedBitmap = FALSE; } -SkPictureRecorder* CFX_SkiaDevice::CreateRecorder(int size_x, int size_y) { +SkPictureRecorder* CFX_FxgeDevice::CreateRecorder(int size_x, int size_y) { CFX_SkiaDeviceDriver* skDriver = new CFX_SkiaDeviceDriver(size_x, size_y); SetDeviceDriver(skDriver); return skDriver->GetRecorder(); } -FX_BOOL CFX_SkiaDevice::Attach(CFX_DIBitmap* pBitmap, - int dither_bits, - FX_BOOL bRgbByteOrder, - CFX_DIBitmap* pOriDevice, - FX_BOOL bGroupKnockout) { +bool CFX_FxgeDevice::Attach(CFX_DIBitmap* pBitmap, + int dither_bits, + bool bRgbByteOrder, + CFX_DIBitmap* pOriDevice, + bool bGroupKnockout) { if (!pBitmap) - return FALSE; + return false; SetBitmap(pBitmap); SetDeviceDriver(new CFX_SkiaDeviceDriver(pBitmap, dither_bits, bRgbByteOrder, pOriDevice, bGroupKnockout)); - return TRUE; + return true; } -FX_BOOL CFX_SkiaDevice::AttachRecorder(SkPictureRecorder* recorder) { +bool CFX_FxgeDevice::AttachRecorder(SkPictureRecorder* recorder) { if (!recorder) - return FALSE; + return false; SetDeviceDriver(new CFX_SkiaDeviceDriver(recorder)); - return TRUE; + return true; } -FX_BOOL CFX_SkiaDevice::Create(int width, - int height, - FXDIB_Format format, - int dither_bits, - CFX_DIBitmap* pOriDevice) { +bool CFX_FxgeDevice::Create(int width, + int height, + FXDIB_Format format, + int dither_bits, + CFX_DIBitmap* pOriDevice) { m_bOwnedBitmap = TRUE; CFX_DIBitmap* pBitmap = new CFX_DIBitmap; if (!pBitmap->Create(width, height, format)) { delete pBitmap; - return FALSE; + return false; } SetBitmap(pBitmap); CFX_SkiaDeviceDriver* pDriver = new CFX_SkiaDeviceDriver(pBitmap, dither_bits, FALSE, pOriDevice, FALSE); SetDeviceDriver(pDriver); - return TRUE; + return true; } -CFX_SkiaDevice::~CFX_SkiaDevice() { +CFX_FxgeDevice::~CFX_FxgeDevice() { if (m_bOwnedBitmap && GetBitmap()) delete GetBitmap(); } -- cgit v1.2.3