Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(398)

Side by Side Diff: fpdfsdk/src/fpdfview.cpp

Issue 809513002: XFA: merge patch from issue 801913002 and 804463003 (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/src/fpdfppo.cpp ('k') | fpdfsdk/src/javascript/Document.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "../include/fsdk_define.h" 7 #include "../include/fsdk_define.h"
8 #include "../include/fsdk_mgr.h" 8 #include "../include/fsdk_mgr.h"
9 #include "../include/fpdfview.h" 9 #include "../include/fpdfview.h"
10 #include "../include/fsdk_rendercontext.h" 10 #include "../include/fsdk_rendercontext.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 FX_BOOL bVertical, 204 FX_BOOL bVertical,
205 CPDF_SubstFont* pSubstFo nt // [OUT] Subst font data 205 CPDF_SubstFont* pSubstFo nt // [OUT] Subst font data
206 ); 206 );
207 207
208 FT_Face m_SysFace; 208 FT_Face m_SysFace;
209 }; 209 };
210 210
211 CFontMapper* g_pFontMapper = NULL; 211 CFontMapper* g_pFontMapper = NULL;
212 #endif // #if _FX_OS_ == _FX_LINUX_EMBEDDED_ 212 #endif // #if _FX_OS_ == _FX_LINUX_EMBEDDED_
213 213
214 DLLEXPORT void STDCALL FPDF_InitLibrary(FX_LPVOID hInstance) 214 DLLEXPORT void STDCALL FPDF_InitLibrary()
215 { 215 {
216 #ifdef API5
217 CPDF_ModuleMgr::Create();
218 g_pModuleMgr = CPDF_ModuleMgr::Get();
219 #if _FX_OS_ == _FX_WIN32_MOBILE_ || _FX_OS_ == _FX_LINUX_EMBEDDED_
220 g_pModuleMgr->InitEmbedded();
221 #ifdef _GB1_CMAPS_
222 g_pModuleMgr->LoadEmbeddedGB1CMaps();
223 #endif
224 #ifdef _GB1_CMAPS_4_
225 g_pModuleMgr->LoadEmbeddedGB1CMaps_4();
226 #endif
227 #ifdef _CNS1_CMAPS_
228 g_pModuleMgr->LoadEmbeddedCNS1CMaps();
229 #endif
230 #ifdef _JAPAN1_CMAPS_
231 g_pModuleMgr->LoadEmbeddedJapan1CMaps();
232 #endif
233 #ifdef _JAPAN1_CMAPS_6_
234 g_pModuleMgr->LoadEmbeddedJapan1CMaps_6();
235 #endif
236 #ifdef _KOREA1_CMAPS_
237 g_pModuleMgr->LoadEmbeddedKorea1CMaps();
238 #endif
239 #ifdef _JPX_DECODER_
240 g_pModuleMgr->InitJpxModule();
241 g_pModuleMgr->InitJbig2Module();
242 // g_pModuleMgr->InitIccModule();
243 #endif
244 #else
245 g_pModuleMgr->InitDesktop();
246 #endif
247 #else
248 g_pCodecModule = CCodec_ModuleMgr::Create(); 216 g_pCodecModule = CCodec_ModuleMgr::Create();
249 217
250 CFX_GEModule::Create(); 218 CFX_GEModule::Create();
251 CFX_GEModule::Get()->SetCodecModule(g_pCodecModule); 219 CFX_GEModule::Get()->SetCodecModule(g_pCodecModule);
252 220
253 CPDF_ModuleMgr::Create(); 221 CPDF_ModuleMgr::Create();
254 CPDF_ModuleMgr::Get()->SetCodecModule(g_pCodecModule); 222 CPDF_ModuleMgr::Get()->SetCodecModule(g_pCodecModule);
255 CPDF_ModuleMgr::Get()->InitPageModule(); 223 CPDF_ModuleMgr::Get()->InitPageModule();
256 CPDF_ModuleMgr::Get()->InitRenderModule(); 224 CPDF_ModuleMgr::Get()->InitRenderModule();
257 #ifdef FOXIT_CHROME_BUILD
258 CPDF_ModuleMgr * pModuleMgr = CPDF_ModuleMgr::Get();
259 if ( pModuleMgr )
260 {
261 pModuleMgr->LoadEmbeddedGB1CMaps();
262 pModuleMgr->LoadEmbeddedJapan1CMaps();
263 pModuleMgr->LoadEmbeddedCNS1CMaps();
264 pModuleMgr->LoadEmbeddedKorea1CMaps();
265 }
266 #endif
267 #endif
268 225
269 CPDFXFA_App* pAppProvider = FPDFXFA_GetApp(); 226 CPDFXFA_App* pAppProvider = FPDFXFA_GetApp();
270 pAppProvider->Initialize(); 227 pAppProvider->Initialize();
271
272 #ifdef _WIN32
273 // Get module path
274 TCHAR app_path[MAX_PATH];
275 ::GetModuleFileName((HINSTANCE)hInstance, app_path, MAX_PATH);
276 size_t len = _tcslen(app_path);
277 for (size_t i = len; i >= 0; i --)
278 if (app_path[i] == '\\') {
279 app_path[i] = 0;
280 break;
281 }
282
283 #ifdef _UNICODE
284 #ifndef _FXSDK_OPENSOURCE_
285 CPDF_ModuleMgr::Get()->SetModulePath(NULL, CFX_ByteString::FromU nicode(app_path));
286 #endif
287 #else
288 #ifndef _FXSDK_OPENSOURCE_
289 CPDF_ModuleMgr::Get()->SetModulePath(NULL, app_path);
290 #endif
291 #endif
292 #endif
293 } 228 }
294 229
295 230
296 DLLEXPORT void STDCALL FPDF_DestroyLibrary() 231 DLLEXPORT void STDCALL FPDF_DestroyLibrary()
297 { 232 {
298 FPDFXFA_ReleaseApp(); 233 FPDFXFA_ReleaseApp();
299 234
300 #if _FX_OS_ == _FX_LINUX_EMBEDDED_ 235 #if _FX_OS_ == _FX_LINUX_EMBEDDED_
301 if (g_pFontMapper) delete g_pFontMapper; 236 if (g_pFontMapper) delete g_pFontMapper;
302 #endif 237 #endif
303 #ifdef API5 238 #ifdef API5
304 g_pModuleMgr->Destroy(); 239 g_pModuleMgr->Destroy();
305 #else 240 #else
306 CPDF_ModuleMgr::Destroy(); 241 CPDF_ModuleMgr::Destroy();
307 CFX_GEModule::Destroy(); 242 CFX_GEModule::Destroy();
308 g_pCodecModule->Destroy(); 243 g_pCodecModule->Destroy();
309 #endif 244 #endif
310 #ifndef _FXSDK_OPENSOURCE_
311 FXMEM_CollectAll(FXMEM_GetDefaultMgr());
312 #else
313
314 #endif
315 } 245 }
316 246
317 #ifndef _WIN32 247 #ifndef _WIN32
318 int g_LastError; 248 int g_LastError;
319 void SetLastError(int err) 249 void SetLastError(int err)
320 { 250 {
321 g_LastError = err; 251 g_LastError = err;
322 } 252 }
323 253
324 int GetLastError() 254 int GetLastError()
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 787
858 DLLEXPORT void STDCALL FPDFBitmap_Destroy(FPDF_BITMAP bitmap) 788 DLLEXPORT void STDCALL FPDFBitmap_Destroy(FPDF_BITMAP bitmap)
859 { 789 {
860 if (bitmap == NULL) return; 790 if (bitmap == NULL) return;
861 delete (CFX_DIBitmap*)bitmap; 791 delete (CFX_DIBitmap*)bitmap;
862 } 792 }
863 793
864 void FPDF_RenderPage_Retail(CRenderContext* pContext, FPDF_PAGE page, int start_ x, int start_y, int size_x, int size_y, 794 void FPDF_RenderPage_Retail(CRenderContext* pContext, FPDF_PAGE page, int start_ x, int start_y, int size_x, int size_y,
865 int rotate, int flags,FX_BOOL bN eedToRestore, IFSDK_PAUSE_Adapter * pause ) 795 int rotate, int flags,FX_BOOL bN eedToRestore, IFSDK_PAUSE_Adapter * pause )
866 { 796 {
867 //#ifdef _LICENSED_BUILD_
868 CPDF_Page* pPage = ((CPDFXFA_Page*)page)->GetPDFPage(); 797 CPDF_Page* pPage = ((CPDFXFA_Page*)page)->GetPDFPage();
869 if (pPage == NULL) return; 798 if (pPage == NULL) return;
870 799
871 if (!pContext->m_pOptions) 800 if (!pContext->m_pOptions)
872 pContext->m_pOptions = new CPDF_RenderOptions; 801 pContext->m_pOptions = new CPDF_RenderOptions;
873 // CPDF_RenderOptions options; 802 // CPDF_RenderOptions options;
874 if (flags & FPDF_LCD_TEXT) 803 if (flags & FPDF_LCD_TEXT)
875 pContext->m_pOptions->m_Flags |= RENDER_CLEARTYPE; 804 pContext->m_pOptions->m_Flags |= RENDER_CLEARTYPE;
876 else 805 else
877 pContext->m_pOptions->m_Flags &= ~RENDER_CLEARTYPE; 806 pContext->m_pOptions->m_Flags &= ~RENDER_CLEARTYPE;
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 return -1; 992 return -1;
1064 993
1065 if (str->str) 994 if (str->str)
1066 { 995 {
1067 FX_Free(str->str); 996 FX_Free(str->str);
1068 str->str = NULL; 997 str->str = NULL;
1069 } 998 }
1070 str->len = 0; 999 str->len = 0;
1071 return 0; 1000 return 0;
1072 } 1001 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fpdfppo.cpp ('k') | fpdfsdk/src/javascript/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698