| Index: core/fpdfapi/fpdf_render/fpdf_render_text.cpp
|
| diff --git a/core/fpdfapi/fpdf_render/fpdf_render_text.cpp b/core/fpdfapi/fpdf_render/fpdf_render_text.cpp
|
| index 7c2fec7c7806a6520c4397b27037da3eae924861..e4ee49afc99bd71019fe0cb70b1417fb513b4eba 100644
|
| --- a/core/fpdfapi/fpdf_render/fpdf_render_text.cpp
|
| +++ b/core/fpdfapi/fpdf_render/fpdf_render_text.cpp
|
| @@ -528,9 +528,11 @@ class CPDF_CharPosList {
|
| CPDF_CharPosList::CPDF_CharPosList() {
|
| m_pCharPos = NULL;
|
| }
|
| +
|
| CPDF_CharPosList::~CPDF_CharPosList() {
|
| FX_Free(m_pCharPos);
|
| }
|
| +
|
| void CPDF_CharPosList::Load(int nChars,
|
| uint32_t* pCharCodes,
|
| FX_FLOAT* pCharPos,
|
| @@ -590,6 +592,7 @@ void CPDF_CharPosList::Load(int nChars,
|
| }
|
| }
|
|
|
| +// static
|
| FX_BOOL CPDF_TextRenderer::DrawTextPath(CFX_RenderDevice* pDevice,
|
| int nChars,
|
| uint32_t* pCharCodes,
|
| @@ -614,24 +617,7 @@ FX_BOOL CPDF_TextRenderer::DrawTextPath(CFX_RenderDevice* pDevice,
|
| pClippingPath, nFlag);
|
| }
|
|
|
| -void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice,
|
| - int left,
|
| - int top,
|
| - CPDF_Font* pFont,
|
| - int height,
|
| - const CFX_ByteString& str,
|
| - FX_ARGB argb) {
|
| - FX_RECT font_bbox;
|
| - pFont->GetFontBBox(font_bbox);
|
| - FX_FLOAT font_size =
|
| - (FX_FLOAT)height * 1000.0f / (FX_FLOAT)(font_bbox.top - font_bbox.bottom);
|
| - FX_FLOAT origin_x = (FX_FLOAT)left;
|
| - FX_FLOAT origin_y =
|
| - (FX_FLOAT)top + font_size * (FX_FLOAT)font_bbox.top / 1000.0f;
|
| - CFX_Matrix matrix(1.0f, 0, 0, -1.0f, 0, 0);
|
| - DrawTextString(pDevice, origin_x, origin_y, pFont, font_size, &matrix, str,
|
| - argb);
|
| -}
|
| +// static
|
| void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice,
|
| FX_FLOAT origin_x,
|
| FX_FLOAT origin_y,
|
| @@ -680,7 +666,8 @@ void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice,
|
| &matrix, fill_argb, pOptions);
|
| } else {
|
| DrawTextPath(pDevice, nChars, pCharCodes, pCharPos, pFont, font_size,
|
| - &matrix, NULL, pGraphState, fill_argb, stroke_argb, NULL);
|
| + &matrix, nullptr, pGraphState, fill_argb, stroke_argb,
|
| + nullptr, 0);
|
| }
|
| }
|
|
|
| @@ -689,6 +676,8 @@ void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice,
|
| FX_Free(pCharPos);
|
| }
|
| }
|
| +
|
| +// static
|
| FX_BOOL CPDF_TextRenderer::DrawNormalText(CFX_RenderDevice* pDevice,
|
| int nChars,
|
| uint32_t* pCharCodes,
|
| @@ -734,6 +723,7 @@ FX_BOOL CPDF_TextRenderer::DrawNormalText(CFX_RenderDevice* pDevice,
|
| &pFont->m_Font, pCache, font_size,
|
| pText2Device, fill_argb, FXGE_flags);
|
| }
|
| +
|
| void CPDF_RenderStatus::DrawTextPathWithPattern(const CPDF_TextObject* textobj,
|
| const CFX_Matrix* pObj2Device,
|
| CPDF_Font* pFont,
|
|
|