| Index: core/fxge/ge/fx_ge_device.cpp
|
| diff --git a/core/fxge/ge/fx_ge_device.cpp b/core/fxge/ge/fx_ge_device.cpp
|
| index b8ddfec8413d95efcf291e6b17437013a6825b1f..eefac5c0334444a5a36eed8c5488ff144e4bf566 100644
|
| --- a/core/fxge/ge/fx_ge_device.cpp
|
| +++ b/core/fxge/ge/fx_ge_device.cpp
|
| @@ -109,6 +109,7 @@ void CFX_RenderDevice::UpdateClipBox() {
|
| m_ClipBox.right = m_Width;
|
| m_ClipBox.bottom = m_Height;
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::DrawPath(const CFX_PathData* pPathData,
|
| const CFX_Matrix* pObject2Device,
|
| const CFX_GraphStateData* pGraphState,
|
| @@ -224,6 +225,31 @@ FX_BOOL CFX_RenderDevice::DrawPath(const CFX_PathData* pPathData,
|
| }
|
| if ((fill_mode & 3) && fill_alpha && stroke_alpha < 0xff &&
|
| (fill_mode & FX_FILL_STROKE)) {
|
| + if (m_RenderCaps & FXRC_FILLSTROKE_PATH) {
|
| + return m_pDeviceDriver->DrawPath(pPathData, pObject2Device, pGraphState,
|
| + fill_color, stroke_color, fill_mode,
|
| + alpha_flag, pIccTransform, blend_type);
|
| + }
|
| + return DrawFillStrokePath(pPathData, pObject2Device, pGraphState,
|
| + fill_color, stroke_color, fill_mode, alpha_flag,
|
| + pIccTransform, blend_type);
|
| + }
|
| + return m_pDeviceDriver->DrawPath(pPathData, pObject2Device, pGraphState,
|
| + fill_color, stroke_color, fill_mode,
|
| + alpha_flag, pIccTransform, blend_type);
|
| +}
|
| +
|
| +// This can be removed once PDFium entirely relies on Skia
|
| +FX_BOOL CFX_RenderDevice::DrawFillStrokePath(
|
| + const CFX_PathData* pPathData,
|
| + const CFX_Matrix* pObject2Device,
|
| + const CFX_GraphStateData* pGraphState,
|
| + FX_DWORD fill_color,
|
| + FX_DWORD stroke_color,
|
| + int fill_mode,
|
| + int alpha_flag,
|
| + void* pIccTransform,
|
| + int blend_type) {
|
| if (!(m_RenderCaps & FXRC_GET_BITS)) {
|
| return FALSE;
|
| }
|
| @@ -272,11 +298,8 @@ FX_BOOL CFX_RenderDevice::DrawPath(const CFX_PathData* pPathData,
|
| FXSYS_round(rect.Height() * fScaleY));
|
| return m_pDeviceDriver->SetDIBits(&bitmap, 0, &src_rect, rect.left,
|
| rect.top, FXDIB_BLEND_NORMAL);
|
| - }
|
| - return m_pDeviceDriver->DrawPath(pPathData, pObject2Device, pGraphState,
|
| - fill_color, stroke_color, fill_mode,
|
| - alpha_flag, pIccTransform, blend_type);
|
| }
|
| +
|
| FX_BOOL CFX_RenderDevice::SetPixel(int x,
|
| int y,
|
| FX_DWORD color,
|
|
|