#include "core/fpdfapi/render/cpdf_rendercontext.h"
#include <utility>
#include "build/build_config.h"
#include "core/fpdfapi/page/cpdf_pageimagecache.h"
#include "core/fpdfapi/page/cpdf_pageobject.h"
#include "core/fpdfapi/page/cpdf_pageobjectholder.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fpdfapi/render/cpdf_progressiverenderer.h"
#include "core/fpdfapi/render/cpdf_renderoptions.h"
#include "core/fpdfapi/render/cpdf_renderstatus.h"
#include "core/fpdfapi/render/cpdf_textrenderer.h"
#include "core/fxcrt/check.h"
#include "core/fxge/cfx_defaultrenderdevice.h"
#include "core/fxge/cfx_renderdevice.h"
#include "core/fxge/dib/cfx_dibitmap.h"
#include "core/fxge/dib/fx_dib.h"
CPDF_RenderContext::CPDF_RenderContext(
CPDF_Document* pDoc,
RetainPtr<CPDF_Dictionary> pPageResources,
CPDF_PageImageCache* pPageCache)
: … { … }
CPDF_RenderContext::~CPDF_RenderContext() = default;
void CPDF_RenderContext::GetBackgroundToDevice(
CFX_RenderDevice* device,
const CPDF_PageObject* object,
const CPDF_RenderOptions* options,
const CFX_Matrix& matrix) { … }
#if BUILDFLAG(IS_WIN)
void CPDF_RenderContext::GetBackgroundToBitmap(RetainPtr<CFX_DIBitmap> bitmap,
const CPDF_PageObject* object,
const CFX_Matrix& matrix) {
CFX_DefaultRenderDevice device;
device.Attach(std::move(bitmap));
GetBackgroundToDevice(&device, object, nullptr, matrix);
}
#endif
void CPDF_RenderContext::AppendLayer(CPDF_PageObjectHolder* pObjectHolder,
const CFX_Matrix& mtObject2Device) { … }
void CPDF_RenderContext::Render(CFX_RenderDevice* pDevice,
const CPDF_PageObject* pStopObj,
const CPDF_RenderOptions* pOptions,
const CFX_Matrix* pLastMatrix) { … }
CPDF_RenderContext::Layer::Layer(CPDF_PageObjectHolder* pHolder,
const CFX_Matrix& matrix)
: … { … }
CPDF_RenderContext::Layer::Layer(const Layer& that) = default;
CPDF_RenderContext::Layer::~Layer() = default;