BUG=379656
[pdfium.git] / core / src / fxge / android / fpf_skiamodule.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4  
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #include "fx_fpf.h"
8 #if _FX_OS_ == _FX_ANDROID_
9 #include "fpf_skiamodule.h"
10 #include "fpf_skiafontmgr.h"
11 static IFPF_DeviceModule *gs_pPFModule = NULL;
12 IFPF_DeviceModule* FPF_GetDeviceModule()
13 {
14     if (!gs_pPFModule) {
15         gs_pPFModule = FX_NEW CFPF_SkiaDeviceModule;
16     }
17     return gs_pPFModule;
18 }
19 CFPF_SkiaDeviceModule::~CFPF_SkiaDeviceModule()
20 {
21     if (m_pFontMgr) {
22         delete m_pFontMgr;
23     }
24 }
25 void CFPF_SkiaDeviceModule::Destroy()
26 {
27     if (gs_pPFModule) {
28         delete (CFPF_SkiaDeviceModule*)gs_pPFModule;
29         gs_pPFModule = NULL;
30     }
31 }
32 IFPF_FontMgr* CFPF_SkiaDeviceModule::GetFontMgr()
33 {
34     if (!m_pFontMgr) {
35         m_pFontMgr = FX_NEW CFPF_SkiaFontMgr;
36         if (!m_pFontMgr) {
37             return NULL;
38         }
39         if (!m_pFontMgr->InitFTLibrary()) {
40             delete m_pFontMgr;
41             return NULL;
42         }
43     }
44     return (IFPF_FontMgr*)m_pFontMgr;
45 }
46 #endif