// Copyright 2016 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #include "core/fxge/android/cfpf_skiadevicemodule.h" #include <utility> #include "core/fxge/android/cfpf_skiafontmgr.h" #include "third_party/base/ptr_util.h" namespace { CFPF_SkiaDeviceModule* gs_pPFModule = nullptr; } // namespace CFPF_SkiaDeviceModule* CFPF_GetSkiaDeviceModule() { if (!gs_pPFModule) gs_pPFModule = new CFPF_SkiaDeviceModule; return gs_pPFModule; } CFPF_SkiaDeviceModule::CFPF_SkiaDeviceModule() {} CFPF_SkiaDeviceModule::~CFPF_SkiaDeviceModule() {} void CFPF_SkiaDeviceModule::Destroy() { delete gs_pPFModule; gs_pPFModule = nullptr; } CFPF_SkiaFontMgr* CFPF_SkiaDeviceModule::GetFontMgr() { if (!m_pFontMgr) { auto pNewMgr = pdfium::MakeUnique<CFPF_SkiaFontMgr>(); if (!pNewMgr->InitFTLibrary()) return nullptr; m_pFontMgr = std::move(pNewMgr); } return m_pFontMgr.get(); }