#include "core/fpdfapi/render/cpdf_textrenderer.h"
#include <algorithm>
#include <vector>
#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fpdfapi/render/charposlist.h"
#include "core/fpdfapi/render/cpdf_renderoptions.h"
#include "core/fxge/cfx_graphstatedata.h"
#include "core/fxge/cfx_path.h"
#include "core/fxge/cfx_renderdevice.h"
#include "core/fxge/cfx_textrenderoptions.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/text_char_pos.h"
namespace {
CFX_Font* GetFont(CPDF_Font* pFont, int32_t position) { … }
CFX_TextRenderOptions GetTextRenderOptionsHelper(
const CPDF_Font* pFont,
const CPDF_RenderOptions& options) { … }
}
bool CPDF_TextRenderer::DrawTextPath(
CFX_RenderDevice* pDevice,
pdfium::span<const uint32_t> char_codes,
pdfium::span<const float> char_pos,
CPDF_Font* pFont,
float font_size,
const CFX_Matrix& mtText2User,
const CFX_Matrix* pUser2Device,
const CFX_GraphStateData* pGraphState,
FX_ARGB fill_argb,
FX_ARGB stroke_argb,
CFX_Path* pClippingPath,
const CFX_FillRenderOptions& fill_options) { … }
void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice,
float origin_x,
float origin_y,
CPDF_Font* pFont,
float font_size,
const CFX_Matrix& matrix,
const ByteString& str,
FX_ARGB fill_argb,
const CPDF_RenderOptions& options) { … }
bool CPDF_TextRenderer::DrawNormalText(CFX_RenderDevice* pDevice,
pdfium::span<const uint32_t> char_codes,
pdfium::span<const float> char_pos,
CPDF_Font* pFont,
float font_size,
const CFX_Matrix& mtText2Device,
FX_ARGB fill_argb,
const CPDF_RenderOptions& options) { … }