#include "core/fpdfapi/render/cpdf_type3cache.h"
#include <math.h>
#include <memory>
#include <utility>
#include "core/fpdfapi/font/cpdf_type3char.h"
#include "core/fpdfapi/font/cpdf_type3font.h"
#include "core/fpdfapi/render/cpdf_type3glyphmap.h"
#include "core/fxcrt/compiler_specific.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_safe_types.h"
#include "core/fxge/cfx_glyphbitmap.h"
#include "core/fxge/dib/cfx_dibitmap.h"
#include "core/fxge/dib/fx_dib.h"
namespace {
bool IsScanLine1bpp(const uint8_t* pBuf, int width) { … }
bool IsScanLine8bpp(const uint8_t* pBuf, int width) { … }
bool IsScanLineBpp(int bpp, const uint8_t* pBuf, int width) { … }
int DetectFirstScan(const RetainPtr<CFX_DIBitmap>& pBitmap) { … }
int DetectLastScan(const RetainPtr<CFX_DIBitmap>& pBitmap) { … }
}
CPDF_Type3Cache::CPDF_Type3Cache(CPDF_Type3Font* pFont) : … { … }
CPDF_Type3Cache::~CPDF_Type3Cache() = default;
const CFX_GlyphBitmap* CPDF_Type3Cache::LoadGlyph(uint32_t charcode,
const CFX_Matrix& mtMatrix) { … }
std::unique_ptr<CFX_GlyphBitmap> CPDF_Type3Cache::RenderGlyph(
CPDF_Type3GlyphMap* pSize,
uint32_t charcode,
const CFX_Matrix& mtMatrix) { … }