Index: core/fpdfapi/fpdf_render/fpdf_render.cpp |
diff --git a/core/fpdfapi/fpdf_render/fpdf_render.cpp b/core/fpdfapi/fpdf_render/fpdf_render.cpp |
index b69863b5b05ab6e38e51da65d6cf8bc7971487b3..a3dbbdb3f20c7eb5359a304350a2e01c74039369 100644 |
--- a/core/fpdfapi/fpdf_render/fpdf_render.cpp |
+++ b/core/fpdfapi/fpdf_render/fpdf_render.cpp |
@@ -142,7 +142,6 @@ CPDF_RenderStatus::CPDF_RenderStatus() |
m_HalftoneLimit(0), |
m_bPrint(FALSE), |
m_Transparency(0), |
- m_DitherBits(0), |
m_bDropObjects(FALSE), |
m_bStdCS(FALSE), |
m_GroupFamily(0), |
@@ -170,7 +169,6 @@ FX_BOOL CPDF_RenderStatus::Initialize(CPDF_RenderContext* pContext, |
FX_BOOL bLoadMask) { |
m_pContext = pContext; |
m_pDevice = pDevice; |
- m_DitherBits = pDevice->GetDeviceCaps(FXDC_DITHER_BITS); |
m_bPrint = m_pDevice->GetDeviceClass() != FXDC_DISPLAY; |
if (pDeviceMatrix) { |
m_DeviceMatrix = *pDeviceMatrix; |
@@ -320,28 +318,6 @@ FX_BOOL CPDF_RenderStatus::GetObjectClippedRect(const CPDF_PageObject* pObj, |
rect.Intersect(rtClip); |
return rect.IsEmpty(); |
} |
-void CPDF_RenderStatus::DitherObjectArea(const CPDF_PageObject* pObj, |
- const CFX_Matrix* pObj2Device) { |
- CFX_DIBitmap* pBitmap = m_pDevice->GetBitmap(); |
- if (!pBitmap) { |
- return; |
- } |
- FX_RECT rect; |
- if (GetObjectClippedRect(pObj, pObj2Device, FALSE, rect)) { |
- return; |
- } |
- if (m_DitherBits == 2) { |
- static FX_ARGB pal[4] = {0, 85, 170, 255}; |
- pBitmap->DitherFS(pal, 4, &rect); |
- } else if (m_DitherBits == 3) { |
- static FX_ARGB pal[8] = {0, 36, 73, 109, 146, 182, 219, 255}; |
- pBitmap->DitherFS(pal, 8, &rect); |
- } else if (m_DitherBits == 4) { |
- static FX_ARGB pal[16] = {0, 17, 34, 51, 68, 85, 102, 119, |
- 136, 153, 170, 187, 204, 221, 238, 255}; |
- pBitmap->DitherFS(pal, 16, &rect); |
- } |
-} |
void CPDF_RenderStatus::ProcessObjectNoClip(const CPDF_PageObject* pObj, |
const CFX_Matrix* pObj2Device) { |
@@ -788,7 +764,7 @@ FX_BOOL CPDF_RenderStatus::ProcessTransparency(const CPDF_PageObject* pPageObj, |
m_pDevice->GetDIBits(oriDevice.get(), rect.left, rect.top); |
} |
- if (!bitmap_device.Create(width, height, FXDIB_Argb, 0, oriDevice.get())) |
+ if (!bitmap_device.Create(width, height, FXDIB_Argb, oriDevice.get())) |
return TRUE; |
CFX_DIBitmap* bitmap = bitmap_device.GetBitmap(); |
@@ -804,7 +780,7 @@ FX_BOOL CPDF_RenderStatus::ProcessTransparency(const CPDF_PageObject* pPageObj, |
pTextMask->Clear(0); |
CFX_FxgeDevice text_device; |
- text_device.Attach(pTextMask.get()); |
+ text_device.Attach(pTextMask.get(), false, nullptr, false); |
for (uint32_t i = 0; i < pPageObj->m_ClipPath.GetTextCount(); i++) { |
CPDF_TextObject* textobj = pPageObj->m_ClipPath.GetText(i); |
if (!textobj) { |
@@ -890,7 +866,7 @@ CFX_DIBitmap* CPDF_RenderStatus::GetBackdrop(const CPDF_PageObject* pObj, |
FinalMatrix.Scale(scaleX, scaleY); |
pBackdrop->Clear(pBackdrop->HasAlpha() ? 0 : 0xffffffff); |
CFX_FxgeDevice device; |
- device.Attach(pBackdrop.get()); |
+ device.Attach(pBackdrop.get(), false, nullptr, false); |
m_pContext->Render(&device, pObj, &m_Options, &FinalMatrix); |
return pBackdrop.release(); |
} |
@@ -900,7 +876,7 @@ void CPDF_RenderContext::GetBackground(CFX_DIBitmap* pBuffer, |
const CPDF_RenderOptions* pOptions, |
CFX_Matrix* pFinalMatrix) { |
CFX_FxgeDevice device; |
- device.Attach(pBuffer); |
+ device.Attach(pBuffer, false, nullptr, false); |
FX_RECT rect(0, 0, device.GetWidth(), device.GetHeight()); |
device.FillRect(&rect, 0xffffffff); |
@@ -1282,7 +1258,7 @@ FX_BOOL CPDF_ScaledRenderBuffer::Initialize(CPDF_RenderContext* pContext, |
return FALSE; |
if (iPitch * iHeight <= _FPDFAPI_IMAGESIZE_LIMIT_ && |
- m_pBitmapDevice->Create(iWidth, iHeight, dibFormat)) { |
+ m_pBitmapDevice->Create(iWidth, iHeight, dibFormat, nullptr)) { |
break; |
} |
m_Matrix.Scale(0.5f, 0.5f); |