clang-format all pdfium code.
authorNico Weber <thakis@chromium.org>
Tue, 4 Aug 2015 19:19:10 +0000 (12:19 -0700)
committerNico Weber <thakis@chromium.org>
Tue, 4 Aug 2015 19:19:10 +0000 (12:19 -0700)
No behavior change.

Generated by:
  find . -name '*.cpp' -o -name '*.h' | \
  grep -E -v 'third_party|thirdparties|lpng_v163' | \
  xargs ../../buildtools/mac/clang-format -i

See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion.

BUG=none
R=tsepez@chromium.org

Review URL: https://codereview.chromium.org/1265503005 .

404 files changed:
core/include/fdrm/fx_crypt.h
core/include/fpdfapi/fpdf_module.h
core/include/fpdfapi/fpdf_objects.h
core/include/fpdfapi/fpdf_page.h
core/include/fpdfapi/fpdf_pageobj.h
core/include/fpdfapi/fpdf_parser.h
core/include/fpdfapi/fpdf_render.h
core/include/fpdfapi/fpdf_resource.h
core/include/fpdfapi/fpdf_serial.h
core/include/fpdfdoc/fpdf_ap.h
core/include/fpdfdoc/fpdf_doc.h
core/include/fpdfdoc/fpdf_tagged.h
core/include/fpdfdoc/fpdf_vt.h
core/include/fpdftext/fpdf_text.h
core/include/fxcodec/fx_codec.h
core/include/fxcodec/fx_codec_def.h
core/include/fxcodec/fx_codec_flate.h
core/include/fxcodec/fx_codec_provider.h
core/include/fxcrt/fx_arb.h
core/include/fxcrt/fx_basic.h
core/include/fxcrt/fx_coordinates.h
core/include/fxcrt/fx_ext.h
core/include/fxcrt/fx_memory.h
core/include/fxcrt/fx_stream.h
core/include/fxcrt/fx_string.h
core/include/fxcrt/fx_system.h
core/include/fxcrt/fx_ucd.h
core/include/fxcrt/fx_xml.h
core/include/fxge/fpf.h
core/include/fxge/fx_dib.h
core/include/fxge/fx_font.h
core/include/fxge/fx_freetype.h
core/include/fxge/fx_ge.h
core/include/fxge/fx_ge_apple.h
core/include/fxge/fx_ge_win32.h
core/src/fdrm/crypto/fx_crypt.cpp
core/src/fdrm/crypto/fx_crypt_aes.cpp
core/src/fdrm/crypto/fx_crypt_sha.cpp
core/src/fpdfapi/fpdf_basic_module.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/CNS-EUC-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/CNS-EUC-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/ETen-B5-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-V_5.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UCS2-V_3.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UTF16-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/Adobe-GB1-UCS2_5.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-H_5.cpp
core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-H_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-V_4.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UTF16-H_5.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UTF16-V_5.cpp
core/src/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/Adobe-Korea1-UCS2_2.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSC-EUC-V_0.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-HW-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-V_1.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UTF16-H_0.cpp
core/src/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp
core/src/fpdfapi/fpdf_cmaps/cmap_int.h
core/src/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp
core/src/fpdfapi/fpdf_edit/editint.h
core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp
core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
core/src/fpdfapi/fpdf_font/font_int.h
core/src/fpdfapi/fpdf_font/fpdf_font.cpp
core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp
core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
core/src/fpdfapi/fpdf_font/ttgsubtable.cpp
core/src/fpdfapi/fpdf_font/ttgsubtable.h
core/src/fpdfapi/fpdf_page/fpdf_page.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_image.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_path.cpp
core/src/fpdfapi/fpdf_page/fpdf_page_pattern.cpp
core/src/fpdfapi/fpdf_page/pageint.h
core/src/fpdfapi/fpdf_parser/filters_int.h
core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_encrypt.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_filters.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
core/src/fpdfapi/fpdf_render/fpdf_render.cpp
core/src/fpdfapi/fpdf_render/fpdf_render_cache.cpp
core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp
core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
core/src/fpdfapi/fpdf_render/fpdf_render_pattern.cpp
core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp
core/src/fpdfapi/fpdf_render/render_int.h
core/src/fpdfdoc/doc_action.cpp
core/src/fpdfdoc/doc_annot.cpp
core/src/fpdfdoc/doc_ap.cpp
core/src/fpdfdoc/doc_basic.cpp
core/src/fpdfdoc/doc_bookmark.cpp
core/src/fpdfdoc/doc_form.cpp
core/src/fpdfdoc/doc_formcontrol.cpp
core/src/fpdfdoc/doc_formfield.cpp
core/src/fpdfdoc/doc_link.cpp
core/src/fpdfdoc/doc_metadata.cpp
core/src/fpdfdoc/doc_ocg.cpp
core/src/fpdfdoc/doc_tagged.cpp
core/src/fpdfdoc/doc_utils.cpp
core/src/fpdfdoc/doc_utils.h
core/src/fpdfdoc/doc_viewerPreferences.cpp
core/src/fpdfdoc/doc_vt.cpp
core/src/fpdfdoc/doc_vtmodule.cpp
core/src/fpdfdoc/pdf_vt.h
core/src/fpdfdoc/tagged_int.h
core/src/fpdftext/fpdf_text.cpp
core/src/fpdftext/fpdf_text_int.cpp
core/src/fpdftext/fpdf_text_search.cpp
core/src/fpdftext/text_int.h
core/src/fpdftext/txtproc.h
core/src/fpdftext/unicodenormalization.cpp
core/src/fpdftext/unicodenormalizationdata.cpp
core/src/fxcodec/codec/codec_int.h
core/src/fxcodec/codec/fx_codec.cpp
core/src/fxcodec/codec/fx_codec_fax.cpp
core/src/fxcodec/codec/fx_codec_flate.cpp
core/src/fxcodec/codec/fx_codec_icc.cpp
core/src/fxcodec/codec/fx_codec_jbig.cpp
core/src/fxcodec/codec/fx_codec_jbig_enc.cpp
core/src/fxcodec/codec/fx_codec_jpeg.cpp
core/src/fxcodec/codec/fx_codec_jpx_opj.cpp
core/src/fxcodec/codec/fx_codec_jpx_unittest.cpp
core/src/fxcodec/jbig2/JBig2_ArithDecoder.h
core/src/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
core/src/fxcodec/jbig2/JBig2_ArithIntDecoder.h
core/src/fxcodec/jbig2/JBig2_ArithQe.h
core/src/fxcodec/jbig2/JBig2_BitStream.h
core/src/fxcodec/jbig2/JBig2_Context.cpp
core/src/fxcodec/jbig2/JBig2_Context.h
core/src/fxcodec/jbig2/JBig2_Define.h
core/src/fxcodec/jbig2/JBig2_GeneralDecoder.cpp
core/src/fxcodec/jbig2/JBig2_GeneralDecoder.h
core/src/fxcodec/jbig2/JBig2_HuffmanDecoder.cpp
core/src/fxcodec/jbig2/JBig2_HuffmanDecoder.h
core/src/fxcodec/jbig2/JBig2_HuffmanTable.cpp
core/src/fxcodec/jbig2/JBig2_HuffmanTable.h
core/src/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h
core/src/fxcodec/jbig2/JBig2_Image.cpp
core/src/fxcodec/jbig2/JBig2_Image.h
core/src/fxcodec/jbig2/JBig2_List.h
core/src/fxcodec/jbig2/JBig2_Module.h
core/src/fxcodec/jbig2/JBig2_Object.cpp
core/src/fxcodec/jbig2/JBig2_Object.h
core/src/fxcodec/jbig2/JBig2_Page.h
core/src/fxcodec/jbig2/JBig2_PatternDict.cpp
core/src/fxcodec/jbig2/JBig2_PatternDict.h
core/src/fxcodec/jbig2/JBig2_Segment.cpp
core/src/fxcodec/jbig2/JBig2_Segment.h
core/src/fxcodec/jbig2/JBig2_SymbolDict.cpp
core/src/fxcodec/jbig2/JBig2_SymbolDict.h
core/src/fxcrt/extension.h
core/src/fxcrt/fx_arabic.cpp
core/src/fxcrt/fx_arabic.h
core/src/fxcrt/fx_basic_array.cpp
core/src/fxcrt/fx_basic_bstring.cpp
core/src/fxcrt/fx_basic_bstring_unittest.cpp
core/src/fxcrt/fx_basic_buffer.cpp
core/src/fxcrt/fx_basic_coords.cpp
core/src/fxcrt/fx_basic_gcc.cpp
core/src/fxcrt/fx_basic_list.cpp
core/src/fxcrt/fx_basic_maps.cpp
core/src/fxcrt/fx_basic_memmgr.cpp
core/src/fxcrt/fx_basic_memmgr_unittest.cpp
core/src/fxcrt/fx_basic_plex.cpp
core/src/fxcrt/fx_basic_utf.cpp
core/src/fxcrt/fx_basic_util.cpp
core/src/fxcrt/fx_basic_wstring.cpp
core/src/fxcrt/fx_basic_wstring_unittest.cpp
core/src/fxcrt/fx_extension.cpp
core/src/fxcrt/fx_ucddata.cpp
core/src/fxcrt/fx_unicode.cpp
core/src/fxcrt/fx_xml_composer.cpp
core/src/fxcrt/fx_xml_parser.cpp
core/src/fxcrt/fxcrt_platforms.cpp
core/src/fxcrt/fxcrt_platforms.h
core/src/fxcrt/fxcrt_posix.cpp
core/src/fxcrt/fxcrt_posix.h
core/src/fxcrt/fxcrt_windows.cpp
core/src/fxcrt/fxcrt_windows.h
core/src/fxcrt/plex.h
core/src/fxcrt/xml_int.h
core/src/fxge/agg/include/fx_agg_driver.h
core/src/fxge/agg/src/fx_agg_driver.cpp
core/src/fxge/android/fpf_skiafont.cpp
core/src/fxge/android/fpf_skiafont.h
core/src/fxge/android/fpf_skiafontmgr.cpp
core/src/fxge/android/fpf_skiafontmgr.h
core/src/fxge/android/fpf_skiamodule.cpp
core/src/fxge/android/fpf_skiamodule.h
core/src/fxge/android/fx_android_font.cpp
core/src/fxge/android/fx_android_font.h
core/src/fxge/android/fx_android_imp.cpp
core/src/fxge/apple/apple_int.h
core/src/fxge/apple/fx_apple_platform.cpp
core/src/fxge/apple/fx_mac_imp.cpp
core/src/fxge/apple/fx_quartz_device.cpp
core/src/fxge/dib/dib_int.h
core/src/fxge/dib/fx_dib_composite.cpp
core/src/fxge/dib/fx_dib_convert.cpp
core/src/fxge/dib/fx_dib_engine.cpp
core/src/fxge/dib/fx_dib_main.cpp
core/src/fxge/dib/fx_dib_transform.cpp
core/src/fxge/ge/fx_ge.cpp
core/src/fxge/ge/fx_ge_device.cpp
core/src/fxge/ge/fx_ge_font.cpp
core/src/fxge/ge/fx_ge_fontmap.cpp
core/src/fxge/ge/fx_ge_linux.cpp
core/src/fxge/ge/fx_ge_path.cpp
core/src/fxge/ge/fx_ge_ps.cpp
core/src/fxge/ge/fx_ge_text.cpp
core/src/fxge/ge/text_int.h
core/src/fxge/skia/fx_skia_blitter_new.cpp
core/src/fxge/skia/fx_skia_blitter_new.h
core/src/fxge/skia/fx_skia_device.cpp
core/src/fxge/skia/fx_skia_device.h
core/src/fxge/win32/dwrite_int.h
core/src/fxge/win32/fx_win32_device.cpp
core/src/fxge/win32/fx_win32_dib.cpp
core/src/fxge/win32/fx_win32_dwrite.cpp
core/src/fxge/win32/fx_win32_gdipext.cpp
core/src/fxge/win32/fx_win32_print.cpp
core/src/fxge/win32/win32_int.h
fpdfsdk/include/formfiller/FFL_CBA_Fontmap.h
fpdfsdk/include/formfiller/FFL_CheckBox.h
fpdfsdk/include/formfiller/FFL_ComboBox.h
fpdfsdk/include/formfiller/FFL_FormFiller.h
fpdfsdk/include/formfiller/FFL_IFormFiller.h
fpdfsdk/include/formfiller/FFL_ListBox.h
fpdfsdk/include/formfiller/FFL_Notify.h
fpdfsdk/include/formfiller/FFL_PushButton.h
fpdfsdk/include/formfiller/FFL_RadioButton.h
fpdfsdk/include/formfiller/FFL_TextField.h
fpdfsdk/include/formfiller/FFL_Utils.h
fpdfsdk/include/fsdk_actionhandler.h
fpdfsdk/include/fsdk_annothandler.h
fpdfsdk/include/fsdk_baseannot.h
fpdfsdk/include/fsdk_baseform.h
fpdfsdk/include/fsdk_common.h
fpdfsdk/include/fsdk_define.h
fpdfsdk/include/fsdk_mgr.h
fpdfsdk/include/fsdk_rendercontext.h
fpdfsdk/include/fx_systemhandler.h
fpdfsdk/include/fxedit/fx_edit.h
fpdfsdk/include/fxedit/fxet_edit.h
fpdfsdk/include/fxedit/fxet_list.h
fpdfsdk/include/javascript/Consts.h
fpdfsdk/include/javascript/Document.h
fpdfsdk/include/javascript/Field.h
fpdfsdk/include/javascript/IJavaScript.h
fpdfsdk/include/javascript/Icon.h
fpdfsdk/include/javascript/JS_Context.h
fpdfsdk/include/javascript/JS_Define.h
fpdfsdk/include/javascript/JS_EventHandler.h
fpdfsdk/include/javascript/JS_GlobalData.h
fpdfsdk/include/javascript/JS_Object.h
fpdfsdk/include/javascript/JS_Runtime.h
fpdfsdk/include/javascript/JS_Value.h
fpdfsdk/include/javascript/PublicMethods.h
fpdfsdk/include/javascript/app.h
fpdfsdk/include/javascript/color.h
fpdfsdk/include/javascript/console.h
fpdfsdk/include/javascript/event.h
fpdfsdk/include/javascript/global.h
fpdfsdk/include/javascript/report.h
fpdfsdk/include/javascript/resource.h
fpdfsdk/include/javascript/util.h
fpdfsdk/include/jsapi/fxjs_v8.h
fpdfsdk/include/pdfwindow/PWL_Button.h
fpdfsdk/include/pdfwindow/PWL_Caret.h
fpdfsdk/include/pdfwindow/PWL_ComboBox.h
fpdfsdk/include/pdfwindow/PWL_Edit.h
fpdfsdk/include/pdfwindow/PWL_EditCtrl.h
fpdfsdk/include/pdfwindow/PWL_FontMap.h
fpdfsdk/include/pdfwindow/PWL_Icon.h
fpdfsdk/include/pdfwindow/PWL_IconList.h
fpdfsdk/include/pdfwindow/PWL_Label.h
fpdfsdk/include/pdfwindow/PWL_ListBox.h
fpdfsdk/include/pdfwindow/PWL_ListCtrl.h
fpdfsdk/include/pdfwindow/PWL_Note.h
fpdfsdk/include/pdfwindow/PWL_ScrollBar.h
fpdfsdk/include/pdfwindow/PWL_Signature.h
fpdfsdk/include/pdfwindow/PWL_SpecialButton.h
fpdfsdk/include/pdfwindow/PWL_Utils.h
fpdfsdk/include/pdfwindow/PWL_Wnd.h
fpdfsdk/src/formfiller/FFL_CBA_Fontmap.cpp
fpdfsdk/src/formfiller/FFL_CheckBox.cpp
fpdfsdk/src/formfiller/FFL_ComboBox.cpp
fpdfsdk/src/formfiller/FFL_FormFiller.cpp
fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
fpdfsdk/src/formfiller/FFL_ListBox.cpp
fpdfsdk/src/formfiller/FFL_Notify.cpp
fpdfsdk/src/formfiller/FFL_PushButton.cpp
fpdfsdk/src/formfiller/FFL_RadioButton.cpp
fpdfsdk/src/formfiller/FFL_TextField.cpp
fpdfsdk/src/formfiller/FFL_Utils.cpp
fpdfsdk/src/fpdf_dataavail.cpp
fpdfsdk/src/fpdf_dataavail_embeddertest.cpp
fpdfsdk/src/fpdf_ext.cpp
fpdfsdk/src/fpdf_flatten.cpp
fpdfsdk/src/fpdf_progressive.cpp
fpdfsdk/src/fpdf_searchex.cpp
fpdfsdk/src/fpdf_sysfontinfo.cpp
fpdfsdk/src/fpdf_transformpage.cpp
fpdfsdk/src/fpdfdoc.cpp
fpdfsdk/src/fpdfdoc_embeddertest.cpp
fpdfsdk/src/fpdfeditimg.cpp
fpdfsdk/src/fpdfeditpage.cpp
fpdfsdk/src/fpdfformfill.cpp
fpdfsdk/src/fpdfformfill_embeddertest.cpp
fpdfsdk/src/fpdfppo.cpp
fpdfsdk/src/fpdfsave.cpp
fpdfsdk/src/fpdftext.cpp
fpdfsdk/src/fpdftext_embeddertest.cpp
fpdfsdk/src/fpdfview.cpp
fpdfsdk/src/fpdfview_embeddertest.cpp
fpdfsdk/src/fsdk_actionhandler.cpp
fpdfsdk/src/fsdk_annothandler.cpp
fpdfsdk/src/fsdk_baseannot.cpp
fpdfsdk/src/fsdk_baseform.cpp
fpdfsdk/src/fsdk_mgr.cpp
fpdfsdk/src/fsdk_rendercontext.cpp
fpdfsdk/src/fxedit/fxet_ap.cpp
fpdfsdk/src/fxedit/fxet_edit.cpp
fpdfsdk/src/fxedit/fxet_list.cpp
fpdfsdk/src/fxedit/fxet_module.cpp
fpdfsdk/src/fxedit/fxet_pageobjs.cpp
fpdfsdk/src/javascript/Consts.cpp
fpdfsdk/src/javascript/Document.cpp
fpdfsdk/src/javascript/Field.cpp
fpdfsdk/src/javascript/Icon.cpp
fpdfsdk/src/javascript/JS_Context.cpp
fpdfsdk/src/javascript/JS_EventHandler.cpp
fpdfsdk/src/javascript/JS_GlobalData.cpp
fpdfsdk/src/javascript/JS_Object.cpp
fpdfsdk/src/javascript/JS_Runtime.cpp
fpdfsdk/src/javascript/JS_Value.cpp
fpdfsdk/src/javascript/PublicMethods.cpp
fpdfsdk/src/javascript/app.cpp
fpdfsdk/src/javascript/color.cpp
fpdfsdk/src/javascript/console.cpp
fpdfsdk/src/javascript/event.cpp
fpdfsdk/src/javascript/global.cpp
fpdfsdk/src/javascript/report.cpp
fpdfsdk/src/javascript/resource.cpp
fpdfsdk/src/javascript/util.cpp
fpdfsdk/src/jsapi/fxjs_v8.cpp
fpdfsdk/src/pdfwindow/PWL_Button.cpp
fpdfsdk/src/pdfwindow/PWL_Caret.cpp
fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp
fpdfsdk/src/pdfwindow/PWL_Edit.cpp
fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp
fpdfsdk/src/pdfwindow/PWL_FontMap.cpp
fpdfsdk/src/pdfwindow/PWL_Icon.cpp
fpdfsdk/src/pdfwindow/PWL_IconList.cpp
fpdfsdk/src/pdfwindow/PWL_Label.cpp
fpdfsdk/src/pdfwindow/PWL_ListBox.cpp
fpdfsdk/src/pdfwindow/PWL_ListCtrl.cpp
fpdfsdk/src/pdfwindow/PWL_Note.cpp
fpdfsdk/src/pdfwindow/PWL_ScrollBar.cpp
fpdfsdk/src/pdfwindow/PWL_Signature.cpp
fpdfsdk/src/pdfwindow/PWL_SpecialButton.cpp
fpdfsdk/src/pdfwindow/PWL_Utils.cpp
fpdfsdk/src/pdfwindow/PWL_Wnd.cpp
fpdfsdk/src/resource.h
public/fpdf_dataavail.h
public/fpdf_doc.h
public/fpdf_edit.h
public/fpdf_ext.h
public/fpdf_flatten.h
public/fpdf_formfill.h
public/fpdf_fwlevent.h
public/fpdf_ppo.h
public/fpdf_progressive.h
public/fpdf_save.h
public/fpdf_searchex.h
public/fpdf_sysfontinfo.h
public/fpdf_text.h
public/fpdf_transformpage.h
public/fpdfview.h
samples/image_diff_png.h
testing/embedder_test.cpp
testing/embedder_test.h
testing/embedder_test_mock_delegate.h
testing/embedder_test_timer_handling_delegate.h
testing/fx_string_testhelpers.h

index f820999..e3b21c5 100644 (file)
 extern "C" {
 #endif
 
-void CRYPT_ArcFourCryptBlock(uint8_t* data, FX_DWORD size, const uint8_t* key, FX_DWORD keylen);
+void CRYPT_ArcFourCryptBlock(uint8_t* data,
+                             FX_DWORD size,
+                             const uint8_t* key,
+                             FX_DWORD keylen);
 void CRYPT_ArcFourSetup(void* context, const uint8_t* key, FX_DWORD length);
 void CRYPT_ArcFourCrypt(void* context, uint8_t* data, FX_DWORD size);
-void CRYPT_AESSetKey(void* context, FX_DWORD blocklen, const uint8_t* key, FX_DWORD keylen, FX_BOOL bEncrypt);
+void CRYPT_AESSetKey(void* context,
+                     FX_DWORD blocklen,
+                     const uint8_t* key,
+                     FX_DWORD keylen,
+                     FX_BOOL bEncrypt);
 void CRYPT_AESSetIV(void* context, const uint8_t* iv);
-void CRYPT_AESDecrypt(void* context, uint8_t* dest, const uint8_t* src, FX_DWORD size);
-void CRYPT_AESEncrypt(void* context, uint8_t* dest, const uint8_t* src, FX_DWORD size);
+void CRYPT_AESDecrypt(void* context,
+                      uint8_t* dest,
+                      const uint8_t* src,
+                      FX_DWORD size);
+void CRYPT_AESEncrypt(void* context,
+                      uint8_t* dest,
+                      const uint8_t* src,
+                      FX_DWORD size);
 void CRYPT_MD5Generate(const uint8_t* data, FX_DWORD size, uint8_t digest[16]);
 void CRYPT_MD5Start(void* context);
 void CRYPT_MD5Update(void* context, const uint8_t* data, FX_DWORD size);
@@ -28,19 +41,28 @@ void CRYPT_SHA1Generate(const uint8_t* data, FX_DWORD size, uint8_t digest[20]);
 void CRYPT_SHA1Start(void* context);
 void CRYPT_SHA1Update(void* context, const uint8_t* data, FX_DWORD size);
 void CRYPT_SHA1Finish(void* context, uint8_t digest[20]);
-void CRYPT_SHA256Generate(const uint8_t* data, FX_DWORD size, uint8_t digest[32]);
+void CRYPT_SHA256Generate(const uint8_t* data,
+                          FX_DWORD size,
+                          uint8_t digest[32]);
 void CRYPT_SHA256Start(void* context);
 void CRYPT_SHA256Update(void* context, const uint8_t* data, FX_DWORD size);
 void CRYPT_SHA256Finish(void* context, uint8_t digest[32]);
 void CRYPT_SHA384Start(void* context);
 void CRYPT_SHA384Update(void* context, const uint8_t* data, FX_DWORD size);
 void CRYPT_SHA384Finish(void* context, uint8_t digest[48]);
-void CRYPT_SHA384Generate(const uint8_t* data, FX_DWORD size, uint8_t digest[48]);
+void CRYPT_SHA384Generate(const uint8_t* data,
+                          FX_DWORD size,
+                          uint8_t digest[48]);
 void CRYPT_SHA512Start(void* context);
 void CRYPT_SHA512Update(void* context, const uint8_t* data, FX_DWORD size);
 void CRYPT_SHA512Finish(void* context, uint8_t digest[64]);
-void CRYPT_SHA512Generate(const uint8_t* data, FX_DWORD size, uint8_t digest[64]);
-void CRYPT_SetPubKeyDecryptor(FX_BOOL (*func)(const uint8_t* pData, FX_DWORD size, uint8_t* data_buf, FX_DWORD& data_len));
+void CRYPT_SHA512Generate(const uint8_t* data,
+                          FX_DWORD size,
+                          uint8_t digest[64]);
+void CRYPT_SetPubKeyDecryptor(FX_BOOL (*func)(const uint8_t* pData,
+                                              FX_DWORD size,
+                                              uint8_t* data_buf,
+                                              FX_DWORD& data_len));
 
 #ifdef __cplusplus
 };
index 5877e11..bfa051e 100644 (file)
@@ -39,110 +39,95 @@ class IPDF_FontMapper;
 class IPDF_PageModule;
 class IPDF_RenderModule;
 
-class CPDF_ModuleMgr
-{
-public:
-    static CPDF_ModuleMgr* Get();
-    static void Create();
-    static void Destroy();
-    static const int kFileBufSize = 512;
+class CPDF_ModuleMgr {
+ public:
+  static CPDF_ModuleMgr* Get();
+  static void Create();
+  static void Destroy();
+  static const int kFileBufSize = 512;
 
-    void SetCodecModule(CCodec_ModuleMgr* pModule)
-    {
-        m_pCodecModule = pModule;
-    }
-    CCodec_ModuleMgr* GetCodecModule()
-    {
-        return m_pCodecModule;
-    }
+  void SetCodecModule(CCodec_ModuleMgr* pModule) { m_pCodecModule = pModule; }
+  CCodec_ModuleMgr* GetCodecModule() { return m_pCodecModule; }
 
-    void InitPageModule();
+  void InitPageModule();
 
-    void InitRenderModule();
+  void InitRenderModule();
 
-    void SetDownloadCallback(FX_BOOL (*callback)(const FX_CHAR* module_name));
+  void SetDownloadCallback(FX_BOOL (*callback)(const FX_CHAR* module_name));
 
-    FX_BOOL DownloadModule(const FX_CHAR* module_name);
+  FX_BOOL DownloadModule(const FX_CHAR* module_name);
 
-    void NotifyModuleAvailable(const FX_CHAR* module_name);
+  void NotifyModuleAvailable(const FX_CHAR* module_name);
 
-    IPDF_RenderModule* GetRenderModule() const
-    {
-        return m_pRenderModule.get();
-    }
+  IPDF_RenderModule* GetRenderModule() const { return m_pRenderModule.get(); }
 
-    IPDF_PageModule* GetPageModule() const
-    {
-        return m_pPageModule.get();
-    }
+  IPDF_PageModule* GetPageModule() const { return m_pPageModule.get(); }
 
-    void LoadEmbeddedGB1CMaps();
-    void LoadEmbeddedCNS1CMaps();
-    void LoadEmbeddedJapan1CMaps();
-    void LoadEmbeddedKorea1CMaps();
+  void LoadEmbeddedGB1CMaps();
+  void LoadEmbeddedCNS1CMaps();
+  void LoadEmbeddedJapan1CMaps();
+  void LoadEmbeddedKorea1CMaps();
 
-    ICodec_FaxModule* GetFaxModule();
-    ICodec_JpegModule* GetJpegModule();
-    ICodec_JpxModule* GetJpxModule();
-    ICodec_Jbig2Module* GetJbig2Module();
-    ICodec_IccModule* GetIccModule();
-    ICodec_FlateModule* GetFlateModule();
+  ICodec_FaxModule* GetFaxModule();
+  ICodec_JpegModule* GetJpegModule();
+  ICodec_JpxModule* GetJpxModule();
+  ICodec_Jbig2Module* GetJbig2Module();
+  ICodec_IccModule* GetIccModule();
+  ICodec_FlateModule* GetFlateModule();
 
-    void RegisterSecurityHandler(
-        const FX_CHAR* name,
-        CPDF_SecurityHandler* (*CreateHandler)(void* param),
-        void* param);
+  void RegisterSecurityHandler(
+      const FX_CHAR* name,
+      CPDF_SecurityHandler* (*CreateHandler)(void* param),
+      void* param);
 
-    CPDF_SecurityHandler* CreateSecurityHandler(const FX_CHAR* name);
+  CPDF_SecurityHandler* CreateSecurityHandler(const FX_CHAR* name);
 
-    void SetPrivateData(void* module_id,
-                        void* pData,
-                        PD_CALLBACK_FREEDATA callback);
+  void SetPrivateData(void* module_id,
+                      void* pData,
+                      PD_CALLBACK_FREEDATA callback);
 
-    void* GetPrivateData(void* module_id);
+  void* GetPrivateData(void* module_id);
 
-private:
-    CPDF_ModuleMgr();
-    ~CPDF_ModuleMgr();
+ private:
+  CPDF_ModuleMgr();
+  ~CPDF_ModuleMgr();
 
-    CCodec_ModuleMgr* m_pCodecModule;
+  CCodec_ModuleMgr* m_pCodecModule;
 
-    nonstd::unique_ptr<IPDF_RenderModule> m_pRenderModule;
-    nonstd::unique_ptr<IPDF_PageModule> m_pPageModule;
+  nonstd::unique_ptr<IPDF_RenderModule> m_pRenderModule;
+  nonstd::unique_ptr<IPDF_PageModule> m_pPageModule;
 
-    FX_BOOL (*m_pDownloadCallback)(const FX_CHAR* module_name);
+  FX_BOOL (*m_pDownloadCallback)(const FX_CHAR* module_name);
 
-    CFX_MapByteStringToPtr m_SecurityHandlerMap;
+  CFX_MapByteStringToPtr m_SecurityHandlerMap;
 
-    CFX_PrivateData m_privateData;
+  CFX_PrivateData m_privateData;
 };
 
-class IPDF_PageModule
-{
-public:
-    virtual ~IPDF_PageModule() {}
-
-    virtual CPDF_DocPageData* CreateDocData(CPDF_Document* pDoc) = 0;
-    virtual void ReleaseDoc(CPDF_Document*) = 0;
-    virtual void ClearDoc(CPDF_Document*) = 0;
-    virtual CPDF_FontGlobals* GetFontGlobals() = 0;
-    virtual void ClearStockFont(CPDF_Document* pDoc) = 0;
-    virtual void NotifyCJKAvailable() = 0;
-    virtual CPDF_ColorSpace* GetStockCS(int family) = 0;
+class IPDF_PageModule {
+ public:
+  virtual ~IPDF_PageModule() {}
+
+  virtual CPDF_DocPageData* CreateDocData(CPDF_Document* pDoc) = 0;
+  virtual void ReleaseDoc(CPDF_Document*) = 0;
+  virtual void ClearDoc(CPDF_Document*) = 0;
+  virtual CPDF_FontGlobals* GetFontGlobals() = 0;
+  virtual void ClearStockFont(CPDF_Document* pDoc) = 0;
+  virtual void NotifyCJKAvailable() = 0;
+  virtual CPDF_ColorSpace* GetStockCS(int family) = 0;
 };
 
-class IPDF_RenderModule
-{
-public:
-    virtual ~IPDF_RenderModule() {}
-
-    virtual CPDF_DocRenderData* CreateDocData(CPDF_Document* pDoc) = 0;
-    virtual void DestroyDocData(CPDF_DocRenderData*) = 0;
-    virtual void ClearDocData(CPDF_DocRenderData*) = 0;
-    virtual CPDF_DocRenderData* GetRenderData() = 0;
-    virtual CPDF_PageRenderCache* CreatePageCache(CPDF_Page* pPage) = 0;
-    virtual void DestroyPageCache(CPDF_PageRenderCache*)  = 0;
-    virtual CPDF_RenderConfig* GetConfig() = 0;
+class IPDF_RenderModule {
+ public:
+  virtual ~IPDF_RenderModule() {}
+
+  virtual CPDF_DocRenderData* CreateDocData(CPDF_Document* pDoc) = 0;
+  virtual void DestroyDocData(CPDF_DocRenderData*) = 0;
+  virtual void ClearDocData(CPDF_DocRenderData*) = 0;
+  virtual CPDF_DocRenderData* GetRenderData() = 0;
+  virtual CPDF_PageRenderCache* CreatePageCache(CPDF_Page* pPage) = 0;
+  virtual void DestroyPageCache(CPDF_PageRenderCache*) = 0;
+  virtual CPDF_RenderConfig* GetConfig() = 0;
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_MODULE_H_
index 45b7cc6..250b6e0 100644 (file)
@@ -26,718 +26,582 @@ class CPDF_StreamFilter;
 class CPDF_String;
 class IFX_FileRead;
 
-#define PDFOBJ_INVALID         0
-#define        PDFOBJ_BOOLEAN          1
-#define PDFOBJ_NUMBER          2
-#define PDFOBJ_STRING          3
-#define PDFOBJ_NAME                    4
-#define PDFOBJ_ARRAY           5
-#define PDFOBJ_DICTIONARY      6
-#define PDFOBJ_STREAM          7
-#define PDFOBJ_NULL                    8
-#define PDFOBJ_REFERENCE       9
+#define PDFOBJ_INVALID 0
+#define PDFOBJ_BOOLEAN 1
+#define PDFOBJ_NUMBER 2
+#define PDFOBJ_STRING 3
+#define PDFOBJ_NAME 4
+#define PDFOBJ_ARRAY 5
+#define PDFOBJ_DICTIONARY 6
+#define PDFOBJ_STREAM 7
+#define PDFOBJ_NULL 8
+#define PDFOBJ_REFERENCE 9
 
-typedef IFX_FileStream* (*FPDF_LPFCloneStreamCallback)(CPDF_Stream *pStream, void* pUserData);
-class CPDF_Object
-{
-public:
+typedef IFX_FileStream* (*FPDF_LPFCloneStreamCallback)(CPDF_Stream* pStream,
+                                                       void* pUserData);
+class CPDF_Object {
+ public:
+  int GetType() const { return m_Type; }
 
-    int                                 GetType() const
-    {
-        return m_Type;
-    }
+  FX_DWORD GetObjNum() const { return m_ObjNum; }
 
-    FX_DWORD                            GetObjNum() const
-    {
-        return m_ObjNum;
-    }
+  FX_DWORD GetGenNum() const { return m_GenNum; }
 
-    FX_DWORD                            GetGenNum() const
-    {
-        return m_GenNum;
-    }
+  FX_BOOL IsIdentical(CPDF_Object* pObj) const;
 
-    FX_BOOL                             IsIdentical(CPDF_Object* pObj) const;
+  CPDF_Object* Clone(FX_BOOL bDirect = FALSE) const;
 
-    CPDF_Object*                        Clone(FX_BOOL bDirect = FALSE) const;
+  CPDF_Object* CloneRef(CPDF_IndirectObjects* pObjs) const;
 
-    CPDF_Object*                        CloneRef(CPDF_IndirectObjects* pObjs) const;
+  CPDF_Object* GetDirect() const;
 
-    CPDF_Object*                        GetDirect() const;
+  void Release();
 
-    void                                Release();
+  CFX_ByteString GetString() const;
 
-    CFX_ByteString                      GetString() const;
+  CFX_ByteStringC GetConstString() const;
 
-    CFX_ByteStringC                     GetConstString() const;
+  CFX_WideString GetUnicodeText(CFX_CharMap* pCharMap = NULL) const;
+  FX_FLOAT GetNumber() const;
 
-    CFX_WideString                      GetUnicodeText(CFX_CharMap* pCharMap = NULL) const;
-    FX_FLOAT                            GetNumber() const;
+  FX_FLOAT GetNumber16() const;
 
-    FX_FLOAT                            GetNumber16() const;
+  int GetInteger() const;
 
-    int                                 GetInteger() const;
+  CPDF_Dictionary* GetDict() const;
 
-    CPDF_Dictionary*                    GetDict() const;
+  CPDF_Array* GetArray() const;
 
-    CPDF_Array*                         GetArray() const;
+  void SetString(const CFX_ByteString& str);
 
-    void                                SetString(const CFX_ByteString& str);
+  void SetUnicodeText(const FX_WCHAR* pUnicodes, int len = -1);
 
-    void                                SetUnicodeText(const FX_WCHAR* pUnicodes, int len = -1);
+  int GetDirectType() const;
 
-    int                                 GetDirectType() const;
+  FX_BOOL IsModified() const { return FALSE; }
 
-    FX_BOOL                             IsModified() const
-    {
-        return FALSE;
-    }
-protected:
-    CPDF_Object(FX_DWORD type) : m_Type(type), m_ObjNum(0), m_GenNum(0) { }
-    ~CPDF_Object() { }
-    void                                Destroy();
+ protected:
+  CPDF_Object(FX_DWORD type) : m_Type(type), m_ObjNum(0), m_GenNum(0) {}
+  ~CPDF_Object() {}
+  void Destroy();
 
-    static const int                    OBJECT_REF_MAX_DEPTH = 128;
-    static int                          s_nCurRefDepth;
-    FX_DWORD                            m_Type;
-    FX_DWORD                            m_ObjNum;
-    FX_DWORD                            m_GenNum;
+  static const int OBJECT_REF_MAX_DEPTH = 128;
+  static int s_nCurRefDepth;
+  FX_DWORD m_Type;
+  FX_DWORD m_ObjNum;
+  FX_DWORD m_GenNum;
 
-    friend class                       CPDF_IndirectObjects;
-    friend class                       CPDF_Parser;
-    friend class                       CPDF_SyntaxParser;
-private:
-    CPDF_Object(const CPDF_Object& src) {}
-    CPDF_Object* CloneInternal(FX_BOOL bDirect, CFX_MapPtrToPtr* visited) const;
-};
-class CPDF_Boolean : public CPDF_Object
-{
-public:
-
-    static CPDF_Boolean*       Create(FX_BOOL value)
-    {
-        return new CPDF_Boolean(value);
-    }
-
-    CPDF_Boolean() : CPDF_Object(PDFOBJ_BOOLEAN), m_bValue(false) { }
-    CPDF_Boolean(FX_BOOL value) : CPDF_Object(PDFOBJ_BOOLEAN), m_bValue(value) { }
-
-    FX_BOOL                                    Identical(CPDF_Boolean* pOther) const
-    {
-        return m_bValue == pOther->m_bValue;
-    }
-protected:
-
-    FX_BOOL                                    m_bValue;
-    friend class                       CPDF_Object;
+  friend class CPDF_IndirectObjects;
+  friend class CPDF_Parser;
+  friend class CPDF_SyntaxParser;
+
+ private:
+  CPDF_Object(const CPDF_Object& src) {}
+  CPDF_Object* CloneInternal(FX_BOOL bDirect, CFX_MapPtrToPtr* visited) const;
 };
-class CPDF_Number : public CPDF_Object
-{
-public:
+class CPDF_Boolean : public CPDF_Object {
+ public:
+  static CPDF_Boolean* Create(FX_BOOL value) { return new CPDF_Boolean(value); }
 
-    static CPDF_Number*                Create(int value)
-    {
-        return new CPDF_Number(value);
-    }
+  CPDF_Boolean() : CPDF_Object(PDFOBJ_BOOLEAN), m_bValue(false) {}
+  CPDF_Boolean(FX_BOOL value) : CPDF_Object(PDFOBJ_BOOLEAN), m_bValue(value) {}
 
-    static CPDF_Number*                Create(FX_FLOAT value)
-    {
-        return new CPDF_Number(value);
-    }
+  FX_BOOL Identical(CPDF_Boolean* pOther) const {
+    return m_bValue == pOther->m_bValue;
+  }
 
-    static CPDF_Number*                Create(const CFX_ByteStringC& str)
-    {
-        return new CPDF_Number(str);
-    }
+ protected:
+  FX_BOOL m_bValue;
+  friend class CPDF_Object;
+};
+class CPDF_Number : public CPDF_Object {
+ public:
+  static CPDF_Number* Create(int value) { return new CPDF_Number(value); }
 
-    static CPDF_Number*                Create(FX_BOOL bInteger, void* pData)
-    {
-        return new CPDF_Number(bInteger, pData);
-    }
+  static CPDF_Number* Create(FX_FLOAT value) { return new CPDF_Number(value); }
 
-    CPDF_Number() : CPDF_Object(PDFOBJ_NUMBER), m_bInteger(false), m_Integer(0) { }
+  static CPDF_Number* Create(const CFX_ByteStringC& str) {
+    return new CPDF_Number(str);
+  }
 
-    CPDF_Number(FX_BOOL bInteger, void* pData);
+  static CPDF_Number* Create(FX_BOOL bInteger, void* pData) {
+    return new CPDF_Number(bInteger, pData);
+  }
 
-    CPDF_Number(int value);
+  CPDF_Number() : CPDF_Object(PDFOBJ_NUMBER), m_bInteger(false), m_Integer(0) {}
 
-    CPDF_Number(FX_FLOAT value);
+  CPDF_Number(FX_BOOL bInteger, void* pData);
 
-    CPDF_Number(const CFX_ByteStringC& str);
+  CPDF_Number(int value);
 
-    FX_BOOL                                    Identical(CPDF_Number* pOther) const;
+  CPDF_Number(FX_FLOAT value);
 
-    CFX_ByteString                     GetString() const;
+  CPDF_Number(const CFX_ByteStringC& str);
 
-    void                                       SetString(const CFX_ByteStringC& str);
+  FX_BOOL Identical(CPDF_Number* pOther) const;
 
-    FX_BOOL                                    IsInteger() const
-    {
-        return m_bInteger;
-    }
+  CFX_ByteString GetString() const;
 
-    int                                                GetInteger() const
-    {
-        return m_bInteger ? m_Integer : (int)m_Float;
-    }
+  void SetString(const CFX_ByteStringC& str);
 
-    FX_FLOAT                           GetNumber() const
-    {
-        return m_bInteger ? (FX_FLOAT)m_Integer : m_Float;
-    }
+  FX_BOOL IsInteger() const { return m_bInteger; }
 
-    void                                       SetNumber(FX_FLOAT value);
+  int GetInteger() const { return m_bInteger ? m_Integer : (int)m_Float; }
 
-    FX_FLOAT                   GetNumber16() const
-    {
-        return GetNumber();
-    }
+  FX_FLOAT GetNumber() const {
+    return m_bInteger ? (FX_FLOAT)m_Integer : m_Float;
+  }
 
-    FX_FLOAT                           GetFloat() const
-    {
-        return m_bInteger ? (FX_FLOAT)m_Integer : m_Float;
-    }
-protected:
+  void SetNumber(FX_FLOAT value);
 
-    FX_BOOL                                    m_bInteger;
+  FX_FLOAT GetNumber16() const { return GetNumber(); }
 
-    union {
+  FX_FLOAT GetFloat() const {
+    return m_bInteger ? (FX_FLOAT)m_Integer : m_Float;
+  }
 
-        int                                    m_Integer;
+ protected:
+  FX_BOOL m_bInteger;
 
-        FX_FLOAT                       m_Float;
-    };
-    friend class                       CPDF_Object;
-};
-class CPDF_String : public CPDF_Object
-{
-public:
+  union {
+    int m_Integer;
 
-    static CPDF_String*                Create(const CFX_ByteString& str, FX_BOOL bHex = FALSE)
-    {
-        return new CPDF_String(str, bHex);
-    }
+    FX_FLOAT m_Float;
+  };
+  friend class CPDF_Object;
+};
+class CPDF_String : public CPDF_Object {
+ public:
+  static CPDF_String* Create(const CFX_ByteString& str, FX_BOOL bHex = FALSE) {
+    return new CPDF_String(str, bHex);
+  }
 
-    static CPDF_String*                Create(const CFX_WideString& str)
-    {
-        return new CPDF_String(str);
-    }
+  static CPDF_String* Create(const CFX_WideString& str) {
+    return new CPDF_String(str);
+  }
 
-    CPDF_String() : CPDF_Object(PDFOBJ_STRING), m_bHex(FALSE) { }
+  CPDF_String() : CPDF_Object(PDFOBJ_STRING), m_bHex(FALSE) {}
 
-    CPDF_String(const CFX_ByteString& str, FX_BOOL bHex = FALSE)
-        : CPDF_Object(PDFOBJ_STRING), m_String(str), m_bHex(bHex) {
-    }
+  CPDF_String(const CFX_ByteString& str, FX_BOOL bHex = FALSE)
+      : CPDF_Object(PDFOBJ_STRING), m_String(str), m_bHex(bHex) {}
 
-    CPDF_String(const CFX_WideString& str);
+  CPDF_String(const CFX_WideString& str);
 
-    CFX_ByteString&                    GetString()
-    {
-        return m_String;
-    }
+  CFX_ByteString& GetString() { return m_String; }
 
-    FX_BOOL                                    Identical(CPDF_String* pOther) const
-    {
-        return m_String == pOther->m_String;
-    }
+  FX_BOOL Identical(CPDF_String* pOther) const {
+    return m_String == pOther->m_String;
+  }
 
-    FX_BOOL                                    IsHex() const
-    {
-        return m_bHex;
-    }
-protected:
+  FX_BOOL IsHex() const { return m_bHex; }
 
-    CFX_ByteString                     m_String;
+ protected:
+  CFX_ByteString m_String;
 
-    FX_BOOL                                    m_bHex;
-    friend class                       CPDF_Object;
+  FX_BOOL m_bHex;
+  friend class CPDF_Object;
 };
-class CPDF_Name : public CPDF_Object
-{
-public:
-
-    static CPDF_Name*          Create(const CFX_ByteString& str)
-    {
-        return new CPDF_Name(str);
-    }
-
-    static CPDF_Name*          Create(const CFX_ByteStringC& str)
-    {
-        return new CPDF_Name(str);
-    }
-
-    static CPDF_Name*          Create(const FX_CHAR* str)
-    {
-        return new CPDF_Name(str);
-    }
-
-    CPDF_Name(const CFX_ByteString& str) : CPDF_Object(PDFOBJ_NAME), m_Name(str) { }
-    CPDF_Name(const CFX_ByteStringC& str) : CPDF_Object(PDFOBJ_NAME), m_Name(str) { }
-    CPDF_Name(const FX_CHAR* str) : CPDF_Object(PDFOBJ_NAME), m_Name(str) { }
-
-    CFX_ByteString&                    GetString()
-    {
-        return m_Name;
-    }
-
-    FX_BOOL                                    Identical(CPDF_Name* pOther) const
-    {
-        return m_Name == pOther->m_Name;
-    }
-protected:
-
-    CFX_ByteString                     m_Name;
-    friend class                       CPDF_Object;
-};
-class CPDF_Array : public CPDF_Object
-{
-public:
-
-    static CPDF_Array*         Create()
-    {
-        return new CPDF_Array();
-    }
-
-    CPDF_Array() : CPDF_Object(PDFOBJ_ARRAY) { }
-
-    FX_DWORD                           GetCount() const
-    {
-        return m_Objects.GetSize();
-    }
-
-    CPDF_Object*                       GetElement(FX_DWORD index) const;
+class CPDF_Name : public CPDF_Object {
+ public:
+  static CPDF_Name* Create(const CFX_ByteString& str) {
+    return new CPDF_Name(str);
+  }
 
-    CPDF_Object*                       GetElementValue(FX_DWORD index) const;
+  static CPDF_Name* Create(const CFX_ByteStringC& str) {
+    return new CPDF_Name(str);
+  }
 
+  static CPDF_Name* Create(const FX_CHAR* str) { return new CPDF_Name(str); }
 
+  CPDF_Name(const CFX_ByteString& str)
+      : CPDF_Object(PDFOBJ_NAME), m_Name(str) {}
+  CPDF_Name(const CFX_ByteStringC& str)
+      : CPDF_Object(PDFOBJ_NAME), m_Name(str) {}
+  CPDF_Name(const FX_CHAR* str) : CPDF_Object(PDFOBJ_NAME), m_Name(str) {}
 
-    CFX_AffineMatrix           GetMatrix();
+  CFX_ByteString& GetString() { return m_Name; }
 
-    CFX_FloatRect                      GetRect();
+  FX_BOOL Identical(CPDF_Name* pOther) const {
+    return m_Name == pOther->m_Name;
+  }
 
+ protected:
+  CFX_ByteString m_Name;
+  friend class CPDF_Object;
+};
+class CPDF_Array : public CPDF_Object {
+ public:
+  static CPDF_Array* Create() { return new CPDF_Array(); }
 
+  CPDF_Array() : CPDF_Object(PDFOBJ_ARRAY) {}
 
+  FX_DWORD GetCount() const { return m_Objects.GetSize(); }
 
-    CFX_ByteString                     GetString(FX_DWORD index) const;
-
-    CFX_ByteStringC                    GetConstString(FX_DWORD index) const;
-
-    int                                                GetInteger(FX_DWORD index) const;
-
-    FX_FLOAT                           GetNumber(FX_DWORD index) const;
-
-    CPDF_Dictionary*           GetDict(FX_DWORD index) const;
+  CPDF_Object* GetElement(FX_DWORD index) const;
 
-    CPDF_Stream*                       GetStream(FX_DWORD index) const;
+  CPDF_Object* GetElementValue(FX_DWORD index) const;
 
-    CPDF_Array*                                GetArray(FX_DWORD index) const;
+  CFX_AffineMatrix GetMatrix();
 
-    FX_FLOAT                           GetFloat(FX_DWORD index) const
-    {
-        return GetNumber(index);
-    }
+  CFX_FloatRect GetRect();
 
+  CFX_ByteString GetString(FX_DWORD index) const;
 
+  CFX_ByteStringC GetConstString(FX_DWORD index) const;
 
+  int GetInteger(FX_DWORD index) const;
 
-    void                                       SetAt(FX_DWORD index, CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);
+  FX_FLOAT GetNumber(FX_DWORD index) const;
 
+  CPDF_Dictionary* GetDict(FX_DWORD index) const;
 
-    void                                       InsertAt(FX_DWORD index, CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);
+  CPDF_Stream* GetStream(FX_DWORD index) const;
 
-    void                                       RemoveAt(FX_DWORD index);
+  CPDF_Array* GetArray(FX_DWORD index) const;
 
+  FX_FLOAT GetFloat(FX_DWORD index) const { return GetNumber(index); }
 
-    void                                       Add(CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);
+  void SetAt(FX_DWORD index,
+             CPDF_Object* pObj,
+             CPDF_IndirectObjects* pObjs = NULL);
 
+  void InsertAt(FX_DWORD index,
+                CPDF_Object* pObj,
+                CPDF_IndirectObjects* pObjs = NULL);
 
+  void RemoveAt(FX_DWORD index);
 
-    void                                       AddNumber(FX_FLOAT f);
+  void Add(CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);
 
-    void                                       AddInteger(int i);
+  void AddNumber(FX_FLOAT f);
 
-    void                                       AddString(const CFX_ByteString& str);
+  void AddInteger(int i);
 
-    void                                       AddName(const CFX_ByteString& str);
+  void AddString(const CFX_ByteString& str);
 
-    void                                       AddReference(CPDF_IndirectObjects* pDoc, FX_DWORD objnum);
+  void AddName(const CFX_ByteString& str);
 
-    void                                       AddReference(CPDF_IndirectObjects* pDoc, CPDF_Object* obj)
-    {
-        AddReference(pDoc, obj->GetObjNum());
-    }
+  void AddReference(CPDF_IndirectObjects* pDoc, FX_DWORD objnum);
 
+  void AddReference(CPDF_IndirectObjects* pDoc, CPDF_Object* obj) {
+    AddReference(pDoc, obj->GetObjNum());
+  }
 
-    FX_FLOAT                   GetNumber16(FX_DWORD index) const
-    {
-        return GetNumber(index);
-    }
+  FX_FLOAT GetNumber16(FX_DWORD index) const { return GetNumber(index); }
 
-    void                                       AddNumber16(FX_FLOAT value)
-    {
-        AddNumber(value);
-    }
+  void AddNumber16(FX_FLOAT value) { AddNumber(value); }
 
-    FX_BOOL                                    Identical(CPDF_Array* pOther) const;
-protected:
+  FX_BOOL Identical(CPDF_Array* pOther) const;
 
-    ~CPDF_Array();
+ protected:
+  ~CPDF_Array();
 
-    CFX_PtrArray                       m_Objects;
-    friend class                       CPDF_Object;
+  CFX_PtrArray m_Objects;
+  friend class CPDF_Object;
 };
-class CPDF_Dictionary : public CPDF_Object
-{
-public:
+class CPDF_Dictionary : public CPDF_Object {
+ public:
+  static CPDF_Dictionary* Create() { return new CPDF_Dictionary(); }
 
-    static CPDF_Dictionary*    Create()
-    {
-        return new CPDF_Dictionary();
-    }
+  CPDF_Dictionary() : CPDF_Object(PDFOBJ_DICTIONARY) {}
 
-    CPDF_Dictionary() : CPDF_Object(PDFOBJ_DICTIONARY) { }
+  CPDF_Object* GetElement(const CFX_ByteStringC& key) const;
 
-    CPDF_Object*                       GetElement(const CFX_ByteStringC& key) const;
+  CPDF_Object* GetElementValue(const CFX_ByteStringC& key) const;
 
-    CPDF_Object*                       GetElementValue(const CFX_ByteStringC& key) const;
+  CFX_ByteString GetString(const CFX_ByteStringC& key) const;
 
+  CFX_ByteStringC GetConstString(const CFX_ByteStringC& key) const;
 
+  CFX_ByteString GetString(const CFX_ByteStringC& key,
+                           const CFX_ByteStringC& default_str) const;
 
+  CFX_ByteStringC GetConstString(const CFX_ByteStringC& key,
+                                 const CFX_ByteStringC& default_str) const;
 
+  CFX_WideString GetUnicodeText(const CFX_ByteStringC& key,
+                                CFX_CharMap* pCharMap = NULL) const;
 
-    CFX_ByteString                     GetString(const CFX_ByteStringC& key) const;
+  int GetInteger(const CFX_ByteStringC& key) const;
 
-    CFX_ByteStringC                    GetConstString(const CFX_ByteStringC& key) const;
+  int GetInteger(const CFX_ByteStringC& key, int default_int) const;
 
-    CFX_ByteString                     GetString(const CFX_ByteStringC& key, const CFX_ByteStringC& default_str) const;
+  FX_BOOL GetBoolean(const CFX_ByteStringC& key,
+                     FX_BOOL bDefault = FALSE) const;
 
-    CFX_ByteStringC                    GetConstString(const CFX_ByteStringC& key, const CFX_ByteStringC& default_str) const;
+  FX_FLOAT GetNumber(const CFX_ByteStringC& key) const;
 
-    CFX_WideString                     GetUnicodeText(const CFX_ByteStringC& key, CFX_CharMap* pCharMap = NULL) const;
+  CPDF_Dictionary* GetDict(const CFX_ByteStringC& key) const;
 
-    int                                                GetInteger(const CFX_ByteStringC& key) const;
+  CPDF_Stream* GetStream(const CFX_ByteStringC& key) const;
 
-    int                                                GetInteger(const CFX_ByteStringC& key, int default_int) const;
+  CPDF_Array* GetArray(const CFX_ByteStringC& key) const;
 
-    FX_BOOL                                    GetBoolean(const CFX_ByteStringC& key, FX_BOOL bDefault = FALSE) const;
+  CFX_FloatRect GetRect(const CFX_ByteStringC& key) const;
 
-    FX_FLOAT                           GetNumber(const CFX_ByteStringC& key) const;
+  CFX_AffineMatrix GetMatrix(const CFX_ByteStringC& key) const;
 
-    CPDF_Dictionary*           GetDict(const CFX_ByteStringC& key) const;
+  FX_FLOAT GetFloat(const CFX_ByteStringC& key) const { return GetNumber(key); }
 
-    CPDF_Stream*                       GetStream(const CFX_ByteStringC& key) const;
+  FX_BOOL KeyExist(const CFX_ByteStringC& key) const;
 
-    CPDF_Array*                                GetArray(const CFX_ByteStringC& key) const;
+  FX_POSITION GetStartPos() const;
 
-    CFX_FloatRect                      GetRect(const CFX_ByteStringC& key) const;
+  CPDF_Object* GetNextElement(FX_POSITION& pos, CFX_ByteString& key) const;
 
-    CFX_AffineMatrix           GetMatrix(const CFX_ByteStringC& key) const;
+  void SetAt(const CFX_ByteStringC& key,
+             CPDF_Object* pObj,
+             CPDF_IndirectObjects* pObjs = NULL);
 
-    FX_FLOAT                           GetFloat(const CFX_ByteStringC& key) const
-    {
-        return GetNumber(key);
-    }
+  void SetAtName(const CFX_ByteStringC& key, const CFX_ByteString& name);
 
+  void SetAtString(const CFX_ByteStringC& key, const CFX_ByteString& string);
 
-    FX_BOOL                                    KeyExist(const CFX_ByteStringC& key) const;
+  void SetAtInteger(const CFX_ByteStringC& key, int i);
 
-    FX_POSITION                                GetStartPos() const;
+  void SetAtNumber(const CFX_ByteStringC& key, FX_FLOAT f);
 
-    CPDF_Object*                       GetNextElement(FX_POSITION& pos, CFX_ByteString& key) const;
+  void SetAtReference(const CFX_ByteStringC& key,
+                      CPDF_IndirectObjects* pDoc,
+                      FX_DWORD objnum);
 
-    void                                       SetAt(const CFX_ByteStringC& key, CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);
+  void SetAtReference(const CFX_ByteStringC& key,
+                      CPDF_IndirectObjects* pDoc,
+                      CPDF_Object* obj) {
+    SetAtReference(key, pDoc, obj->GetObjNum());
+  }
 
+  void AddReference(const CFX_ByteStringC& key,
+                    CPDF_IndirectObjects* pDoc,
+                    FX_DWORD objnum);
 
+  void AddReference(const CFX_ByteStringC& key,
+                    CPDF_IndirectObjects* pDoc,
+                    CPDF_Object* obj) {
+    AddReference(key, pDoc, obj->GetObjNum());
+  }
 
-    void                                       SetAtName(const CFX_ByteStringC& key, const CFX_ByteString& name);
+  void SetAtRect(const CFX_ByteStringC& key, const CFX_FloatRect& rect);
 
+  void SetAtMatrix(const CFX_ByteStringC& key, const CFX_AffineMatrix& matrix);
 
-    void                                       SetAtString(const CFX_ByteStringC& key, const CFX_ByteString& string);
+  void SetAtBoolean(const CFX_ByteStringC& key, FX_BOOL bValue);
 
+  void RemoveAt(const CFX_ByteStringC& key);
 
-    void                                       SetAtInteger(const CFX_ByteStringC& key, int i);
+  void ReplaceKey(const CFX_ByteStringC& oldkey, const CFX_ByteStringC& newkey);
 
+  FX_BOOL Identical(CPDF_Dictionary* pDict) const;
 
-    void                                       SetAtNumber(const CFX_ByteStringC& key, FX_FLOAT f);
+  int GetCount() const { return m_Map.GetCount(); }
 
-    void                                       SetAtReference(const CFX_ByteStringC& key, CPDF_IndirectObjects* pDoc, FX_DWORD objnum);
+  void AddValue(const CFX_ByteStringC& key, CPDF_Object* pObj);
 
-    void                                       SetAtReference(const CFX_ByteStringC& key, CPDF_IndirectObjects* pDoc, CPDF_Object* obj)
-    {
-        SetAtReference(key, pDoc, obj->GetObjNum());
-    }
+ protected:
+  ~CPDF_Dictionary();
 
-    void                                       AddReference(const CFX_ByteStringC& key, CPDF_IndirectObjects* pDoc, FX_DWORD objnum);
+  CFX_CMapByteStringToPtr m_Map;
 
-    void                                       AddReference(const CFX_ByteStringC& key, CPDF_IndirectObjects* pDoc, CPDF_Object* obj)
-    {
-        AddReference(key, pDoc, obj->GetObjNum());
-    }
-
-    void                                       SetAtRect(const CFX_ByteStringC& key, const CFX_FloatRect& rect);
-
-    void                                       SetAtMatrix(const CFX_ByteStringC& key, const CFX_AffineMatrix& matrix);
-
-    void                                       SetAtBoolean(const CFX_ByteStringC& key, FX_BOOL bValue);
+  friend class CPDF_Object;
+};
+class CPDF_Stream : public CPDF_Object {
+ public:
+  static CPDF_Stream* Create(uint8_t* pData,
+                             FX_DWORD size,
+                             CPDF_Dictionary* pDict) {
+    return new CPDF_Stream(pData, size, pDict);
+  }
 
+  CPDF_Stream(uint8_t* pData, FX_DWORD size, CPDF_Dictionary* pDict);
 
+  CPDF_Dictionary* GetDict() const { return m_pDict; }
 
-    void                                       RemoveAt(const CFX_ByteStringC& key);
+  void SetData(const uint8_t* pData,
+               FX_DWORD size,
+               FX_BOOL bCompressed,
+               FX_BOOL bKeepBuf);
 
+  void InitStream(uint8_t* pData, FX_DWORD size, CPDF_Dictionary* pDict);
 
-    void                                       ReplaceKey(const CFX_ByteStringC& oldkey, const CFX_ByteStringC& newkey);
+  void InitStream(IFX_FileRead* pFile, CPDF_Dictionary* pDict);
 
-    FX_BOOL                                    Identical(CPDF_Dictionary* pDict) const;
+  FX_BOOL Identical(CPDF_Stream* pOther) const;
 
-    int                                                GetCount() const
-    {
-        return m_Map.GetCount();
-    }
+  CPDF_StreamFilter* GetStreamFilter(FX_BOOL bRaw = FALSE) const;
 
-    void                                       AddValue(const CFX_ByteStringC& key, CPDF_Object* pObj);
-protected:
+  FX_DWORD GetRawSize() const { return m_dwSize; }
 
-    ~CPDF_Dictionary();
+  FX_BOOL ReadRawData(FX_FILESIZE start_pos,
+                      uint8_t* pBuf,
+                      FX_DWORD buf_size) const;
 
-    CFX_CMapByteStringToPtr    m_Map;
+  FX_BOOL IsMemoryBased() const { return m_GenNum == (FX_DWORD)-1; }
 
-    friend class                       CPDF_Object;
-};
-class CPDF_Stream : public CPDF_Object
-{
-public:
+  CPDF_Stream* Clone(FX_BOOL bDirect,
+                     FPDF_LPFCloneStreamCallback lpfCallback,
+                     void* pUserData) const;
 
-    static CPDF_Stream*                Create(uint8_t* pData, FX_DWORD size, CPDF_Dictionary* pDict)
-    {
-        return new CPDF_Stream(pData, size, pDict);
-    }
+ protected:
+  ~CPDF_Stream();
 
-    CPDF_Stream(uint8_t* pData, FX_DWORD size, CPDF_Dictionary* pDict);
+  CPDF_Dictionary* m_pDict;
 
-    CPDF_Dictionary*           GetDict() const
-    {
-        return m_pDict;
-    }
+  FX_DWORD m_dwSize;
 
-    void                                       SetData(const uint8_t* pData, FX_DWORD size, FX_BOOL bCompressed, FX_BOOL bKeepBuf);
+  FX_DWORD m_GenNum;
 
-    void                                       InitStream(uint8_t* pData, FX_DWORD size, CPDF_Dictionary* pDict);
+  union {
+    uint8_t* m_pDataBuf;
 
-    void                                       InitStream(IFX_FileRead *pFile, CPDF_Dictionary* pDict);
+    IFX_FileRead* m_pFile;
+  };
 
-    FX_BOOL                                    Identical(CPDF_Stream* pOther) const;
+  FX_FILESIZE m_FileOffset;
 
-    CPDF_StreamFilter*         GetStreamFilter(FX_BOOL bRaw = FALSE) const;
+  CPDF_CryptoHandler* m_pCryptoHandler;
 
+  void InitStream(CPDF_Dictionary* pDict);
+  friend class CPDF_Object;
+  friend class CPDF_StreamAcc;
+  friend class CPDF_AttachmentAcc;
+};
+class CPDF_StreamAcc {
+ public:
+  CPDF_StreamAcc();
 
+  ~CPDF_StreamAcc();
 
-    FX_DWORD                           GetRawSize() const
-    {
-        return m_dwSize;
-    }
+  void LoadAllData(const CPDF_Stream* pStream,
+                   FX_BOOL bRawAccess = FALSE,
+                   FX_DWORD estimated_size = 0,
+                   FX_BOOL bImageAcc = FALSE);
 
-    FX_BOOL                                    ReadRawData(FX_FILESIZE start_pos, uint8_t* pBuf, FX_DWORD buf_size) const;
+  const CPDF_Stream* GetStream() const { return m_pStream; }
 
+  CPDF_Dictionary* GetDict() const {
+    return m_pStream ? m_pStream->GetDict() : NULL;
+  }
 
-    FX_BOOL                                    IsMemoryBased() const
-    {
-        return m_GenNum == (FX_DWORD) - 1;
-    }
+  const uint8_t* GetData() const;
 
-    CPDF_Stream*                       Clone(FX_BOOL bDirect, FPDF_LPFCloneStreamCallback lpfCallback, void* pUserData) const;
-protected:
+  FX_DWORD GetSize() const;
 
-    ~CPDF_Stream();
+  uint8_t* DetachData();
 
-    CPDF_Dictionary*           m_pDict;
+  const CFX_ByteString& GetImageDecoder() { return m_ImageDecoder; }
 
-    FX_DWORD                           m_dwSize;
+  const CPDF_Dictionary* GetImageParam() { return m_pImageParam; }
 
-    FX_DWORD                           m_GenNum;
+ protected:
+  uint8_t* m_pData;
 
-    union {
+  FX_DWORD m_dwSize;
 
-        uint8_t*                       m_pDataBuf;
+  FX_BOOL m_bNewBuf;
 
-        IFX_FileRead*          m_pFile;
-    };
+  CFX_ByteString m_ImageDecoder;
 
-    FX_FILESIZE                                m_FileOffset;
+  CPDF_Dictionary* m_pImageParam;
 
-    CPDF_CryptoHandler*                m_pCryptoHandler;
+  const CPDF_Stream* m_pStream;
 
-    void                                       InitStream(CPDF_Dictionary* pDict);
-    friend class                       CPDF_Object;
-    friend class                       CPDF_StreamAcc;
-    friend class                       CPDF_AttachmentAcc;
+  uint8_t* m_pSrcData;
 };
-class CPDF_StreamAcc
-{
-public:
-
-    CPDF_StreamAcc();
-
-    ~CPDF_StreamAcc();
-
-    void                                       LoadAllData(const CPDF_Stream* pStream, FX_BOOL bRawAccess = FALSE,
-                                        FX_DWORD estimated_size = 0, FX_BOOL bImageAcc = FALSE);
+CFX_DataFilter* FPDF_CreateFilter(const CFX_ByteStringC& name,
+                                  const CPDF_Dictionary* pParam,
+                                  int width = 0,
+                                  int height = 0);
+#define FPDF_FILTER_BUFFER_SIZE 20480
+class CPDF_StreamFilter {
+ public:
+  ~CPDF_StreamFilter();
 
-    const CPDF_Stream*         GetStream() const
-    {
-        return m_pStream;
-    }
+  FX_DWORD ReadBlock(uint8_t* buffer, FX_DWORD size);
 
-    CPDF_Dictionary*           GetDict() const
-    {
-        return m_pStream? m_pStream->GetDict() : NULL;
-    }
+  FX_DWORD GetSrcPos() { return m_SrcOffset; }
 
-    const uint8_t*                             GetData() const;
+  const CPDF_Stream* GetStream() { return m_pStream; }
 
-    FX_DWORD                           GetSize() const;
+ protected:
+  CPDF_StreamFilter() {}
 
-    uint8_t*                           DetachData();
+  FX_DWORD ReadLeftOver(uint8_t* buffer, FX_DWORD buf_size);
 
-    const CFX_ByteString&      GetImageDecoder()
-    {
-        return m_ImageDecoder;
-    }
+  const CPDF_Stream* m_pStream;
 
-    const CPDF_Dictionary*     GetImageParam()
-    {
-        return m_pImageParam;
-    }
-protected:
+  CFX_DataFilter* m_pFilter;
 
-    uint8_t*                           m_pData;
+  CFX_BinaryBuf* m_pBuffer;
 
-    FX_DWORD                           m_dwSize;
+  FX_DWORD m_BufOffset;
 
-    FX_BOOL                                    m_bNewBuf;
+  FX_DWORD m_SrcOffset;
 
-    CFX_ByteString                     m_ImageDecoder;
-
-    CPDF_Dictionary*           m_pImageParam;
-
-    const CPDF_Stream*         m_pStream;
-
-    uint8_t*                           m_pSrcData;
+  uint8_t m_SrcBuffer[FPDF_FILTER_BUFFER_SIZE];
+  friend class CPDF_Stream;
 };
-CFX_DataFilter* FPDF_CreateFilter(const CFX_ByteStringC& name, const CPDF_Dictionary* pParam, int width = 0, int height = 0);
-#define FPDF_FILTER_BUFFER_SIZE                20480
-class CPDF_StreamFilter
-{
-public:
-
-    ~CPDF_StreamFilter();
-
-    FX_DWORD                   ReadBlock(uint8_t* buffer, FX_DWORD size);
+class CPDF_Null : public CPDF_Object {
+ public:
+  static CPDF_Null* Create() { return new CPDF_Null(); }
 
-    FX_DWORD                   GetSrcPos()
-    {
-        return m_SrcOffset;
-    }
-
-    const CPDF_Stream* GetStream()
-    {
-        return m_pStream;
-    }
-protected:
-
-    CPDF_StreamFilter() {}
-
-    FX_DWORD                   ReadLeftOver(uint8_t* buffer, FX_DWORD buf_size);
-
-    const CPDF_Stream* m_pStream;
-
-    CFX_DataFilter*            m_pFilter;
+  CPDF_Null() : CPDF_Object(PDFOBJ_NULL) {}
+};
+class CPDF_Reference : public CPDF_Object {
+ public:
+  CPDF_Reference(CPDF_IndirectObjects* pDoc, int objnum)
+      : CPDF_Object(PDFOBJ_REFERENCE), m_pObjList(pDoc), m_RefObjNum(objnum) {}
 
-    CFX_BinaryBuf*             m_pBuffer;
+  CPDF_IndirectObjects* GetObjList() const { return m_pObjList; }
 
-    FX_DWORD                   m_BufOffset;
+  FX_DWORD GetRefObjNum() const { return m_RefObjNum; }
 
-    FX_DWORD                   m_SrcOffset;
+  void SetRef(CPDF_IndirectObjects* pDoc, FX_DWORD objnum);
 
-    uint8_t                            m_SrcBuffer[FPDF_FILTER_BUFFER_SIZE];
-    friend class CPDF_Stream;
-};
-class CPDF_Null : public CPDF_Object
-{
-public:
+  FX_BOOL Identical(CPDF_Reference* pOther) const {
+    return m_RefObjNum == pOther->m_RefObjNum;
+  }
 
-    static CPDF_Null*          Create()
-    {
-        return new CPDF_Null();
-    }
+ protected:
+  CPDF_IndirectObjects* m_pObjList;
 
-    CPDF_Null() : CPDF_Object(PDFOBJ_NULL) { }
+  FX_DWORD m_RefObjNum;
+  friend class CPDF_Object;
 };
-class CPDF_Reference : public CPDF_Object
-{
-public:
-    CPDF_Reference(CPDF_IndirectObjects* pDoc, int objnum)
-        : CPDF_Object(PDFOBJ_REFERENCE), m_pObjList(pDoc), m_RefObjNum(objnum) {
-    }
-
-    CPDF_IndirectObjects*      GetObjList() const
-    {
-        return m_pObjList;
-    }
-
-    FX_DWORD                           GetRefObjNum() const
-    {
-        return m_RefObjNum;
-    }
-
-    void                                       SetRef(CPDF_IndirectObjects* pDoc, FX_DWORD objnum);
-
-    FX_BOOL                                    Identical(CPDF_Reference* pOther) const
-    {
-        return m_RefObjNum == pOther->m_RefObjNum;
-    }
-protected:
-
-    CPDF_IndirectObjects*      m_pObjList;
-
-    FX_DWORD                           m_RefObjNum;
-    friend class                       CPDF_Object;
-};
-class CPDF_IndirectObjects
-{
-public:
-
-    CPDF_IndirectObjects(CPDF_Parser* pParser);
+class CPDF_IndirectObjects {
+ public:
+  CPDF_IndirectObjects(CPDF_Parser* pParser);
 
-    ~CPDF_IndirectObjects();
+  ~CPDF_IndirectObjects();
 
-    CPDF_Object*                       GetIndirectObject(FX_DWORD objnum, struct PARSE_CONTEXT* pContext = NULL);
+  CPDF_Object* GetIndirectObject(FX_DWORD objnum,
+                                 struct PARSE_CONTEXT* pContext = NULL);
 
-    int                                                GetIndirectType(FX_DWORD objnum);
+  int GetIndirectType(FX_DWORD objnum);
 
-    FX_DWORD                           AddIndirectObject(CPDF_Object* pObj);
+  FX_DWORD AddIndirectObject(CPDF_Object* pObj);
 
-    void                                       ReleaseIndirectObject(FX_DWORD objnum);
+  void ReleaseIndirectObject(FX_DWORD objnum);
 
-    void                                       InsertIndirectObject(FX_DWORD objnum, CPDF_Object* pObj);
+  void InsertIndirectObject(FX_DWORD objnum, CPDF_Object* pObj);
 
-    FX_DWORD                           GetLastObjNum() const;
+  FX_DWORD GetLastObjNum() const;
 
-    FX_POSITION                                GetStartPosition() const
-    {
-        return m_IndirectObjs.GetStartPosition();
-    }
+  FX_POSITION GetStartPosition() const {
+    return m_IndirectObjs.GetStartPosition();
+  }
 
-    void                                       GetNextAssoc(FX_POSITION& rPos, FX_DWORD& objnum, CPDF_Object*& pObject) const
-    {
-        m_IndirectObjs.GetNextAssoc(rPos, (void*&)objnum, (void*&)pObject);
-    }
-protected:
+  void GetNextAssoc(FX_POSITION& rPos,
+                    FX_DWORD& objnum,
+                    CPDF_Object*& pObject) const {
+    m_IndirectObjs.GetNextAssoc(rPos, (void*&)objnum, (void*&)pObject);
+  }
 
-    CFX_MapPtrToPtr                    m_IndirectObjs;
+ protected:
+  CFX_MapPtrToPtr m_IndirectObjs;
 
-    CPDF_Parser*                       m_pParser;
+  CPDF_Parser* m_pParser;
 
-    FX_DWORD                           m_LastObjNum;
+  FX_DWORD m_LastObjNum;
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_
index bd8b5c9..5f716b2 100644 (file)
@@ -21,202 +21,182 @@ class CPDF_StreamFilter;
 class CPDF_AllStates;
 class CPDF_ContentParser;
 class CPDF_StreamContentParser;
-#define PDFTRANS_GROUP                 0x0100
-#define PDFTRANS_ISOLATED              0x0200
-#define PDFTRANS_KNOCKOUT              0x0400
-
-class CPDF_PageObjects
-{
-public:
-    CPDF_PageObjects(FX_BOOL bReleaseMembers = TRUE);
-    ~CPDF_PageObjects();
-
-    void                               ContinueParse(IFX_Pause* pPause);
-
-    FX_BOOL                            IsParsed() const
-    {
-        return m_ParseState == CONTENT_PARSED;
-    }
-
-    FX_POSITION                        GetFirstObjectPosition() const
-    {
-        return m_ObjectList.GetHeadPosition();
-    }
-
-    FX_POSITION                        GetLastObjectPosition() const
-    {
-        return m_ObjectList.GetTailPosition();
-    }
-
-    CPDF_PageObject*   GetNextObject(FX_POSITION& pos) const
-    {
-        return (CPDF_PageObject*)m_ObjectList.GetNext(pos);
-    }
-
-    CPDF_PageObject*   GetPrevObject(FX_POSITION& pos) const
-    {
-        return (CPDF_PageObject*)m_ObjectList.GetPrev(pos);
-    }
-
-    CPDF_PageObject*   GetObjectAt(FX_POSITION pos) const
-    {
-        return (CPDF_PageObject*)m_ObjectList.GetAt(pos);
-    }
-
-    FX_DWORD                   CountObjects() const
-    {
-        return m_ObjectList.GetCount();
-    }
-
-    int                                        GetObjectIndex(CPDF_PageObject* pObj) const;
-
-    CPDF_PageObject*   GetObjectByIndex(int index) const;
-
-    FX_POSITION                        InsertObject(FX_POSITION posInsertAfter, CPDF_PageObject* pNewObject);
-
-    void                               Transform(const CFX_AffineMatrix& matrix);
-
-    FX_BOOL                            BackgroundAlphaNeeded() const
-    {
-        return m_bBackgroundAlphaNeeded;
-    }
-
-    CFX_FloatRect              CalcBoundingBox() const;
-
-    CPDF_Dictionary*   m_pFormDict;
-    CPDF_Stream*               m_pFormStream;
-    CPDF_Document*             m_pDocument;
-    CPDF_Dictionary*   m_pPageResources;
-    CPDF_Dictionary*   m_pResources;
-    CFX_FloatRect              m_BBox;
-    int                                        m_Transparency;
-
-protected:
-    friend class               CPDF_ContentParser;
-    friend class               CPDF_StreamContentParser;
-    friend class               CPDF_AllStates;
-
-    enum ParseState {
-        CONTENT_NOT_PARSED,
-        CONTENT_PARSING,
-        CONTENT_PARSED
-    };
-
-    void                               LoadTransInfo();
-    void                ClearCacheObjects();
-
-    CFX_PtrList                        m_ObjectList;
-    FX_BOOL                            m_bBackgroundAlphaNeeded;
-    FX_BOOL                            m_bReleaseMembers;
-    CPDF_ContentParser*        m_pParser;
-    ParseState                 m_ParseState;
-};
-
-class CPDF_Page : public CPDF_PageObjects, public CFX_PrivateData
-{
-public:
+#define PDFTRANS_GROUP 0x0100
+#define PDFTRANS_ISOLATED 0x0200
+#define PDFTRANS_KNOCKOUT 0x0400
 
-    CPDF_Page();
+class CPDF_PageObjects {
+ public:
+  CPDF_PageObjects(FX_BOOL bReleaseMembers = TRUE);
+  ~CPDF_PageObjects();
 
-    ~CPDF_Page();
+  void ContinueParse(IFX_Pause* pPause);
 
-    void                               Load(CPDF_Document* pDocument, CPDF_Dictionary* pPageDict, FX_BOOL bPageCache = TRUE);
+  FX_BOOL IsParsed() const { return m_ParseState == CONTENT_PARSED; }
 
-    void                               StartParse(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE);
+  FX_POSITION GetFirstObjectPosition() const {
+    return m_ObjectList.GetHeadPosition();
+  }
 
-    void                               ParseContent(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE);
+  FX_POSITION GetLastObjectPosition() const {
+    return m_ObjectList.GetTailPosition();
+  }
 
-    void                               GetDisplayMatrix(CFX_AffineMatrix& matrix, int xPos, int yPos,
-                                         int xSize, int ySize, int iRotate) const;
+  CPDF_PageObject* GetNextObject(FX_POSITION& pos) const {
+    return (CPDF_PageObject*)m_ObjectList.GetNext(pos);
+  }
 
-    FX_FLOAT                   GetPageWidth() const
-    {
-        return m_PageWidth;
-    }
+  CPDF_PageObject* GetPrevObject(FX_POSITION& pos) const {
+    return (CPDF_PageObject*)m_ObjectList.GetPrev(pos);
+  }
 
-    FX_FLOAT                   GetPageHeight() const
-    {
-        return m_PageHeight;
-    }
+  CPDF_PageObject* GetObjectAt(FX_POSITION pos) const {
+    return (CPDF_PageObject*)m_ObjectList.GetAt(pos);
+  }
 
-    CFX_FloatRect              GetPageBBox() const
-    {
-        return m_BBox;
-    }
+  FX_DWORD CountObjects() const { return m_ObjectList.GetCount(); }
 
-    const CFX_AffineMatrix&    GetPageMatrix() const
-    {
-        return m_PageMatrix;
-    }
+  int GetObjectIndex(CPDF_PageObject* pObj) const;
 
-    CPDF_Object*               GetPageAttr(const CFX_ByteStringC& name) const;
+  CPDF_PageObject* GetObjectByIndex(int index) const;
 
+  FX_POSITION InsertObject(FX_POSITION posInsertAfter,
+                           CPDF_PageObject* pNewObject);
 
+  void Transform(const CFX_AffineMatrix& matrix);
 
-    CPDF_PageRenderCache*      GetRenderCache() const
-    {
-        return m_pPageRender;
-    }
+  FX_BOOL BackgroundAlphaNeeded() const { return m_bBackgroundAlphaNeeded; }
 
-    void                               ClearRenderCache();
+  CFX_FloatRect CalcBoundingBox() const;
 
-protected:
-    friend class               CPDF_ContentParser;
+  CPDF_Dictionary* m_pFormDict;
+  CPDF_Stream* m_pFormStream;
+  CPDF_Document* m_pDocument;
+  CPDF_Dictionary* m_pPageResources;
+  CPDF_Dictionary* m_pResources;
+  CFX_FloatRect m_BBox;
+  int m_Transparency;
 
-    FX_FLOAT                   m_PageWidth;
+ protected:
+  friend class CPDF_ContentParser;
+  friend class CPDF_StreamContentParser;
+  friend class CPDF_AllStates;
 
-    FX_FLOAT                   m_PageHeight;
+  enum ParseState { CONTENT_NOT_PARSED, CONTENT_PARSING, CONTENT_PARSED };
 
-    CFX_AffineMatrix   m_PageMatrix;
+  void LoadTransInfo();
+  void ClearCacheObjects();
 
-    CPDF_PageRenderCache*      m_pPageRender;
+  CFX_PtrList m_ObjectList;
+  FX_BOOL m_bBackgroundAlphaNeeded;
+  FX_BOOL m_bReleaseMembers;
+  CPDF_ContentParser* m_pParser;
+  ParseState m_ParseState;
 };
-class CPDF_ParseOptions
-{
-public:
 
-    CPDF_ParseOptions();
+class CPDF_Page : public CPDF_PageObjects, public CFX_PrivateData {
+ public:
+  CPDF_Page();
 
-    FX_BOOL                            m_bTextOnly;
+  ~CPDF_Page();
 
-    FX_BOOL                            m_bMarkedContent;
+  void Load(CPDF_Document* pDocument,
+            CPDF_Dictionary* pPageDict,
+            FX_BOOL bPageCache = TRUE);
 
-    FX_BOOL                            m_bSeparateForm;
+  void StartParse(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE);
 
-    FX_BOOL                            m_bDecodeInlineImage;
-};
-class CPDF_Form : public CPDF_PageObjects
-{
-public:
+  void ParseContent(CPDF_ParseOptions* pOptions = NULL,
+                    FX_BOOL bReParse = FALSE);
+
+  void GetDisplayMatrix(CFX_AffineMatrix& matrix,
+                        int xPos,
+                        int yPos,
+                        int xSize,
+                        int ySize,
+                        int iRotate) const;
+
+  FX_FLOAT GetPageWidth() const { return m_PageWidth; }
+
+  FX_FLOAT GetPageHeight() const { return m_PageHeight; }
+
+  CFX_FloatRect GetPageBBox() const { return m_BBox; }
+
+  const CFX_AffineMatrix& GetPageMatrix() const { return m_PageMatrix; }
+
+  CPDF_Object* GetPageAttr(const CFX_ByteStringC& name) const;
 
-    CPDF_Form(CPDF_Document* pDocument, CPDF_Dictionary* pPageResources, CPDF_Stream* pFormStream, CPDF_Dictionary* pParentResources = NULL);
+  CPDF_PageRenderCache* GetRenderCache() const { return m_pPageRender; }
 
-    ~CPDF_Form();
+  void ClearRenderCache();
 
-    void                               StartParse(CPDF_AllStates* pGraphicStates,  CFX_AffineMatrix* pParentMatrix,
-                                   CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level = 0);
+ protected:
+  friend class CPDF_ContentParser;
 
-    void                               ParseContent(CPDF_AllStates* pGraphicStates, CFX_AffineMatrix* pParentMatrix,
-                                     CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level = 0);
+  FX_FLOAT m_PageWidth;
 
-    CPDF_Form*                 Clone() const;
+  FX_FLOAT m_PageHeight;
+
+  CFX_AffineMatrix m_PageMatrix;
+
+  CPDF_PageRenderCache* m_pPageRender;
+};
+class CPDF_ParseOptions {
+ public:
+  CPDF_ParseOptions();
+
+  FX_BOOL m_bTextOnly;
+
+  FX_BOOL m_bMarkedContent;
+
+  FX_BOOL m_bSeparateForm;
+
+  FX_BOOL m_bDecodeInlineImage;
+};
+class CPDF_Form : public CPDF_PageObjects {
+ public:
+  CPDF_Form(CPDF_Document* pDocument,
+            CPDF_Dictionary* pPageResources,
+            CPDF_Stream* pFormStream,
+            CPDF_Dictionary* pParentResources = NULL);
+
+  ~CPDF_Form();
+
+  void StartParse(CPDF_AllStates* pGraphicStates,
+                  CFX_AffineMatrix* pParentMatrix,
+                  CPDF_Type3Char* pType3Char,
+                  CPDF_ParseOptions* pOptions,
+                  int level = 0);
+
+  void ParseContent(CPDF_AllStates* pGraphicStates,
+                    CFX_AffineMatrix* pParentMatrix,
+                    CPDF_Type3Char* pType3Char,
+                    CPDF_ParseOptions* pOptions,
+                    int level = 0);
+
+  CPDF_Form* Clone() const;
 };
-class CPDF_PageContentGenerate
-{
-public:
-    CPDF_PageContentGenerate(CPDF_Page* pPage);
-    ~CPDF_PageContentGenerate();
-    FX_BOOL InsertPageObject(CPDF_PageObject* pPageObject);
-    void GenerateContent();
-    void TransformContent(CFX_Matrix& matrix);
-protected:
-    void            ProcessImage(CFX_ByteTextBuf& buf, CPDF_ImageObject* pImageObj);
-    void            ProcessForm(CFX_ByteTextBuf& buf, const uint8_t* data, FX_DWORD size, CFX_Matrix& matrix);
-    CFX_ByteString  RealizeResource(CPDF_Object* pResourceObj, const FX_CHAR* szType);
-private:
-    CPDF_Page*      m_pPage;
-    CPDF_Document*  m_pDocument;
-    CFX_PtrArray    m_pageObjects;
+class CPDF_PageContentGenerate {
+ public:
+  CPDF_PageContentGenerate(CPDF_Page* pPage);
+  ~CPDF_PageContentGenerate();
+  FX_BOOL InsertPageObject(CPDF_PageObject* pPageObject);
+  void GenerateContent();
+  void TransformContent(CFX_Matrix& matrix);
+
+ protected:
+  void ProcessImage(CFX_ByteTextBuf& buf, CPDF_ImageObject* pImageObj);
+  void ProcessForm(CFX_ByteTextBuf& buf,
+                   const uint8_t* data,
+                   FX_DWORD size,
+                   CFX_Matrix& matrix);
+  CFX_ByteString RealizeResource(CPDF_Object* pResourceObj,
+                                 const FX_CHAR* szType);
+
+ private:
+  CPDF_Page* m_pPage;
+  CPDF_Document* m_pDocument;
+  CFX_PtrArray m_pageObjects;
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_
index 73540a3..be81244 100644 (file)
@@ -31,672 +31,540 @@ class CPDF_ShadingObject;
 class CPDF_FormObject;
 typedef CFX_PathData CPDF_PathData;
 
-class CPDF_Path : public CFX_CountRef<CFX_PathData>
-{
-public:
-    int                                        GetPointCount()
-    {
-        return m_pObject->m_PointCount;
-    }
-
-    int                                        GetFlag(int index)
-    {
-        return m_pObject->m_pPoints[index].m_Flag;
-    }
-
-    FX_FLOAT                   GetPointX(int index)
-    {
-        return m_pObject->m_pPoints[index].m_PointX;
-    }
-
-    FX_FLOAT                   GetPointY(int index)
-    {
-        return m_pObject->m_pPoints[index].m_PointY;
-    }
-
-
-
-
-    FX_PATHPOINT*              GetPoints()
-    {
-        return m_pObject->m_pPoints;
-    }
-
-
-    CFX_FloatRect              GetBoundingBox() const
-    {
-        return m_pObject->GetBoundingBox();
-    }
-
-    CFX_FloatRect              GetBoundingBox(FX_FLOAT line_width, FX_FLOAT miter_limit) const
-    {
-        return m_pObject->GetBoundingBox(line_width, miter_limit);
-    }
-
-    void                               Transform(const CFX_AffineMatrix* pMatrix)
-    {
-        GetModify()->Transform(pMatrix);
-    }
-
-    void                               Append(CPDF_Path src, const CFX_AffineMatrix* pMatrix)
-    {
-        m_pObject->Append(src.m_pObject, pMatrix);
-    }
-
-    void                               AppendRect(FX_FLOAT left, FX_FLOAT bottom, FX_FLOAT right, FX_FLOAT top)
-    {
-        m_pObject->AppendRect(left, bottom, right, top);
-    }
-
-    FX_BOOL                            IsRect() const
-    {
-        return m_pObject->IsRect();
-    }
-};
-class CPDF_ClipPathData
-{
-public:
+class CPDF_Path : public CFX_CountRef<CFX_PathData> {
+ public:
+  int GetPointCount() { return m_pObject->m_PointCount; }
+
+  int GetFlag(int index) { return m_pObject->m_pPoints[index].m_Flag; }
 
-    CPDF_ClipPathData();
+  FX_FLOAT GetPointX(int index) { return m_pObject->m_pPoints[index].m_PointX; }
 
-    CPDF_ClipPathData(const CPDF_ClipPathData&);
+  FX_FLOAT GetPointY(int index) { return m_pObject->m_pPoints[index].m_PointY; }
 
-    ~CPDF_ClipPathData();
+  FX_PATHPOINT* GetPoints() { return m_pObject->m_pPoints; }
 
-    void                               SetCount(int path_count, int text_count);
-public:
+  CFX_FloatRect GetBoundingBox() const { return m_pObject->GetBoundingBox(); }
 
-    int                                        m_PathCount;
+  CFX_FloatRect GetBoundingBox(FX_FLOAT line_width,
+                               FX_FLOAT miter_limit) const {
+    return m_pObject->GetBoundingBox(line_width, miter_limit);
+  }
 
-    CPDF_Path*                 m_pPathList;
+  void Transform(const CFX_AffineMatrix* pMatrix) {
+    GetModify()->Transform(pMatrix);
+  }
 
-    uint8_t*                   m_pTypeList;
+  void Append(CPDF_Path src, const CFX_AffineMatrix* pMatrix) {
+    m_pObject->Append(src.m_pObject, pMatrix);
+  }
 
-    int                                        m_TextCount;
+  void AppendRect(FX_FLOAT left,
+                  FX_FLOAT bottom,
+                  FX_FLOAT right,
+                  FX_FLOAT top) {
+    m_pObject->AppendRect(left, bottom, right, top);
+  }
 
-    CPDF_TextObject**  m_pTextList;
+  FX_BOOL IsRect() const { return m_pObject->IsRect(); }
 };
-class CPDF_ClipPath : public CFX_CountRef<CPDF_ClipPathData>
-{
-public:
+class CPDF_ClipPathData {
+ public:
+  CPDF_ClipPathData();
 
-    FX_DWORD                   GetPathCount() const
-    {
-        return m_pObject->m_PathCount;
-    }
+  CPDF_ClipPathData(const CPDF_ClipPathData&);
 
-    CPDF_Path                  GetPath(int i) const
-    {
-        return m_pObject->m_pPathList[i];
-    }
+  ~CPDF_ClipPathData();
 
-    int                                        GetClipType(int i) const
-    {
-        return m_pObject->m_pTypeList[i];
-    }
+  void SetCount(int path_count, int text_count);
 
-    FX_DWORD                   GetTextCount() const
-    {
-        return m_pObject->m_TextCount;
-    }
+ public:
+  int m_PathCount;
 
-    CPDF_TextObject*   GetText(int i) const
-    {
-        return m_pObject->m_pTextList[i];
-    }
+  CPDF_Path* m_pPathList;
 
-    CFX_FloatRect              GetClipBox() const;
+  uint8_t* m_pTypeList;
 
-    void                               AppendPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
+  int m_TextCount;
 
-    void                               DeletePath(int layer_index);
+  CPDF_TextObject** m_pTextList;
+};
+class CPDF_ClipPath : public CFX_CountRef<CPDF_ClipPathData> {
+ public:
+  FX_DWORD GetPathCount() const { return m_pObject->m_PathCount; }
 
-    void                               AppendTexts(CPDF_TextObject** pTexts, int count);
+  CPDF_Path GetPath(int i) const { return m_pObject->m_pPathList[i]; }
 
-    void                               Transform(const CFX_AffineMatrix& matrix);
-};
-class CPDF_ColorStateData
-{
-public:
+  int GetClipType(int i) const { return m_pObject->m_pTypeList[i]; }
 
-    CPDF_ColorStateData(): m_FillRGB(0), m_StrokeRGB(0) {}
+  FX_DWORD GetTextCount() const { return m_pObject->m_TextCount; }
 
-    CPDF_ColorStateData(const CPDF_ColorStateData& src);
+  CPDF_TextObject* GetText(int i) const { return m_pObject->m_pTextList[i]; }
 
-    void                               Default();
+  CFX_FloatRect GetClipBox() const;
 
-    CPDF_Color                 m_FillColor;
+  void AppendPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
 
-    FX_DWORD                   m_FillRGB;
+  void DeletePath(int layer_index);
 
-    CPDF_Color                 m_StrokeColor;
+  void AppendTexts(CPDF_TextObject** pTexts, int count);
 
-    FX_DWORD                   m_StrokeRGB;
+  void Transform(const CFX_AffineMatrix& matrix);
 };
-class CPDF_ColorState : public CFX_CountRef<CPDF_ColorStateData>
-{
-public:
+class CPDF_ColorStateData {
+ public:
+  CPDF_ColorStateData() : m_FillRGB(0), m_StrokeRGB(0) {}
 
-    CPDF_Color*                        GetFillColor() const
-    {
-        return m_pObject ? &m_pObject->m_FillColor : NULL;
-    }
+  CPDF_ColorStateData(const CPDF_ColorStateData& src);
 
-    CPDF_Color*                        GetStrokeColor() const
-    {
-        return m_pObject ? &m_pObject->m_StrokeColor : NULL;
-    }
+  void Default();
 
-    void                               SetFillColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);
+  CPDF_Color m_FillColor;
 
-    void                               SetStrokeColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);
+  FX_DWORD m_FillRGB;
 
-    void                               SetFillPattern(CPDF_Pattern* pattern, FX_FLOAT* pValue, int nValues);
+  CPDF_Color m_StrokeColor;
 
-    void                               SetStrokePattern(CPDF_Pattern* pattern, FX_FLOAT* pValue, int nValues);
-private:
-    void                               SetColor(CPDF_Color& color, FX_DWORD& rgb, CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);
-};
-typedef CFX_GraphStateData CPDF_GraphStateData;
-class CPDF_GraphState : public CFX_CountRef<CFX_GraphStateData>
-{
-public:
+  FX_DWORD m_StrokeRGB;
 };
-class CPDF_TextStateData
-{
-public:
+class CPDF_ColorState : public CFX_CountRef<CPDF_ColorStateData> {
+ public:
+  CPDF_Color* GetFillColor() const {
+    return m_pObject ? &m_pObject->m_FillColor : NULL;
+  }
 
-    CPDF_TextStateData();
+  CPDF_Color* GetStrokeColor() const {
+    return m_pObject ? &m_pObject->m_StrokeColor : NULL;
+  }
 
-    CPDF_TextStateData(const CPDF_TextStateData& src);
+  void SetFillColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);
 
-    ~CPDF_TextStateData();
+  void SetStrokeColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);
 
-    CPDF_Font*                 m_pFont;
+  void SetFillPattern(CPDF_Pattern* pattern, FX_FLOAT* pValue, int nValues);
 
-    CPDF_Document*             m_pDocument;
+  void SetStrokePattern(CPDF_Pattern* pattern, FX_FLOAT* pValue, int nValues);
 
-    FX_FLOAT                   m_FontSize;
+ private:
+  void SetColor(CPDF_Color& color,
+                FX_DWORD& rgb,
+                CPDF_ColorSpace* pCS,
+                FX_FLOAT* pValue,
+                int nValues);
+};
+typedef CFX_GraphStateData CPDF_GraphStateData;
+class CPDF_GraphState : public CFX_CountRef<CFX_GraphStateData> {
+ public:
+};
+class CPDF_TextStateData {
+ public:
+  CPDF_TextStateData();
 
-    FX_FLOAT                   m_CharSpace;
+  CPDF_TextStateData(const CPDF_TextStateData& src);
 
-    FX_FLOAT                   m_WordSpace;
+  ~CPDF_TextStateData();
 
-    FX_FLOAT           m_Matrix[4];
+  CPDF_Font* m_pFont;
 
-    int                                        m_TextMode;
+  CPDF_Document* m_pDocument;
 
-    FX_FLOAT           m_CTM[4];
-};
-class CPDF_TextState : public CFX_CountRef<CPDF_TextStateData>
-{
-public:
+  FX_FLOAT m_FontSize;
+
+  FX_FLOAT m_CharSpace;
 
-    CPDF_Font*                 GetFont() const
-    {
-        return m_pObject->m_pFont;
-    }
+  FX_FLOAT m_WordSpace;
 
-    void                               SetFont(CPDF_Font* pFont);
+  FX_FLOAT m_Matrix[4];
 
-    FX_FLOAT                   GetFontSize() const
-    {
-        return m_pObject->m_FontSize;
-    }
+  int m_TextMode;
 
-    FX_FLOAT*                  GetMatrix() const
-    {
-        return m_pObject->m_Matrix;
-    }
+  FX_FLOAT m_CTM[4];
+};
+class CPDF_TextState : public CFX_CountRef<CPDF_TextStateData> {
+ public:
+  CPDF_Font* GetFont() const { return m_pObject->m_pFont; }
 
+  void SetFont(CPDF_Font* pFont);
 
+  FX_FLOAT GetFontSize() const { return m_pObject->m_FontSize; }
 
-    FX_FLOAT                   GetFontSizeV() const;
+  FX_FLOAT* GetMatrix() const { return m_pObject->m_Matrix; }
 
-    FX_FLOAT                   GetFontSizeH() const;
+  FX_FLOAT GetFontSizeV() const;
 
-    FX_FLOAT                   GetBaselineAngle() const;
+  FX_FLOAT GetFontSizeH() const;
 
-    FX_FLOAT                   GetShearAngle() const;
+  FX_FLOAT GetBaselineAngle() const;
 
+  FX_FLOAT GetShearAngle() const;
 };
 class CPDF_TransferFunc;
-class CPDF_GeneralStateData
-{
-public:
-
-    CPDF_GeneralStateData();
+class CPDF_GeneralStateData {
+ public:
+  CPDF_GeneralStateData();
 
-    CPDF_GeneralStateData(const CPDF_GeneralStateData& src);
-    ~CPDF_GeneralStateData();
+  CPDF_GeneralStateData(const CPDF_GeneralStateData& src);
+  ~CPDF_GeneralStateData();
 
-    void                               SetBlendMode(const CFX_ByteStringC& blend_mode);
+  void SetBlendMode(const CFX_ByteStringC& blend_mode);
 
-    char                               m_BlendMode[16];
+  char m_BlendMode[16];
 
-    int                                        m_BlendType;
+  int m_BlendType;
 
-    CPDF_Object*               m_pSoftMask;
+  CPDF_Object* m_pSoftMask;
 
-    FX_FLOAT                   m_SMaskMatrix[6];
+  FX_FLOAT m_SMaskMatrix[6];
 
-    FX_FLOAT                   m_StrokeAlpha;
+  FX_FLOAT m_StrokeAlpha;
 
-    FX_FLOAT                   m_FillAlpha;
+  FX_FLOAT m_FillAlpha;
 
-    CPDF_Object*               m_pTR;
+  CPDF_Object* m_pTR;
 
-    CPDF_TransferFunc* m_pTransferFunc;
+  CPDF_TransferFunc* m_pTransferFunc;
 
-    CFX_Matrix                 m_Matrix;
+  CFX_Matrix m_Matrix;
 
-    int                                        m_RenderIntent;
+  int m_RenderIntent;
 
-    FX_BOOL                            m_StrokeAdjust;
+  FX_BOOL m_StrokeAdjust;
 
-    FX_BOOL                            m_AlphaSource;
+  FX_BOOL m_AlphaSource;
 
-    FX_BOOL                            m_TextKnockout;
+  FX_BOOL m_TextKnockout;
 
-    FX_BOOL                            m_StrokeOP;
+  FX_BOOL m_StrokeOP;
 
-    FX_BOOL                            m_FillOP;
+  FX_BOOL m_FillOP;
 
-    int                                        m_OPMode;
+  int m_OPMode;
 
-    CPDF_Object*               m_pBG;
+  CPDF_Object* m_pBG;
 
-    CPDF_Object*               m_pUCR;
+  CPDF_Object* m_pUCR;
 
-    CPDF_Object*               m_pHT;
+  CPDF_Object* m_pHT;
 
-    FX_FLOAT                   m_Flatness;
+  FX_FLOAT m_Flatness;
 
-    FX_FLOAT                   m_Smoothness;
+  FX_FLOAT m_Smoothness;
 };
-class CPDF_GeneralState : public CFX_CountRef<CPDF_GeneralStateData>
-{
-public:
-
-    void                               SetRenderIntent(const CFX_ByteString& ri);
-
-    int                                        GetBlendType() const
-    {
-        return m_pObject ? m_pObject->m_BlendType : FXDIB_BLEND_NORMAL;
-    }
-
-    int                                        GetAlpha(FX_BOOL bStroke) const
-    {
-        return m_pObject ? FXSYS_round((bStroke ? m_pObject->m_StrokeAlpha : m_pObject->m_FillAlpha) * 255) : 255;
-    }
+class CPDF_GeneralState : public CFX_CountRef<CPDF_GeneralStateData> {
+ public:
+  void SetRenderIntent(const CFX_ByteString& ri);
+
+  int GetBlendType() const {
+    return m_pObject ? m_pObject->m_BlendType : FXDIB_BLEND_NORMAL;
+  }
+
+  int GetAlpha(FX_BOOL bStroke) const {
+    return m_pObject ? FXSYS_round((bStroke ? m_pObject->m_StrokeAlpha
+                                            : m_pObject->m_FillAlpha) *
+                                   255)
+                     : 255;
+  }
 };
-class CPDF_ContentMarkItem
-{
-public:
-
-    typedef enum {
-        None,
-        PropertiesDict,
-        DirectDict,
-        MCID
-    } ParamType;
+class CPDF_ContentMarkItem {
+ public:
+  typedef enum { None, PropertiesDict, DirectDict, MCID } ParamType;
 
-    CPDF_ContentMarkItem();
+  CPDF_ContentMarkItem();
 
-    CPDF_ContentMarkItem(const CPDF_ContentMarkItem& src);
+  CPDF_ContentMarkItem(const CPDF_ContentMarkItem& src);
 
-    ~CPDF_ContentMarkItem();
+  ~CPDF_ContentMarkItem();
 
-    inline const CFX_ByteString&       GetName() const
-    {
-        return m_MarkName;
-    }
+  inline const CFX_ByteString& GetName() const { return m_MarkName; }
 
-    inline ParamType   GetParamType() const
-    {
-        return m_ParamType;
-    }
+  inline ParamType GetParamType() const { return m_ParamType; }
 
-    inline void*               GetParam() const
-    {
-        return m_pParam;
-    }
+  inline void* GetParam() const { return m_pParam; }
 
-    inline FX_BOOL             HasMCID() const;
+  inline FX_BOOL HasMCID() const;
 
-    inline void                        SetName(const CFX_ByteString& name)
-    {
-        m_MarkName = name;
-    }
+  inline void SetName(const CFX_ByteString& name) { m_MarkName = name; }
 
-    inline void                        SetParam(ParamType type, void* param)
-    {
-        m_ParamType = type;
-        m_pParam = param;
-    }
-private:
+  inline void SetParam(ParamType type, void* param) {
+    m_ParamType = type;
+    m_pParam = param;
+  }
 
-    CFX_ByteString             m_MarkName;
+ private:
+  CFX_ByteString m_MarkName;
 
-    ParamType                  m_ParamType;
+  ParamType m_ParamType;
 
-    void*                              m_pParam;
+  void* m_pParam;
 };
-class CPDF_ContentMarkData
-{
-public:
+class CPDF_ContentMarkData {
+ public:
+  CPDF_ContentMarkData() {}
 
-    CPDF_ContentMarkData() { }
+  CPDF_ContentMarkData(const CPDF_ContentMarkData& src);
 
-    CPDF_ContentMarkData(const CPDF_ContentMarkData& src);
+  inline int CountItems() const { return m_Marks.GetSize(); }
 
-    inline int                 CountItems() const
-    {
-        return m_Marks.GetSize();
-    }
+  inline CPDF_ContentMarkItem& GetItem(int index) const {
+    return m_Marks[index];
+  }
 
-    inline CPDF_ContentMarkItem&       GetItem(int index) const
-    {
-        return m_Marks[index];
-    }
+  int GetMCID() const;
 
-    int                                        GetMCID() const;
+  void AddMark(const CFX_ByteString& name,
+               CPDF_Dictionary* pDict,
+               FX_BOOL bDictNeedClone);
 
-    void                               AddMark(const CFX_ByteString& name, CPDF_Dictionary* pDict, FX_BOOL bDictNeedClone);
+  void DeleteLastMark();
 
-    void                               DeleteLastMark();
-private:
-
-    CFX_ObjectArray<CPDF_ContentMarkItem>      m_Marks;
+ private:
+  CFX_ObjectArray<CPDF_ContentMarkItem> m_Marks;
 };
-class CPDF_ContentMark : public CFX_CountRef<CPDF_ContentMarkData>
-{
-public:
-
-    int                                        GetMCID() const
-    {
-        return m_pObject ? m_pObject->GetMCID() : -1;
-    }
+class CPDF_ContentMark : public CFX_CountRef<CPDF_ContentMarkData> {
+ public:
+  int GetMCID() const { return m_pObject ? m_pObject->GetMCID() : -1; }
 
-    FX_BOOL                            HasMark(const CFX_ByteStringC& mark) const;
+  FX_BOOL HasMark(const CFX_ByteStringC& mark) const;
 
-    FX_BOOL                            LookupMark(const CFX_ByteStringC& mark, CPDF_Dictionary*& pDict) const;
+  FX_BOOL LookupMark(const CFX_ByteStringC& mark,
+                     CPDF_Dictionary*& pDict) const;
 };
 
-#define PDFPAGE_TEXT     1
-#define PDFPAGE_PATH     2
-#define PDFPAGE_IMAGE    3
-#define PDFPAGE_SHADING  4
-#define PDFPAGE_FORM     5
+#define PDFPAGE_TEXT 1
+#define PDFPAGE_PATH 2
+#define PDFPAGE_IMAGE 3
+#define PDFPAGE_SHADING 4
+#define PDFPAGE_FORM 5
 
-class CPDF_GraphicStates
-{
-public:
-    void                               CopyStates(const CPDF_GraphicStates& src);
+class CPDF_GraphicStates {
+ public:
+  void CopyStates(const CPDF_GraphicStates& src);
 
-    void                               DefaultStates();
+  void DefaultStates();
 
-    CPDF_ClipPath              m_ClipPath;
+  CPDF_ClipPath m_ClipPath;
 
-    CPDF_GraphState            m_GraphState;
+  CPDF_GraphState m_GraphState;
 
-    CPDF_ColorState            m_ColorState;
+  CPDF_ColorState m_ColorState;
 
-    CPDF_TextState             m_TextState;
+  CPDF_TextState m_TextState;
 
-    CPDF_GeneralState  m_GeneralState;
+  CPDF_GeneralState m_GeneralState;
 };
 
-class CPDF_PageObject : public CPDF_GraphicStates
-{
-public:
-    static CPDF_PageObject* Create(int type);
-    virtual ~CPDF_PageObject();
-
-    CPDF_PageObject*   Clone() const;
+class CPDF_PageObject : public CPDF_GraphicStates {
+ public:
+  static CPDF_PageObject* Create(int type);
+  virtual ~CPDF_PageObject();
 
-    void                               Copy(const CPDF_PageObject* pSrcObject);
+  CPDF_PageObject* Clone() const;
 
-    virtual void Transform(const CFX_AffineMatrix& matrix) = 0;
+  void Copy(const CPDF_PageObject* pSrcObject);
 
-    void                               RemoveClipPath();
+  virtual void Transform(const CFX_AffineMatrix& matrix) = 0;
 
-    void                               AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
+  void RemoveClipPath();
 
-    void                               CopyClipPath(CPDF_PageObject* pObj);
+  void AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);
 
-    void                               TransformClipPath(CFX_AffineMatrix& matrix);
+  void CopyClipPath(CPDF_PageObject* pObj);
 
-    void                               TransformGeneralState(CFX_AffineMatrix& matrix);
+  void TransformClipPath(CFX_AffineMatrix& matrix);
 
-    void                               SetColorState(CPDF_ColorState state)
-    {
-        m_ColorState = state;
-    }
+  void TransformGeneralState(CFX_AffineMatrix& matrix);
 
-    FX_RECT                            GetBBox(const CFX_AffineMatrix* pMatrix) const;
+  void SetColorState(CPDF_ColorState state) { m_ColorState = state; }
 
-    int                                        m_Type;
+  FX_RECT GetBBox(const CFX_AffineMatrix* pMatrix) const;
 
-    FX_FLOAT                   m_Left;
+  int m_Type;
 
-    FX_FLOAT                   m_Right;
+  FX_FLOAT m_Left;
 
-    FX_FLOAT                   m_Top;
+  FX_FLOAT m_Right;
 
-    FX_FLOAT                   m_Bottom;
+  FX_FLOAT m_Top;
 
-    CPDF_ContentMark   m_ContentMark;
+  FX_FLOAT m_Bottom;
 
-protected:
-    virtual void CopyData(const CPDF_PageObject* pSrcObject) = 0;
+  CPDF_ContentMark m_ContentMark;
 
-    void                               RecalcBBox();
+ protected:
+  virtual void CopyData(const CPDF_PageObject* pSrcObject) = 0;
 
-    CPDF_PageObject() {}
+  void RecalcBBox();
 
+  CPDF_PageObject() {}
 };
 
 struct CPDF_TextObjectItem {
-    FX_DWORD m_CharCode;
-    FX_FLOAT m_OriginX;
-    FX_FLOAT m_OriginY;
+  FX_DWORD m_CharCode;
+  FX_FLOAT m_OriginX;
+  FX_FLOAT m_OriginY;
 };
 
-class CPDF_TextObject : public CPDF_PageObject
-{
-public:
-    CPDF_TextObject();
-    ~CPDF_TextObject() override;
+class CPDF_TextObject : public CPDF_PageObject {
+ public:
+  CPDF_TextObject();
+  ~CPDF_TextObject() override;
 
-    int CountItems() const
-    {
-        return m_nChars;
-    }
+  int CountItems() const { return m_nChars; }
 
-    void GetItemInfo(int index, CPDF_TextObjectItem* pInfo) const;
+  void GetItemInfo(int index, CPDF_TextObjectItem* pInfo) const;
 
-    int CountChars() const;
+  int CountChars() const;
 
-    void GetCharInfo(int index, FX_DWORD& charcode, FX_FLOAT& kerning) const;
-    void GetCharInfo(int index, CPDF_TextObjectItem* pInfo) const;
+  void GetCharInfo(int index, FX_DWORD& charcode, FX_FLOAT& kerning) const;
+  void GetCharInfo(int index, CPDF_TextObjectItem* pInfo) const;
 
-    void GetCharRect(int index, CFX_FloatRect& rect) const;
+  void GetCharRect(int index, CFX_FloatRect& rect) const;
 
-    FX_FLOAT GetCharWidth(FX_DWORD charcode) const;
-    FX_FLOAT GetSpaceCharWidth() const;
+  FX_FLOAT GetCharWidth(FX_DWORD charcode) const;
+  FX_FLOAT GetSpaceCharWidth() const;
 
-    FX_FLOAT GetPosX() const
-    {
-        return m_PosX;
-    }
+  FX_FLOAT GetPosX() const { return m_PosX; }
 
-    FX_FLOAT GetPosY() const
-    {
-        return m_PosY;
-    }
+  FX_FLOAT GetPosY() const { return m_PosY; }
 
-    void GetTextMatrix(CFX_AffineMatrix* pMatrix) const;
+  void GetTextMatrix(CFX_AffineMatrix* pMatrix) const;
 
-    CPDF_Font* GetFont() const
-    {
-        return m_TextState.GetFont();
-    }
+  CPDF_Font* GetFont() const { return m_TextState.GetFont(); }
 
-    FX_FLOAT GetFontSize() const
-    {
-        return m_TextState.GetFontSize();
-    }
+  FX_FLOAT GetFontSize() const { return m_TextState.GetFontSize(); }
 
-    void SetEmpty();
+  void SetEmpty();
 
-    void SetText(const CFX_ByteString& text);
+  void SetText(const CFX_ByteString& text);
 
-    void SetText(CFX_ByteString* pStrs, FX_FLOAT* pKerning, int nSegs);
+  void SetText(CFX_ByteString* pStrs, FX_FLOAT* pKerning, int nSegs);
 
-    void SetText(int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pKernings);
+  void SetText(int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pKernings);
 
-    void SetPosition(FX_FLOAT x, FX_FLOAT y);
+  void SetPosition(FX_FLOAT x, FX_FLOAT y);
 
-    void SetTextState(CPDF_TextState TextState);
+  void SetTextState(CPDF_TextState TextState);
 
-    // CPDF_PageObject:
-    void Transform(const CFX_AffineMatrix& matrix) override;
+  // CPDF_PageObject:
+  void Transform(const CFX_AffineMatrix& matrix) override;
 
-    void CalcCharPos(FX_FLOAT* pPosArray) const;
+  void CalcCharPos(FX_FLOAT* pPosArray) const;
 
-    void SetData(int nChars,
-                 FX_DWORD* pCharCodes,
-                 FX_FLOAT* pCharPos,
-                 FX_FLOAT x,
-                 FX_FLOAT y);
+  void SetData(int nChars,
+               FX_DWORD* pCharCodes,
+               FX_FLOAT* pCharPos,
+               FX_FLOAT x,
+               FX_FLOAT y);
 
-    void GetData(int& nChars, FX_DWORD*& pCharCodes, FX_FLOAT*& pCharPos)
-    {
-        nChars = m_nChars;
-        pCharCodes = m_pCharCodes;
-        pCharPos = m_pCharPos;
-    }
+  void GetData(int& nChars, FX_DWORD*& pCharCodes, FX_FLOAT*& pCharPos) {
+    nChars = m_nChars;
+    pCharCodes = m_pCharCodes;
+    pCharPos = m_pCharPos;
+  }
 
+  void RecalcPositionData() { CalcPositionData(nullptr, nullptr, 1); }
 
-    void RecalcPositionData()
-    {
-        CalcPositionData(nullptr, nullptr, 1);
-    }
+ protected:
+  friend class CPDF_RenderStatus;
+  friend class CPDF_StreamContentParser;
+  friend class CPDF_TextRenderer;
+  friend class CTextPage;
 
-protected:
-    friend class CPDF_RenderStatus;
-    friend class CPDF_StreamContentParser;
-    friend class CPDF_TextRenderer;
-    friend class CTextPage;
+  // CPDF_PageObject:
+  void CopyData(const CPDF_PageObject* pSrcObject) override;
 
-    // CPDF_PageObject:
-    void CopyData(const CPDF_PageObject* pSrcObject) override;
+  void SetSegments(const CFX_ByteString* pStrs, FX_FLOAT* pKerning, int nSegs);
 
-    void SetSegments(const CFX_ByteString* pStrs,
-                     FX_FLOAT* pKerning,
-                     int nSegs);
+  void CalcPositionData(FX_FLOAT* pTextAdvanceX,
+                        FX_FLOAT* pTextAdvanceY,
+                        FX_FLOAT horz_scale,
+                        int level = 0);
 
-    void CalcPositionData(FX_FLOAT* pTextAdvanceX,
-                          FX_FLOAT* pTextAdvanceY,
-                          FX_FLOAT horz_scale,
-                          int level = 0);
+  FX_FLOAT m_PosX;
+  FX_FLOAT m_PosY;
 
-    FX_FLOAT m_PosX;
-    FX_FLOAT m_PosY;
+  int m_nChars;
 
-    int m_nChars;
+  FX_DWORD* m_pCharCodes;
 
-    FX_DWORD* m_pCharCodes;
-
-    FX_FLOAT* m_pCharPos;
+  FX_FLOAT* m_pCharPos;
 };
 
-class CPDF_PathObject : public CPDF_PageObject
-{
-public:
-    CPDF_PathObject()
-    {
-        m_Type = PDFPAGE_PATH;
-    }
-
-    virtual ~CPDF_PathObject() {}
-    void Transform(const CFX_AffineMatrix& maxtrix) override;
+class CPDF_PathObject : public CPDF_PageObject {
+ public:
+  CPDF_PathObject() { m_Type = PDFPAGE_PATH; }
 
-    void                               SetGraphState(CPDF_GraphState GraphState);
+  virtual ~CPDF_PathObject() {}
+  void Transform(const CFX_AffineMatrix& maxtrix) override;
 
-    CPDF_Path                  m_Path;
+  void SetGraphState(CPDF_GraphState GraphState);
 
-    int                                        m_FillType;
+  CPDF_Path m_Path;
 
-    FX_BOOL                            m_bStroke;
+  int m_FillType;
 
-    CFX_AffineMatrix   m_Matrix;
+  FX_BOOL m_bStroke;
 
+  CFX_AffineMatrix m_Matrix;
 
-    void                               CalcBoundingBox();
+  void CalcBoundingBox();
 
-protected:
-    void CopyData(const CPDF_PageObject* pSrcObject) override;
+ protected:
+  void CopyData(const CPDF_PageObject* pSrcObject) override;
 };
 
-class CPDF_ImageObject : public CPDF_PageObject
-{
-public:
-    CPDF_ImageObject();
+class CPDF_ImageObject : public CPDF_PageObject {
+ public:
+  CPDF_ImageObject();
 
-    virtual ~CPDF_ImageObject();
-    void Transform(const CFX_AffineMatrix& matrix) override;
+  virtual ~CPDF_ImageObject();
+  void Transform(const CFX_AffineMatrix& matrix) override;
 
-    CPDF_Image*                        m_pImage;
+  CPDF_Image* m_pImage;
 
-    CFX_AffineMatrix   m_Matrix;
+  CFX_AffineMatrix m_Matrix;
 
-    void                               CalcBoundingBox();
+  void CalcBoundingBox();
 
-private:
-    void CopyData(const CPDF_PageObject* pSrcObject) override;
+ private:
+  void CopyData(const CPDF_PageObject* pSrcObject) override;
 };
 
-class CPDF_ShadingObject : public CPDF_PageObject
-{
-public:
-    CPDF_ShadingObject();
+class CPDF_ShadingObject : public CPDF_PageObject {
+ public:
+  CPDF_ShadingObject();
 
-    virtual ~CPDF_ShadingObject();
+  virtual ~CPDF_ShadingObject();
 
-    CPDF_ShadingPattern*       m_pShading;
+  CPDF_ShadingPattern* m_pShading;
 
-    CFX_AffineMatrix   m_Matrix;
+  CFX_AffineMatrix m_Matrix;
 
-    void Transform(const CFX_AffineMatrix& matrix) override;
+  void Transform(const CFX_AffineMatrix& matrix) override;
 
-    void                               CalcBoundingBox();
+  void CalcBoundingBox();
 
-protected:
-    void CopyData(const CPDF_PageObject* pSrcObject) override;
+ protected:
+  void CopyData(const CPDF_PageObject* pSrcObject) override;
 };
 
-class CPDF_FormObject : public CPDF_PageObject
-{
-public:
-    CPDF_FormObject()
-    {
-        m_Type = PDFPAGE_FORM;
-        m_pForm = NULL;
-    }
+class CPDF_FormObject : public CPDF_PageObject {
+ public:
+  CPDF_FormObject() {
+    m_Type = PDFPAGE_FORM;
+    m_pForm = NULL;
+  }
 
-    virtual ~CPDF_FormObject();
-    void Transform(const CFX_AffineMatrix& matrix) override;
+  virtual ~CPDF_FormObject();
+  void Transform(const CFX_AffineMatrix& matrix) override;
 
-    CPDF_Form*                 m_pForm;
+  CPDF_Form* m_pForm;
 
-    CFX_AffineMatrix   m_FormMatrix;
+  CFX_AffineMatrix m_FormMatrix;
 
-    void                               CalcBoundingBox();
+  void CalcBoundingBox();
 
-protected:
-    void CopyData(const CPDF_PageObject* pSrcObject) override;
+ protected:
+  void CopyData(const CPDF_PageObject* pSrcObject) override;
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_PAGEOBJ_H_
index 951085b..f80bb24 100644 (file)
@@ -34,15 +34,15 @@ class CPDF_Pattern;
 class CPDF_FontEncoding;
 class CPDF_IccProfile;
 class CFX_PrivateData;
-#define FPDFPERM_PRINT                 0x0004
-#define FPDFPERM_MODIFY                        0x0008
-#define FPDFPERM_EXTRACT               0x0010
-#define FPDFPERM_ANNOT_FORM            0x0020
-#define FPDFPERM_FILL_FORM             0x0100
-#define FPDFPERM_EXTRACT_ACCESS        0x0200
-#define FPDFPERM_ASSEMBLE              0x0400
-#define FPDFPERM_PRINT_HIGH            0x0800
-#define FPDF_PAGE_MAX_NUM              0xFFFFF
+#define FPDFPERM_PRINT 0x0004
+#define FPDFPERM_MODIFY 0x0008
+#define FPDFPERM_EXTRACT 0x0010
+#define FPDFPERM_ANNOT_FORM 0x0020
+#define FPDFPERM_FILL_FORM 0x0100
+#define FPDFPERM_EXTRACT_ACCESS 0x0200
+#define FPDFPERM_ASSEMBLE 0x0400
+#define FPDFPERM_PRINT_HIGH 0x0800
+#define FPDF_PAGE_MAX_NUM 0xFFFFF
 
 // Indexed by 8-bit character code, contains either:
 //   'W' - for whitespace: NUL, TAB, CR, LF, FF, 0x80, 0xff
@@ -51,859 +51,862 @@ class CFX_PrivateData;
 //   'R' - otherwise.
 extern const char PDF_CharType[256];
 
-class CPDF_Document : public CFX_PrivateData, public CPDF_IndirectObjects
-{
-public:
-    CPDF_Document();
-    explicit CPDF_Document(CPDF_Parser* pParser);
+class CPDF_Document : public CFX_PrivateData, public CPDF_IndirectObjects {
+ public:
+  CPDF_Document();
+  explicit CPDF_Document(CPDF_Parser* pParser);
 
-    ~CPDF_Document();
+  ~CPDF_Document();
 
-    CPDF_Parser*                       GetParser() const
-    {
-        return m_pParser;
-    }
+  CPDF_Parser* GetParser() const { return m_pParser; }
 
-    CPDF_Dictionary*           GetRoot() const
-    {
-        return m_pRootDict;
-    }
+  CPDF_Dictionary* GetRoot() const { return m_pRootDict; }
 
-    CPDF_Dictionary*           GetInfo() const
-    {
-        return m_pInfoDict;
-    }
+  CPDF_Dictionary* GetInfo() const { return m_pInfoDict; }
 
-    void                                       GetID(CFX_ByteString& id1, CFX_ByteString& id2) const
-    {
-        id1 = m_ID1;
-        id2 = m_ID2;
-    }
+  void GetID(CFX_ByteString& id1, CFX_ByteString& id2) const {
+    id1 = m_ID1;
+    id2 = m_ID2;
+  }
 
-    int                                                GetPageCount() const;
+  int GetPageCount() const;
 
-    CPDF_Dictionary*           GetPage(int iPage);
+  CPDF_Dictionary* GetPage(int iPage);
 
-    int                                                GetPageIndex(FX_DWORD objnum);
+  int GetPageIndex(FX_DWORD objnum);
 
-    FX_DWORD                           GetUserPermissions(FX_BOOL bCheckRevision = FALSE) const;
+  FX_DWORD GetUserPermissions(FX_BOOL bCheckRevision = FALSE) const;
 
-    FX_BOOL                                    IsOwner() const;
+  FX_BOOL IsOwner() const;
 
+  CPDF_DocPageData* GetPageData() { return GetValidatePageData(); }
 
+  void ClearPageData();
 
-    CPDF_DocPageData*          GetPageData()
-    {
-        return GetValidatePageData();
-    }
+  void RemoveColorSpaceFromPageData(CPDF_Object* pObject);
 
-    void                                       ClearPageData();
+  CPDF_DocRenderData* GetRenderData() { return GetValidateRenderData(); }
 
-    void                                       RemoveColorSpaceFromPageData(CPDF_Object* pObject);
+  void ClearRenderData();
 
+  void ClearRenderFont();
 
-    CPDF_DocRenderData*                GetRenderData()
-    {
-        return GetValidateRenderData();
-    }
+  FX_BOOL IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) const;
 
-    void                                       ClearRenderData();
+  // |pFontDict| must not be null.
+  CPDF_Font* LoadFont(CPDF_Dictionary* pFontDict);
 
-    void                                       ClearRenderFont();
+  CPDF_ColorSpace* LoadColorSpace(CPDF_Object* pCSObj,
+                                  CPDF_Dictionary* pResources = NULL);
 
+  CPDF_Pattern* LoadPattern(CPDF_Object* pObj,
+                            FX_BOOL bShading,
+                            const CFX_AffineMatrix* matrix = NULL);
 
-    FX_BOOL                                    IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) const;
+  CPDF_Image* LoadImageF(CPDF_Object* pObj);
 
-    // |pFontDict| must not be null.
-    CPDF_Font* LoadFont(CPDF_Dictionary* pFontDict);
+  CPDF_StreamAcc* LoadFontFile(CPDF_Stream* pStream);
 
-    CPDF_ColorSpace*           LoadColorSpace(CPDF_Object* pCSObj, CPDF_Dictionary* pResources = NULL);
-
-    CPDF_Pattern*                      LoadPattern(CPDF_Object* pObj, FX_BOOL bShading, const CFX_AffineMatrix* matrix = NULL);
-
-    CPDF_Image*                                LoadImageF(CPDF_Object* pObj);
-
-    CPDF_StreamAcc*                    LoadFontFile(CPDF_Stream* pStream);
-
-    CPDF_IccProfile*           LoadIccProfile(CPDF_Stream* pStream);
+  CPDF_IccProfile* LoadIccProfile(CPDF_Stream* pStream);
 
 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
 
-    CPDF_Font*                         AddWindowsFont(LOGFONTA* pLogFont, FX_BOOL bVert, FX_BOOL bTranslateName = FALSE);
-    CPDF_Font*                         AddWindowsFont(LOGFONTW* pLogFont, FX_BOOL bVert, FX_BOOL bTranslateName = FALSE);
+  CPDF_Font* AddWindowsFont(LOGFONTA* pLogFont,
+                            FX_BOOL bVert,
+                            FX_BOOL bTranslateName = FALSE);
+  CPDF_Font* AddWindowsFont(LOGFONTW* pLogFont,
+                            FX_BOOL bVert,
+                            FX_BOOL bTranslateName = FALSE);
 #endif
 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
-    CPDF_Font*              AddMacFont(CTFontRef pFont, FX_BOOL bVert, FX_BOOL bTranslateName = FALSE);
+  CPDF_Font* AddMacFont(CTFontRef pFont,
+                        FX_BOOL bVert,
+                        FX_BOOL bTranslateName = FALSE);
 #endif
 
-    CPDF_Font*                         AddStandardFont(const FX_CHAR* font, CPDF_FontEncoding* pEncoding);
-
-
-    CPDF_Font*                         AddFont(CFX_Font* pFont, int charset, FX_BOOL bVert);
-
-    void                                       CreateNewDoc();
-
-    CPDF_Dictionary*           CreateNewPage(int iPage);
+  CPDF_Font* AddStandardFont(const FX_CHAR* font, CPDF_FontEncoding* pEncoding);
 
-    void                                       DeletePage(int iPage);
+  CPDF_Font* AddFont(CFX_Font* pFont, int charset, FX_BOOL bVert);
 
-    void                                       LoadDoc();
-    void                                       LoadAsynDoc(CPDF_Dictionary *pLinearized);
-    void                                       LoadPages();
-protected:
+  void CreateNewDoc();
 
-    CPDF_Dictionary*           m_pRootDict;
+  CPDF_Dictionary* CreateNewPage(int iPage);
 
-    CPDF_Dictionary*           m_pInfoDict;
+  void DeletePage(int iPage);
 
-    CFX_ByteString                     m_ID1;
+  void LoadDoc();
+  void LoadAsynDoc(CPDF_Dictionary* pLinearized);
+  void LoadPages();
 
-    CFX_ByteString                     m_ID2;
+ protected:
+  CPDF_Dictionary* m_pRootDict;
 
+  CPDF_Dictionary* m_pInfoDict;
 
-    FX_BOOL                                    m_bLinearized;
+  CFX_ByteString m_ID1;
 
-    FX_DWORD                           m_dwFirstPageNo;
+  CFX_ByteString m_ID2;
 
-    FX_DWORD                           m_dwFirstPageObjNum;
+  FX_BOOL m_bLinearized;
 
-    CFX_DWordArray                     m_PageList;
+  FX_DWORD m_dwFirstPageNo;
 
-    int                                                _GetPageCount() const;
-    CPDF_Dictionary*           _FindPDFPage(CPDF_Dictionary* pPages, int iPage, int nPagesToGo, int level);
-    int                                                _FindPageIndex(CPDF_Dictionary* pNode, FX_DWORD& skip_count, FX_DWORD objnum, int& index, int level = 0);
-    FX_BOOL                                    IsContentUsedElsewhere(FX_DWORD objnum, CPDF_Dictionary* pPageDict);
-    FX_BOOL                                    CheckOCGVisible(CPDF_Dictionary* pOCG, FX_BOOL bPrinting);
-    CPDF_DocPageData*          GetValidatePageData();
-    CPDF_DocRenderData*                GetValidateRenderData();
-    friend class                       CPDF_Creator;
-    friend class                       CPDF_Parser;
-    friend class                       CPDF_DataAvail;
-    friend class                       CPDF_OCContext;
+  FX_DWORD m_dwFirstPageObjNum;
 
+  CFX_DWordArray m_PageList;
 
+  int _GetPageCount() const;
+  CPDF_Dictionary* _FindPDFPage(CPDF_Dictionary* pPages,
+                                int iPage,
+                                int nPagesToGo,
+                                int level);
+  int _FindPageIndex(CPDF_Dictionary* pNode,
+                     FX_DWORD& skip_count,
+                     FX_DWORD objnum,
+                     int& index,
+                     int level = 0);
+  FX_BOOL IsContentUsedElsewhere(FX_DWORD objnum, CPDF_Dictionary* pPageDict);
+  FX_BOOL CheckOCGVisible(CPDF_Dictionary* pOCG, FX_BOOL bPrinting);
+  CPDF_DocPageData* GetValidatePageData();
+  CPDF_DocRenderData* GetValidateRenderData();
+  friend class CPDF_Creator;
+  friend class CPDF_Parser;
+  friend class CPDF_DataAvail;
+  friend class CPDF_OCContext;
 
-    CPDF_DocPageData*          m_pDocPage;
-
-    CPDF_DocRenderData*                m_pDocRender;
+  CPDF_DocPageData* m_pDocPage;
 
+  CPDF_DocRenderData* m_pDocRender;
 };
 
-#define PDFWORD_EOF                    0
-#define PDFWORD_NUMBER         1
-#define PDFWORD_TEXT           2
-#define PDFWORD_DELIMITER      3
-#define PDFWORD_NAME           4
-class CPDF_SimpleParser
-{
-public:
-
-    CPDF_SimpleParser(const uint8_t* pData, FX_DWORD dwSize);
+#define PDFWORD_EOF 0
+#define PDFWORD_NUMBER 1
+#define PDFWORD_TEXT 2
+#define PDFWORD_DELIMITER 3
+#define PDFWORD_NAME 4
+class CPDF_SimpleParser {
+ public:
+  CPDF_SimpleParser(const uint8_t* pData, FX_DWORD dwSize);
 
-    CPDF_SimpleParser(const CFX_ByteStringC& str);
+  CPDF_SimpleParser(const CFX_ByteStringC& str);
 
-    CFX_ByteStringC            GetWord();
+  CFX_ByteStringC GetWord();
 
-    FX_BOOL                            SearchToken(const CFX_ByteStringC& token);
+  FX_BOOL SearchToken(const CFX_ByteStringC& token);
 
-    FX_BOOL                            SkipWord(const CFX_ByteStringC& token);
+  FX_BOOL SkipWord(const CFX_ByteStringC& token);
 
-    FX_BOOL                            FindTagPair(const CFX_ByteStringC& start_token, const CFX_ByteStringC& end_token,
-                                    FX_DWORD& start_pos, FX_DWORD& end_pos);
+  FX_BOOL FindTagPair(const CFX_ByteStringC& start_token,
+                      const CFX_ByteStringC& end_token,
+                      FX_DWORD& start_pos,
+                      FX_DWORD& end_pos);
 
-    FX_BOOL                            FindTagParam(const CFX_ByteStringC& token, int nParams);
+  FX_BOOL FindTagParam(const CFX_ByteStringC& token, int nParams);
 
-    FX_DWORD                   GetPos()
-    {
-        return m_dwCurPos;
-    }
+  FX_DWORD GetPos() { return m_dwCurPos; }
 
-    void                               SetPos(FX_DWORD pos)
-    {
-        ASSERT(pos <= m_dwSize);
-        m_dwCurPos = pos;
-    }
-private:
+  void SetPos(FX_DWORD pos) {
+    ASSERT(pos <= m_dwSize);
+    m_dwCurPos = pos;
+  }
 
-    void                               ParseWord(const uint8_t*& pStart, FX_DWORD& dwSize, int& type);
+ private:
+  void ParseWord(const uint8_t*& pStart, FX_DWORD& dwSize, int& type);
 
-    const uint8_t*                     m_pData;
+  const uint8_t* m_pData;
 
-    FX_DWORD                   m_dwSize;
+  FX_DWORD m_dwSize;
 
-    FX_DWORD                   m_dwCurPos;
+  FX_DWORD m_dwCurPos;
 };
-class CPDF_SyntaxParser
-{
-public:
+class CPDF_SyntaxParser {
+ public:
+  CPDF_SyntaxParser();
+  virtual ~CPDF_SyntaxParser();
 
-    CPDF_SyntaxParser();
-    virtual ~CPDF_SyntaxParser();
+  void InitParser(IFX_FileRead* pFileAccess, FX_DWORD HeaderOffset);
 
-    void                               InitParser(IFX_FileRead* pFileAccess, FX_DWORD HeaderOffset);
+  FX_FILESIZE SavePos() { return m_Pos; }
 
-    FX_FILESIZE                        SavePos()
-    {
-        return m_Pos;
-    }
+  void RestorePos(FX_FILESIZE pos) { m_Pos = pos; }
 
-    void                               RestorePos(FX_FILESIZE pos)
-    {
-        m_Pos = pos;
-    }
+  CPDF_Object* GetObject(CPDF_IndirectObjects* pObjList,
+                         FX_DWORD objnum,
+                         FX_DWORD gennum,
+                         struct PARSE_CONTEXT* pContext = NULL,
+                         FX_BOOL bDecrypt = TRUE);
 
-    CPDF_Object*               GetObject(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, FX_DWORD gennum, struct PARSE_CONTEXT* pContext = NULL, FX_BOOL bDecrypt = TRUE);
+  CPDF_Object* GetObjectByStrict(CPDF_IndirectObjects* pObjList,
+                                 FX_DWORD objnum,
+                                 FX_DWORD gennum,
+                                 struct PARSE_CONTEXT* pContext = NULL);
 
+  int GetDirectNum();
 
-    CPDF_Object*               GetObjectByStrict(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, FX_DWORD gennum, struct PARSE_CONTEXT* pContext = NULL);
+  CFX_ByteString GetString(FX_DWORD objnum, FX_DWORD gennum);
 
-    int                                        GetDirectNum();
+  CFX_ByteString GetName();
 
-    CFX_ByteString             GetString(FX_DWORD objnum, FX_DWORD gennum);
+  CFX_ByteString GetKeyword();
 
-    CFX_ByteString             GetName();
+  void GetBinary(uint8_t* buffer, FX_DWORD size);
 
-    CFX_ByteString             GetKeyword();
+  void ToNextLine();
 
-    void                               GetBinary(uint8_t* buffer, FX_DWORD size);
+  void ToNextWord();
 
-    void                               ToNextLine();
+  FX_BOOL SearchWord(const CFX_ByteStringC& word,
+                     FX_BOOL bWholeWord,
+                     FX_BOOL bForward,
+                     FX_FILESIZE limit);
 
-    void                               ToNextWord();
+  int SearchMultiWord(const CFX_ByteStringC& words,
+                      FX_BOOL bWholeWord,
+                      FX_FILESIZE limit);
 
-    FX_BOOL                            SearchWord(const CFX_ByteStringC& word, FX_BOOL bWholeWord, FX_BOOL bForward, FX_FILESIZE limit);
+  FX_FILESIZE FindTag(const CFX_ByteStringC& tag, FX_FILESIZE limit);
 
-    int                                        SearchMultiWord(const CFX_ByteStringC& words, FX_BOOL bWholeWord, FX_FILESIZE limit);
+  void SetEncrypt(CPDF_CryptoHandler* pCryptoHandler) {
+    m_pCryptoHandler = pCryptoHandler;
+  }
 
-    FX_FILESIZE                        FindTag(const CFX_ByteStringC& tag, FX_FILESIZE limit);
+  FX_BOOL IsEncrypted() { return m_pCryptoHandler != NULL; }
 
-    void                               SetEncrypt(CPDF_CryptoHandler* pCryptoHandler)
-    {
-        m_pCryptoHandler = pCryptoHandler;
-    }
+  FX_BOOL GetCharAt(FX_FILESIZE pos, uint8_t& ch);
 
-    FX_BOOL                            IsEncrypted()
-    {
-        return m_pCryptoHandler != NULL;
-    }
+  FX_BOOL ReadBlock(uint8_t* pBuf, FX_DWORD size);
 
-    FX_BOOL                            GetCharAt(FX_FILESIZE pos, uint8_t& ch);
+  CFX_ByteString GetNextWord(FX_BOOL& bIsNumber);
 
-    FX_BOOL                            ReadBlock(uint8_t* pBuf, FX_DWORD size);
+ protected:
+  static const int kParserMaxRecursionDepth = 64;
+  static int s_CurrentRecursionDepth;
 
-    CFX_ByteString             GetNextWord(FX_BOOL& bIsNumber);
-protected:
-    static const int kParserMaxRecursionDepth = 64;
-    static int s_CurrentRecursionDepth;
+  virtual FX_BOOL GetNextChar(uint8_t& ch);
 
-    virtual FX_BOOL                            GetNextChar(uint8_t& ch);
+  FX_BOOL GetCharAtBackward(FX_FILESIZE pos, uint8_t& ch);
 
-    FX_BOOL                            GetCharAtBackward(FX_FILESIZE pos, uint8_t& ch);
+  void GetNextWord();
 
-    void                               GetNextWord();
+  FX_BOOL IsWholeWord(FX_FILESIZE startpos,
+                      FX_FILESIZE limit,
+                      const uint8_t* tag,
+                      FX_DWORD taglen);
 
-    FX_BOOL                            IsWholeWord(FX_FILESIZE startpos, FX_FILESIZE limit, const uint8_t* tag, FX_DWORD taglen);
+  CFX_ByteString ReadString();
 
-    CFX_ByteString             ReadString();
+  CFX_ByteString ReadHexString();
 
-    CFX_ByteString             ReadHexString();
+  CPDF_Stream* ReadStream(CPDF_Dictionary* pDict,
+                          PARSE_CONTEXT* pContext,
+                          FX_DWORD objnum,
+                          FX_DWORD gennum);
 
-    CPDF_Stream*               ReadStream(CPDF_Dictionary* pDict, PARSE_CONTEXT* pContext, FX_DWORD objnum, FX_DWORD gennum);
+  FX_FILESIZE m_Pos;
 
-    FX_FILESIZE                        m_Pos;
+  FX_BOOL m_bFileStream;
 
-    FX_BOOL                            m_bFileStream;
+  int m_MetadataObjnum;
 
-    int                                        m_MetadataObjnum;
+  IFX_FileRead* m_pFileAccess;
 
-    IFX_FileRead*              m_pFileAccess;
+  FX_DWORD m_HeaderOffset;
 
-    FX_DWORD                   m_HeaderOffset;
+  FX_FILESIZE m_FileLen;
 
-    FX_FILESIZE                        m_FileLen;
+  uint8_t* m_pFileBuf;
 
-    uint8_t*                   m_pFileBuf;
+  FX_DWORD m_BufSize;
 
-    FX_DWORD                   m_BufSize;
+  FX_FILESIZE m_BufOffset;
 
-    FX_FILESIZE                        m_BufOffset;
+  CPDF_CryptoHandler* m_pCryptoHandler;
 
-    CPDF_CryptoHandler*        m_pCryptoHandler;
+  uint8_t m_WordBuffer[257];
 
-    uint8_t                            m_WordBuffer[257];
+  FX_DWORD m_WordSize;
 
-    FX_DWORD                   m_WordSize;
+  FX_BOOL m_bIsNumber;
 
-    FX_BOOL                            m_bIsNumber;
-
-    FX_FILESIZE                        m_dwWordPos;
-    friend class               CPDF_Parser;
-    friend class               CPDF_DataAvail;
+  FX_FILESIZE m_dwWordPos;
+  friend class CPDF_Parser;
+  friend class CPDF_DataAvail;
 };
 
-#define PDFPARSE_TYPEONLY      1
-#define PDFPARSE_NOSTREAM      2
+#define PDFPARSE_TYPEONLY 1
+#define PDFPARSE_NOSTREAM 2
 struct PARSE_CONTEXT {
-    uint32_t m_Flags;
-    FX_FILESIZE m_DictStart;
-    FX_FILESIZE m_DictEnd;
-    FX_FILESIZE m_DataStart;
-    FX_FILESIZE m_DataEnd;
+  uint32_t m_Flags;
+  FX_FILESIZE m_DictStart;
+  FX_FILESIZE m_DictEnd;
+  FX_FILESIZE m_DataStart;
+  FX_FILESIZE m_DataEnd;
 };
 
-#define PDFPARSE_ERROR_SUCCESS         0
-#define PDFPARSE_ERROR_FILE                    1
-#define PDFPARSE_ERROR_FORMAT          2
-#define PDFPARSE_ERROR_PASSWORD                3
-#define PDFPARSE_ERROR_HANDLER         4
-#define PDFPARSE_ERROR_CERT                    5
-
-class CPDF_Parser
-{
-public:
-    CPDF_Parser();
-    ~CPDF_Parser();
+#define PDFPARSE_ERROR_SUCCESS 0
+#define PDFPARSE_ERROR_FILE 1
+#define PDFPARSE_ERROR_FORMAT 2
+#define PDFPARSE_ERROR_PASSWORD 3
+#define PDFPARSE_ERROR_HANDLER 4
+#define PDFPARSE_ERROR_CERT 5
 
-    FX_DWORD                   StartParse(const FX_CHAR* filename, FX_BOOL bReParse = FALSE);
-    FX_DWORD                   StartParse(const FX_WCHAR* filename, FX_BOOL bReParse = FALSE);
-    FX_DWORD                   StartParse(IFX_FileRead* pFile, FX_BOOL bReParse = FALSE, FX_BOOL bOwnFileRead = TRUE);
+class CPDF_Parser {
+ public:
+  CPDF_Parser();
+  ~CPDF_Parser();
 
-    void                               CloseParser(FX_BOOL bReParse = FALSE);
-
-    FX_DWORD   GetPermissions(FX_BOOL bCheckRevision = FALSE);
+  FX_DWORD StartParse(const FX_CHAR* filename, FX_BOOL bReParse = FALSE);
+  FX_DWORD StartParse(const FX_WCHAR* filename, FX_BOOL bReParse = FALSE);
+  FX_DWORD StartParse(IFX_FileRead* pFile,
+                      FX_BOOL bReParse = FALSE,
+                      FX_BOOL bOwnFileRead = TRUE);
 
-    FX_BOOL            IsOwner();
-
-    void                               SetPassword(const FX_CHAR* password)
-    {
-        m_Password = password;
-    }
-
-    CFX_ByteString             GetPassword()
-    {
-        return m_Password;
-    }
+  void CloseParser(FX_BOOL bReParse = FALSE);
 
-    CPDF_SecurityHandler* GetSecurityHandler()
-    {
-        return m_pSecurityHandler;
-    }
-
-    CPDF_CryptoHandler*        GetCryptoHandler()
-    {
-        return m_Syntax.m_pCryptoHandler;
-    }
-
-    void                               SetSecurityHandler(CPDF_SecurityHandler* pSecurityHandler, FX_BOOL bForced = FALSE);
+  FX_DWORD GetPermissions(FX_BOOL bCheckRevision = FALSE);
 
-    CFX_ByteString             GetRecipient()
-    {
-        return m_bsRecipient;
-    }
+  FX_BOOL IsOwner();
 
-    CPDF_Dictionary*   GetTrailer()
-    {
-        return m_pTrailer;
-    }
+  void SetPassword(const FX_CHAR* password) { m_Password = password; }
 
-    FX_FILESIZE                        GetLastXRefOffset()
-    {
-        return m_LastXRefOffset;
-    }
+  CFX_ByteString GetPassword() { return m_Password; }
 
-    CPDF_Document*             GetDocument()
-    {
-        return m_pDocument;
-    }
+  CPDF_SecurityHandler* GetSecurityHandler() { return m_pSecurityHandler; }
 
-    CFX_ArrayTemplate<CPDF_Dictionary*>* GetOtherTrailers()
-    {
-        return &m_Trailers;
-    }
+  CPDF_CryptoHandler* GetCryptoHandler() { return m_Syntax.m_pCryptoHandler; }
 
-    FX_DWORD   GetRootObjNum();
-    FX_DWORD   GetInfoObjNum() ;
-    CPDF_Array*        GetIDArray() ;
+  void SetSecurityHandler(CPDF_SecurityHandler* pSecurityHandler,
+                          FX_BOOL bForced = FALSE);
 
-    CPDF_Dictionary*   GetEncryptDict()
-    {
-        return m_pEncryptDict;
-    }
+  CFX_ByteString GetRecipient() { return m_bsRecipient; }
 
-    FX_BOOL                            IsEncrypted()
-    {
-        return GetEncryptDict() != NULL;
-    }
+  CPDF_Dictionary* GetTrailer() { return m_pTrailer; }
 
+  FX_FILESIZE GetLastXRefOffset() { return m_LastXRefOffset; }
 
-    CPDF_Object*               ParseIndirectObject(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, PARSE_CONTEXT* pContext = NULL) ;
-    FX_DWORD                   GetLastObjNum();
-    FX_BOOL                            IsFormStream(FX_DWORD objnum, FX_BOOL& bForm);
+  CPDF_Document* GetDocument() { return m_pDocument; }
 
-    FX_FILESIZE                        GetObjectOffset(FX_DWORD objnum);
+  CFX_ArrayTemplate<CPDF_Dictionary*>* GetOtherTrailers() {
+    return &m_Trailers;
+  }
 
-    FX_FILESIZE                        GetObjectSize(FX_DWORD objnum);
+  FX_DWORD GetRootObjNum();
+  FX_DWORD GetInfoObjNum();
+  CPDF_Array* GetIDArray();
 
-    int                                        GetObjectVersion(FX_DWORD objnum)
-    {
-        return m_ObjVersion[objnum];
-    }
+  CPDF_Dictionary* GetEncryptDict() { return m_pEncryptDict; }
 
-    void                               GetIndirectBinary(FX_DWORD objnum, uint8_t*& pBuffer, FX_DWORD& size);
+  FX_BOOL IsEncrypted() { return GetEncryptDict() != NULL; }
 
-    FX_BOOL                            GetFileStreamOption()
-    {
-        return m_Syntax.m_bFileStream;
-    }
+  CPDF_Object* ParseIndirectObject(CPDF_IndirectObjects* pObjList,
+                                   FX_DWORD objnum,
+                                   PARSE_CONTEXT* pContext = NULL);
+  FX_DWORD GetLastObjNum();
+  FX_BOOL IsFormStream(FX_DWORD objnum, FX_BOOL& bForm);
 
-    void                               SetFileStreamOption(FX_BOOL b)
-    {
-        m_Syntax.m_bFileStream = b;
-    }
+  FX_FILESIZE GetObjectOffset(FX_DWORD objnum);
 
-    IFX_FileRead*              GetFileAccess() const
-    {
-        return m_Syntax.m_pFileAccess;
-    }
+  FX_FILESIZE GetObjectSize(FX_DWORD objnum);
 
-    int                                        GetFileVersion() const
-    {
-        return m_FileVersion;
-    }
+  int GetObjectVersion(FX_DWORD objnum) { return m_ObjVersion[objnum]; }
 
-    FX_BOOL                            IsXRefStream() const
-    {
-        return m_bXRefStream;
-    }
-    CPDF_Object*               ParseIndirectObjectAt(CPDF_IndirectObjects* pObjList, FX_FILESIZE pos, FX_DWORD objnum,
-            struct PARSE_CONTEXT* pContext);
+  void GetIndirectBinary(FX_DWORD objnum, uint8_t*& pBuffer, FX_DWORD& size);
 
-    CPDF_Object*               ParseIndirectObjectAtByStrict(CPDF_IndirectObjects* pObjList, FX_FILESIZE pos, FX_DWORD objnum,
-            struct PARSE_CONTEXT* pContext, FX_FILESIZE *pResultPos);
+  FX_BOOL GetFileStreamOption() { return m_Syntax.m_bFileStream; }
 
-    FX_DWORD                   StartAsynParse(IFX_FileRead* pFile, FX_BOOL bReParse = FALSE, FX_BOOL bOwnFileRead = TRUE);
+  void SetFileStreamOption(FX_BOOL b) { m_Syntax.m_bFileStream = b; }
 
-    FX_DWORD                   GetFirstPageNo()
-    {
-        return m_dwFirstPageNo;
-    }
-protected:
-    CPDF_Document*             m_pDocument;
+  IFX_FileRead* GetFileAccess() const { return m_Syntax.m_pFileAccess; }
 
-    CPDF_SyntaxParser  m_Syntax;
-    FX_BOOL                            m_bOwnFileRead;
-    CPDF_Object*               ParseDirect(CPDF_Object* pObj);
+  int GetFileVersion() const { return m_FileVersion; }
 
-    FX_BOOL                            LoadAllCrossRefV4(FX_FILESIZE pos);
+  FX_BOOL IsXRefStream() const { return m_bXRefStream; }
+  CPDF_Object* ParseIndirectObjectAt(CPDF_IndirectObjects* pObjList,
+                                     FX_FILESIZE pos,
+                                     FX_DWORD objnum,
+                                     struct PARSE_CONTEXT* pContext);
 
-    FX_BOOL                            LoadAllCrossRefV5(FX_FILESIZE pos);
+  CPDF_Object* ParseIndirectObjectAtByStrict(CPDF_IndirectObjects* pObjList,
+                                             FX_FILESIZE pos,
+                                             FX_DWORD objnum,
+                                             struct PARSE_CONTEXT* pContext,
+                                             FX_FILESIZE* pResultPos);
 
-    FX_BOOL                            LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip, FX_BOOL bFirst);
+  FX_DWORD StartAsynParse(IFX_FileRead* pFile,
+                          FX_BOOL bReParse = FALSE,
+                          FX_BOOL bOwnFileRead = TRUE);
 
-    FX_BOOL                            LoadCrossRefV5(FX_FILESIZE pos, FX_FILESIZE& prev, FX_BOOL bMainXRef);
+  FX_DWORD GetFirstPageNo() { return m_dwFirstPageNo; }
 
-    CPDF_Dictionary*   LoadTrailerV4();
+ protected:
+  CPDF_Document* m_pDocument;
 
-    FX_BOOL                            RebuildCrossRef();
+  CPDF_SyntaxParser m_Syntax;
+  FX_BOOL m_bOwnFileRead;
+  CPDF_Object* ParseDirect(CPDF_Object* pObj);
 
-    FX_DWORD                   SetEncryptHandler();
+  FX_BOOL LoadAllCrossRefV4(FX_FILESIZE pos);
 
-    void                               ReleaseEncryptHandler();
+  FX_BOOL LoadAllCrossRefV5(FX_FILESIZE pos);
 
-    FX_BOOL                            LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);
+  FX_BOOL LoadCrossRefV4(FX_FILESIZE pos,
+                         FX_FILESIZE streampos,
+                         FX_BOOL bSkip,
+                         FX_BOOL bFirst);
 
-    FX_BOOL                            LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);
+  FX_BOOL LoadCrossRefV5(FX_FILESIZE pos, FX_FILESIZE& prev, FX_BOOL bMainXRef);
 
-    FX_BOOL                            LoadLinearizedAllCrossRefV5(FX_FILESIZE pos);
+  CPDF_Dictionary* LoadTrailerV4();
 
-    FX_DWORD                   LoadLinearizedMainXRefTable();
+  FX_BOOL RebuildCrossRef();
 
-    CFX_MapPtrToPtr            m_ObjectStreamMap;
+  FX_DWORD SetEncryptHandler();
 
-    CPDF_StreamAcc*            GetObjectStream(FX_DWORD number);
+  void ReleaseEncryptHandler();
 
-    FX_BOOL                            IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWORD offset);
+  FX_BOOL LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);
 
+  FX_BOOL LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);
 
+  FX_BOOL LoadLinearizedAllCrossRefV5(FX_FILESIZE pos);
 
-    int                                        m_FileVersion;
+  FX_DWORD LoadLinearizedMainXRefTable();
 
-    CPDF_Dictionary*   m_pTrailer;
+  CFX_MapPtrToPtr m_ObjectStreamMap;
 
-    CPDF_Dictionary*   m_pEncryptDict;
-    void SetEncryptDictionary(CPDF_Dictionary* pDict);
+  CPDF_StreamAcc* GetObjectStream(FX_DWORD number);
 
-    FX_FILESIZE                        m_LastXRefOffset;
+  FX_BOOL IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWORD offset);
 
-    FX_BOOL                            m_bXRefStream;
+  int m_FileVersion;
 
+  CPDF_Dictionary* m_pTrailer;
 
-    CPDF_SecurityHandler*      m_pSecurityHandler;
+  CPDF_Dictionary* m_pEncryptDict;
+  void SetEncryptDictionary(CPDF_Dictionary* pDict);
 
-    FX_BOOL                                    m_bForceUseSecurityHandler;
+  FX_FILESIZE m_LastXRefOffset;
 
-    CFX_ByteString                     m_bsRecipient;
+  FX_BOOL m_bXRefStream;
 
-    CFX_ByteString             m_FilePath;
+  CPDF_SecurityHandler* m_pSecurityHandler;
 
-    CFX_ByteString             m_Password;
+  FX_BOOL m_bForceUseSecurityHandler;
 
-    CFX_FileSizeArray  m_CrossRef;
+  CFX_ByteString m_bsRecipient;
 
-    CFX_ByteArray              m_V5Type;
+  CFX_ByteString m_FilePath;
 
-    CFX_FileSizeArray  m_SortedOffset;
+  CFX_ByteString m_Password;
 
-    CFX_WordArray              m_ObjVersion;
-    CFX_ArrayTemplate<CPDF_Dictionary *>       m_Trailers;
+  CFX_FileSizeArray m_CrossRef;
 
-    FX_BOOL                            m_bVersionUpdated;
+  CFX_ByteArray m_V5Type;
 
-    CPDF_Object*               m_pLinearized;
-
-    FX_DWORD                   m_dwFirstPageNo;
-
-    FX_DWORD                   m_dwXrefStartObjNum;
-    friend class               CPDF_Creator;
-    friend class               CPDF_DataAvail;
-};
-#define FXCIPHER_NONE  0
-#define FXCIPHER_RC4   1
-#define FXCIPHER_AES   2
-#define FXCIPHER_AES2   3
-class CPDF_SecurityHandler
-{
-public:
+  CFX_FileSizeArray m_SortedOffset;
 
-    virtual ~CPDF_SecurityHandler() {}
+  CFX_WordArray m_ObjVersion;
+  CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers;
 
-    virtual FX_BOOL            OnInit(CPDF_Parser* pParser, CPDF_Dictionary* pEncryptDict) = 0;
+  FX_BOOL m_bVersionUpdated;
 
-    virtual FX_DWORD   GetPermissions() = 0;
+  CPDF_Object* m_pLinearized;
 
-    virtual FX_BOOL            IsOwner() = 0;
+  FX_DWORD m_dwFirstPageNo;
 
-    virtual FX_BOOL            GetCryptInfo(int& cipher, const uint8_t*& buffer, int& keylen) = 0;
-
-    virtual FX_BOOL            IsMetadataEncrypted()
-    {
-        return TRUE;
-    }
-
-    virtual CPDF_CryptoHandler*        CreateCryptoHandler() = 0;
-
-    virtual CPDF_StandardSecurityHandler* GetStandardHandler()
-    {
-        return NULL;
-    }
-};
-#define PDF_ENCRYPT_CONTENT                            0
-class CPDF_StandardSecurityHandler : public CPDF_SecurityHandler
-{
-public:
-    CPDF_StandardSecurityHandler();
-
-    virtual ~CPDF_StandardSecurityHandler();
-    virtual FX_BOOL            OnInit(CPDF_Parser* pParser, CPDF_Dictionary* pEncryptDict);
-    virtual FX_DWORD   GetPermissions();
-    virtual FX_BOOL            IsOwner()
-    {
-        return m_bOwner;
-    }
-    virtual FX_BOOL            GetCryptInfo(int& cipher, const uint8_t*& buffer, int& keylen);
-    virtual FX_BOOL            IsMetadataEncrypted();
-    virtual CPDF_CryptoHandler*        CreateCryptoHandler();
-    virtual CPDF_StandardSecurityHandler* GetStandardHandler()
-    {
-        return this;
-    }
-
-    void                               OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray,
-                                 const uint8_t* user_pass, FX_DWORD user_size,
-                                 const uint8_t* owner_pass, FX_DWORD owner_size, FX_DWORD type = PDF_ENCRYPT_CONTENT);
-
-    void                               OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray,
-                                 const uint8_t* user_pass, FX_DWORD user_size, FX_DWORD type = PDF_ENCRYPT_CONTENT);
-
-    CFX_ByteString             GetUserPassword(const uint8_t* owner_pass, FX_DWORD pass_size);
-    CFX_ByteString             GetUserPassword(const uint8_t* owner_pass, FX_DWORD pass_size, int32_t key_len);
-    int                                        GetVersion()
-    {
-        return m_Version;
-    }
-    int                                        GetRevision()
-    {
-        return m_Revision;
-    }
-
-    int                                        CheckPassword(const uint8_t* password, FX_DWORD pass_size, FX_BOOL bOwner, uint8_t* key);
-    int                                        CheckPassword(const uint8_t* password, FX_DWORD pass_size, FX_BOOL bOwner, uint8_t* key, int key_len);
-private:
-
-    int                                        m_Version;
-
-    int                                        m_Revision;
-
-    CPDF_Parser*               m_pParser;
-
-    CPDF_Dictionary*   m_pEncryptDict;
-
-    FX_BOOL                            LoadDict(CPDF_Dictionary* pEncryptDict);
-    FX_BOOL                            LoadDict(CPDF_Dictionary* pEncryptDict, FX_DWORD type, int& cipher, int& key_len);
-
-    FX_BOOL                            CheckUserPassword(const uint8_t* password, FX_DWORD pass_size,
-                                          FX_BOOL bIgnoreEncryptMeta, uint8_t* key, int32_t key_len);
-
-    FX_BOOL                            CheckOwnerPassword(const uint8_t* password, FX_DWORD pass_size, uint8_t* key, int32_t key_len);
-    FX_BOOL                            AES256_CheckPassword(const uint8_t* password, FX_DWORD size, FX_BOOL bOwner, uint8_t* key);
-    void                               AES256_SetPassword(CPDF_Dictionary* pEncryptDict, const uint8_t* password, FX_DWORD size, FX_BOOL bOwner, const uint8_t* key);
-    void                               AES256_SetPerms(CPDF_Dictionary* pEncryptDict, FX_DWORD permission, FX_BOOL bEncryptMetadata, const uint8_t* key);
-    void                               OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray,
-                                 const uint8_t* user_pass, FX_DWORD user_size,
-                                 const uint8_t* owner_pass, FX_DWORD owner_size, FX_BOOL bDefault, FX_DWORD type);
-    FX_BOOL                            CheckSecurity(int32_t key_len);
-
-    FX_BOOL                            m_bOwner;
-
-    FX_DWORD                   m_Permissions;
-
-    int                                        m_Cipher;
-
-    uint8_t                            m_EncryptKey[32];
-
-    int                                        m_KeyLen;
+  FX_DWORD m_dwXrefStartObjNum;
+  friend class CPDF_Creator;
+  friend class CPDF_DataAvail;
 };
-class CPDF_CryptoHandler
-{
-public:
-
-    virtual ~CPDF_CryptoHandler() {}
-
-    virtual FX_BOOL            Init(CPDF_Dictionary* pEncryptDict, CPDF_SecurityHandler* pSecurityHandler) = 0;
-
-    virtual FX_DWORD   DecryptGetSize(FX_DWORD src_size) = 0;
+#define FXCIPHER_NONE 0
+#define FXCIPHER_RC4 1
+#define FXCIPHER_AES 2
+#define FXCIPHER_AES2 3
+class CPDF_SecurityHandler {
+ public:
+  virtual ~CPDF_SecurityHandler() {}
 
-    virtual void*      DecryptStart(FX_DWORD objnum, FX_DWORD gennum) = 0;
+  virtual FX_BOOL OnInit(CPDF_Parser* pParser,
+                         CPDF_Dictionary* pEncryptDict) = 0;
 
-    virtual FX_BOOL            DecryptStream(void* context, const uint8_t* src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf) = 0;
+  virtual FX_DWORD GetPermissions() = 0;
 
-    virtual FX_BOOL            DecryptFinish(void* context, CFX_BinaryBuf& dest_buf) = 0;
+  virtual FX_BOOL IsOwner() = 0;
 
+  virtual FX_BOOL GetCryptInfo(int& cipher,
+                               const uint8_t*& buffer,
+                               int& keylen) = 0;
 
-    virtual FX_DWORD   EncryptGetSize(FX_DWORD objnum, FX_DWORD version, const uint8_t* src_buf, FX_DWORD src_size) = 0;
+  virtual FX_BOOL IsMetadataEncrypted() { return TRUE; }
 
-    virtual FX_BOOL            EncryptContent(FX_DWORD objnum, FX_DWORD version, const uint8_t* src_buf, FX_DWORD src_size,
-                                       uint8_t* dest_buf, FX_DWORD& dest_size) = 0;
+  virtual CPDF_CryptoHandler* CreateCryptoHandler() = 0;
 
-    void                               Decrypt(FX_DWORD objnum, FX_DWORD version, CFX_ByteString& str);
+  virtual CPDF_StandardSecurityHandler* GetStandardHandler() { return NULL; }
 };
-class CPDF_StandardCryptoHandler : public CPDF_CryptoHandler
-{
-public:
+#define PDF_ENCRYPT_CONTENT 0
+class CPDF_StandardSecurityHandler : public CPDF_SecurityHandler {
+ public:
+  CPDF_StandardSecurityHandler();
+
+  virtual ~CPDF_StandardSecurityHandler();
+  virtual FX_BOOL OnInit(CPDF_Parser* pParser, CPDF_Dictionary* pEncryptDict);
+  virtual FX_DWORD GetPermissions();
+  virtual FX_BOOL IsOwner() { return m_bOwner; }
+  virtual FX_BOOL GetCryptInfo(int& cipher,
+                               const uint8_t*& buffer,
+                               int& keylen);
+  virtual FX_BOOL IsMetadataEncrypted();
+  virtual CPDF_CryptoHandler* CreateCryptoHandler();
+  virtual CPDF_StandardSecurityHandler* GetStandardHandler() { return this; }
+
+  void OnCreate(CPDF_Dictionary* pEncryptDict,
+                CPDF_Array* pIdArray,
+                const uint8_t* user_pass,
+                FX_DWORD user_size,
+                const uint8_t* owner_pass,
+                FX_DWORD owner_size,
+                FX_DWORD type = PDF_ENCRYPT_CONTENT);
+
+  void OnCreate(CPDF_Dictionary* pEncryptDict,
+                CPDF_Array* pIdArray,
+                const uint8_t* user_pass,
+                FX_DWORD user_size,
+                FX_DWORD type = PDF_ENCRYPT_CONTENT);
+
+  CFX_ByteString GetUserPassword(const uint8_t* owner_pass, FX_DWORD pass_size);
+  CFX_ByteString GetUserPassword(const uint8_t* owner_pass,
+                                 FX_DWORD pass_size,
+                                 int32_t key_len);
+  int GetVersion() { return m_Version; }
+  int GetRevision() { return m_Revision; }
+
+  int CheckPassword(const uint8_t* password,
+                    FX_DWORD pass_size,
+                    FX_BOOL bOwner,
+                    uint8_t* key);
+  int CheckPassword(const uint8_t* password,
+                    FX_DWORD pass_size,
+                    FX_BOOL bOwner,
+                    uint8_t* key,
+                    int key_len);
+
+ private:
+  int m_Version;
+
+  int m_Revision;
+
+  CPDF_Parser* m_pParser;
+
+  CPDF_Dictionary* m_pEncryptDict;
+
+  FX_BOOL LoadDict(CPDF_Dictionary* pEncryptDict);
+  FX_BOOL LoadDict(CPDF_Dictionary* pEncryptDict,
+                   FX_DWORD type,
+                   int& cipher,
+                   int& key_len);
+
+  FX_BOOL CheckUserPassword(const uint8_t* password,
+                            FX_DWORD pass_size,
+                            FX_BOOL bIgnoreEncryptMeta,
+                            uint8_t* key,
+                            int32_t key_len);
+
+  FX_BOOL CheckOwnerPassword(const uint8_t* password,
+                             FX_DWORD pass_size,
+                             uint8_t* key,
+                             int32_t key_len);
+  FX_BOOL AES256_CheckPassword(const uint8_t* password,
+                               FX_DWORD size,
+                               FX_BOOL bOwner,
+                               uint8_t* key);
+  void AES256_SetPassword(CPDF_Dictionary* pEncryptDict,
+                          const uint8_t* password,
+                          FX_DWORD size,
+                          FX_BOOL bOwner,
+                          const uint8_t* key);
+  void AES256_SetPerms(CPDF_Dictionary* pEncryptDict,
+                       FX_DWORD permission,
+                       FX_BOOL bEncryptMetadata,
+                       const uint8_t* key);
+  void OnCreate(CPDF_Dictionary* pEncryptDict,
+                CPDF_Array* pIdArray,
+                const uint8_t* user_pass,
+                FX_DWORD user_size,
+                const uint8_t* owner_pass,
+                FX_DWORD owner_size,
+                FX_BOOL bDefault,
+                FX_DWORD type);
+  FX_BOOL CheckSecurity(int32_t key_len);
+
+  FX_BOOL m_bOwner;
+
+  FX_DWORD m_Permissions;
+
+  int m_Cipher;
+
+  uint8_t m_EncryptKey[32];
+
+  int m_KeyLen;
+};
+class CPDF_CryptoHandler {
+ public:
+  virtual ~CPDF_CryptoHandler() {}
 
-    CPDF_StandardCryptoHandler();
+  virtual FX_BOOL Init(CPDF_Dictionary* pEncryptDict,
+                       CPDF_SecurityHandler* pSecurityHandler) = 0;
 
-    virtual ~CPDF_StandardCryptoHandler();
+  virtual FX_DWORD DecryptGetSize(FX_DWORD src_size) = 0;
 
-    FX_BOOL                            Init(int cipher, const uint8_t* key, int keylen);
-    virtual FX_BOOL            Init(CPDF_Dictionary* pEncryptDict, CPDF_SecurityHandler* pSecurityHandler);
-    virtual FX_DWORD   DecryptGetSize(FX_DWORD src_size);
-    virtual void*      DecryptStart(FX_DWORD objnum, FX_DWORD gennum);
-    virtual FX_BOOL            DecryptStream(void* context, const uint8_t* src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
-    virtual FX_BOOL            DecryptFinish(void* context, CFX_BinaryBuf& dest_buf);
-    virtual FX_DWORD   EncryptGetSize(FX_DWORD objnum, FX_DWORD version, const uint8_t* src_buf, FX_DWORD src_size);
-    virtual FX_BOOL            EncryptContent(FX_DWORD objnum, FX_DWORD version, const uint8_t* src_buf, FX_DWORD src_size,
-                                       uint8_t* dest_buf, FX_DWORD& dest_size);
-protected:
+  virtual void* DecryptStart(FX_DWORD objnum, FX_DWORD gennum) = 0;
 
-    virtual void               CryptBlock(FX_BOOL bEncrypt, FX_DWORD objnum, FX_DWORD gennum, const uint8_t* src_buf, FX_DWORD src_size,
-                                   uint8_t* dest_buf, FX_DWORD& dest_size);
-    virtual void*      CryptStart(FX_DWORD objnum, FX_DWORD gennum, FX_BOOL bEncrypt);
-    virtual FX_BOOL            CryptStream(void* context, const uint8_t* src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf, FX_BOOL bEncrypt);
-    virtual FX_BOOL            CryptFinish(void* context, CFX_BinaryBuf& dest_buf, FX_BOOL bEncrypt);
+  virtual FX_BOOL DecryptStream(void* context,
+                                const uint8_t* src_buf,
+                                FX_DWORD src_size,
+                                CFX_BinaryBuf& dest_buf) = 0;
 
-    uint8_t                            m_EncryptKey[32];
+  virtual FX_BOOL DecryptFinish(void* context, CFX_BinaryBuf& dest_buf) = 0;
 
-    int                                        m_KeyLen;
+  virtual FX_DWORD EncryptGetSize(FX_DWORD objnum,
+                                  FX_DWORD version,
+                                  const uint8_t* src_buf,
+                                  FX_DWORD src_size) = 0;
 
-    int                                        m_Cipher;
+  virtual FX_BOOL EncryptContent(FX_DWORD objnum,
+                                 FX_DWORD version,
+                                 const uint8_t* src_buf,
+                                 FX_DWORD src_size,
+                                 uint8_t* dest_buf,
+                                 FX_DWORD& dest_size) = 0;
 
-    uint8_t*                   m_pAESContext;
+  void Decrypt(FX_DWORD objnum, FX_DWORD version, CFX_ByteString& str);
 };
-class CPDF_Point
-{
-public:
-
-    CPDF_Point(FX_FLOAT xx, FX_FLOAT yy)
-    {
-        x = xx;
-        y = yy;
-    }
+class CPDF_StandardCryptoHandler : public CPDF_CryptoHandler {
+ public:
+  CPDF_StandardCryptoHandler();
+
+  virtual ~CPDF_StandardCryptoHandler();
+
+  FX_BOOL Init(int cipher, const uint8_t* key, int keylen);
+  virtual FX_BOOL Init(CPDF_Dictionary* pEncryptDict,
+                       CPDF_SecurityHandler* pSecurityHandler);
+  virtual FX_DWORD DecryptGetSize(FX_DWORD src_size);
+  virtual void* DecryptStart(FX_DWORD objnum, FX_DWORD gennum);
+  virtual FX_BOOL DecryptStream(void* context,
+                                const uint8_t* src_buf,
+                                FX_DWORD src_size,
+                                CFX_BinaryBuf& dest_buf);
+  virtual FX_BOOL DecryptFinish(void* context, CFX_BinaryBuf& dest_buf);
+  virtual FX_DWORD EncryptGetSize(FX_DWORD objnum,
+                                  FX_DWORD version,
+                                  const uint8_t* src_buf,
+                                  FX_DWORD src_size);
+  virtual FX_BOOL EncryptContent(FX_DWORD objnum,
+                                 FX_DWORD version,
+                                 const uint8_t* src_buf,
+                                 FX_DWORD src_size,
+                                 uint8_t* dest_buf,
+                                 FX_DWORD& dest_size);
+
+ protected:
+  virtual void CryptBlock(FX_BOOL bEncrypt,
+                          FX_DWORD objnum,
+                          FX_DWORD gennum,
+                          const uint8_t* src_buf,
+                          FX_DWORD src_size,
+                          uint8_t* dest_buf,
+                          FX_DWORD& dest_size);
+  virtual void* CryptStart(FX_DWORD objnum, FX_DWORD gennum, FX_BOOL bEncrypt);
+  virtual FX_BOOL CryptStream(void* context,
+                              const uint8_t* src_buf,
+                              FX_DWORD src_size,
+                              CFX_BinaryBuf& dest_buf,
+                              FX_BOOL bEncrypt);
+  virtual FX_BOOL CryptFinish(void* context,
+                              CFX_BinaryBuf& dest_buf,
+                              FX_BOOL bEncrypt);
+
+  uint8_t m_EncryptKey[32];
+
+  int m_KeyLen;
+
+  int m_Cipher;
+
+  uint8_t* m_pAESContext;
+};
+class CPDF_Point {
+ public:
+  CPDF_Point(FX_FLOAT xx, FX_FLOAT yy) {
+    x = xx;
+    y = yy;
+  }
 
-    FX_FLOAT                   x;
+  FX_FLOAT x;
 
-    FX_FLOAT                   y;
+  FX_FLOAT y;
 };
 
-#define CPDF_Rect              CFX_FloatRect
-#define CPDF_Matrix            CFX_AffineMatrix
+#define CPDF_Rect CFX_FloatRect
+#define CPDF_Matrix CFX_AffineMatrix
 CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& orig);
 CFX_ByteString PDF_NameDecode(const CFX_ByteString& orig);
 CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig);
-CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, FX_BOOL bHex = FALSE);
-CFX_WideString PDF_DecodeText(const uint8_t* pData, FX_DWORD size, CFX_CharMap* pCharMap = NULL);
-inline CFX_WideString PDF_DecodeText(const CFX_ByteString& bstr, CFX_CharMap* pCharMap = NULL) {
-    return PDF_DecodeText((const uint8_t*)bstr.c_str(), bstr.GetLength(), pCharMap);
+CFX_ByteString PDF_EncodeString(const CFX_ByteString& src,
+                                FX_BOOL bHex = FALSE);
+CFX_WideString PDF_DecodeText(const uint8_t* pData,
+                              FX_DWORD size,
+                              CFX_CharMap* pCharMap = NULL);
+inline CFX_WideString PDF_DecodeText(const CFX_ByteString& bstr,
+                                     CFX_CharMap* pCharMap = NULL) {
+  return PDF_DecodeText((const uint8_t*)bstr.c_str(), bstr.GetLength(),
+                        pCharMap);
 }
-CFX_ByteString PDF_EncodeText(const FX_WCHAR* pString, int len = -1, CFX_CharMap* pCharMap = NULL);
-inline CFX_ByteString PDF_EncodeText(const CFX_WideString& str, CFX_CharMap* pCharMap = NULL) {
-    return PDF_EncodeText(str.c_str(), str.GetLength(), pCharMap);
+CFX_ByteString PDF_EncodeText(const FX_WCHAR* pString,
+                              int len = -1,
+                              CFX_CharMap* pCharMap = NULL);
+inline CFX_ByteString PDF_EncodeText(const CFX_WideString& str,
+                                     CFX_CharMap* pCharMap = NULL) {
+  return PDF_EncodeText(str.c_str(), str.GetLength(), pCharMap);
 }
 FX_FLOAT PDF_ClipFloat(FX_FLOAT f);
-class CFDF_Document : public CPDF_IndirectObjects
-{
-public:
-    static CFDF_Document* CreateNewDoc();
-    static CFDF_Document* ParseFile(IFX_FileRead *pFile, FX_BOOL bOwnFile = FALSE);
-    static CFDF_Document* ParseMemory(const uint8_t* pData, FX_DWORD size);
-
-    ~CFDF_Document();
-
-    FX_BOOL                                    WriteBuf(CFX_ByteTextBuf& buf) const;
-
-    CPDF_Dictionary*           GetRoot() const
-    {
-        return m_pRootDict;
-    }
-
-    CFX_WideString                     GetWin32Path() const;
-protected:
-
-    CFDF_Document();
-    void       ParseStream(IFX_FileRead *pFile, FX_BOOL bOwnFile);
-    CPDF_Dictionary*           m_pRootDict;
-    IFX_FileRead*                      m_pFile;
-    FX_BOOL                                    m_bOwnFile;
-};
+class CFDF_Document : public CPDF_IndirectObjects {
+ public:
+  static CFDF_Document* CreateNewDoc();
+  static CFDF_Document* ParseFile(IFX_FileRead* pFile,
+                                  FX_BOOL bOwnFile = FALSE);
+  static CFDF_Document* ParseMemory(const uint8_t* pData, FX_DWORD size);
 
-CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec);
-void                   FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideString& fullpath);
+  ~CFDF_Document();
 
-void FlateEncode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, FX_DWORD& dest_size);
-FX_DWORD FlateDecode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, FX_DWORD& dest_size);
-FX_DWORD RunLengthDecode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, FX_DWORD& dest_size);
-class CPDF_NumberTree
-{
-public:
+  FX_BOOL WriteBuf(CFX_ByteTextBuf& buf) const;
 
-    CPDF_NumberTree(CPDF_Dictionary* pRoot)
-    {
-        m_pRoot = pRoot;
-    }
+  CPDF_Dictionary* GetRoot() const { return m_pRootDict; }
 
-    CPDF_Object*               LookupValue(int num);
-protected:
+  CFX_WideString GetWin32Path() const;
 
-    CPDF_Dictionary*   m_pRoot;
+ protected:
+  CFDF_Document();
+  void ParseStream(IFX_FileRead* pFile, FX_BOOL bOwnFile);
+  CPDF_Dictionary* m_pRootDict;
+  IFX_FileRead* m_pFile;
+  FX_BOOL m_bOwnFile;
 };
 
-class IFX_FileAvail
-{
-public:
-    virtual ~IFX_FileAvail() { }
-    virtual FX_BOOL                    IsDataAvail( FX_FILESIZE offset, FX_DWORD size) = 0;
+CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec);
+void FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec,
+                                const CFX_WideString& fullpath);
+
+void FlateEncode(const uint8_t* src_buf,
+                 FX_DWORD src_size,
+                 uint8_t*& dest_buf,
+                 FX_DWORD& dest_size);
+FX_DWORD FlateDecode(const uint8_t* src_buf,
+                     FX_DWORD src_size,
+                     uint8_t*& dest_buf,
+                     FX_DWORD& dest_size);
+FX_DWORD RunLengthDecode(const uint8_t* src_buf,
+                         FX_DWORD src_size,
+                         uint8_t*& dest_buf,
+                         FX_DWORD& dest_size);
+class CPDF_NumberTree {
+ public:
+  CPDF_NumberTree(CPDF_Dictionary* pRoot) { m_pRoot = pRoot; }
+
+  CPDF_Object* LookupValue(int num);
+
+ protected:
+  CPDF_Dictionary* m_pRoot;
 };
-class IFX_DownloadHints
-{
-public:
-    virtual ~IFX_DownloadHints() { }
-    virtual void                       AddSegment(FX_FILESIZE offset, FX_DWORD size) = 0;
+
+class IFX_FileAvail {
+ public:
+  virtual ~IFX_FileAvail() {}
+  virtual FX_BOOL IsDataAvail(FX_FILESIZE offset, FX_DWORD size) = 0;
 };
-#define PDF_IS_LINEARIZED                      1
-#define PDF_NOT_LINEARIZED                     0
-#define PDF_UNKNOW_LINEARIZED          -1
-#define PDFFORM_NOTAVAIL               0
-#define PDFFORM_AVAIL                  1
-#define PDFFORM_NOTEXIST               2
-class IPDF_DataAvail
-{
-public:
-    static IPDF_DataAvail* Create(IFX_FileAvail* pFileAvail, IFX_FileRead* pFileRead);
-    virtual ~IPDF_DataAvail() { }
-
-    IFX_FileAvail* GetFileAvail() const { return m_pFileAvail; }
-    IFX_FileRead* GetFileRead() const { return m_pFileRead; }
-
-    virtual FX_BOOL                    IsDocAvail(IFX_DownloadHints* pHints) = 0;
-    virtual void                       SetDocument(CPDF_Document* pDoc) = 0;
-    virtual FX_BOOL                    IsPageAvail(int iPage, IFX_DownloadHints* pHints) = 0;
-    virtual FX_BOOL                    IsLinearized() = 0;
-    virtual int32_t            IsFormAvail(IFX_DownloadHints *pHints) = 0;
-    virtual int32_t            IsLinearizedPDF() = 0;
-    virtual void                               GetLinearizedMainXRefInfo(FX_FILESIZE *pPos, FX_DWORD *pSize) = 0;
-
-protected:
-    IPDF_DataAvail(IFX_FileAvail* pFileAvail, IFX_FileRead* pFileRead);
-
-    IFX_FileAvail* m_pFileAvail;
-    IFX_FileRead* m_pFileRead;
+class IFX_DownloadHints {
+ public:
+  virtual ~IFX_DownloadHints() {}
+  virtual void AddSegment(FX_FILESIZE offset, FX_DWORD size) = 0;
 };
-class CPDF_SortObjNumArray
-{
-public:
-
-    void AddObjNum(FX_DWORD dwObjNum);
+#define PDF_IS_LINEARIZED 1
+#define PDF_NOT_LINEARIZED 0
+#define PDF_UNKNOW_LINEARIZED -1
+#define PDFFORM_NOTAVAIL 0
+#define PDFFORM_AVAIL 1
+#define PDFFORM_NOTEXIST 2
+class IPDF_DataAvail {
+ public:
+  static IPDF_DataAvail* Create(IFX_FileAvail* pFileAvail,
+                                IFX_FileRead* pFileRead);
+  virtual ~IPDF_DataAvail() {}
+
+  IFX_FileAvail* GetFileAvail() const { return m_pFileAvail; }
+  IFX_FileRead* GetFileRead() const { return m_pFileRead; }
+
+  virtual FX_BOOL IsDocAvail(IFX_DownloadHints* pHints) = 0;
+  virtual void SetDocument(CPDF_Document* pDoc) = 0;
+  virtual FX_BOOL IsPageAvail(int iPage, IFX_DownloadHints* pHints) = 0;
+  virtual FX_BOOL IsLinearized() = 0;
+  virtual int32_t IsFormAvail(IFX_DownloadHints* pHints) = 0;
+  virtual int32_t IsLinearizedPDF() = 0;
+  virtual void GetLinearizedMainXRefInfo(FX_FILESIZE* pPos,
+                                         FX_DWORD* pSize) = 0;
+
+ protected:
+  IPDF_DataAvail(IFX_FileAvail* pFileAvail, IFX_FileRead* pFileRead);
+
+  IFX_FileAvail* m_pFileAvail;
+  IFX_FileRead* m_pFileRead;
+};
+class CPDF_SortObjNumArray {
+ public:
+  void AddObjNum(FX_DWORD dwObjNum);
 
-    FX_BOOL Find(FX_DWORD dwObjNum);
+  FX_BOOL Find(FX_DWORD dwObjNum);
 
-    void RemoveAll()
-    {
-        m_number_array.RemoveAll();
-    }
-protected:
+  void RemoveAll() { m_number_array.RemoveAll(); }
 
-    FX_BOOL BinarySearch(FX_DWORD value, int &iNext);
-protected:
+ protected:
+  FX_BOOL BinarySearch(FX_DWORD value, int& iNext);
 
-    CFX_DWordArray                     m_number_array;
+ protected:
+  CFX_DWordArray m_number_array;
 };
 enum PDF_PAGENODE_TYPE {
-    PDF_PAGENODE_UNKOWN = 0,
-    PDF_PAGENODE_PAGE,
-    PDF_PAGENODE_PAGES,
-    PDF_PAGENODE_ARRAY,
+  PDF_PAGENODE_UNKOWN = 0,
+  PDF_PAGENODE_PAGE,
+  PDF_PAGENODE_PAGES,
+  PDF_PAGENODE_ARRAY,
 };
-class CPDF_PageNode
-{
-public:
-    CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {}
-    ~CPDF_PageNode();
-    PDF_PAGENODE_TYPE  m_type;
-    FX_DWORD                   m_dwPageNo;
-    CFX_PtrArray               m_childNode;
+class CPDF_PageNode {
+ public:
+  CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {}
+  ~CPDF_PageNode();
+  PDF_PAGENODE_TYPE m_type;
+  FX_DWORD m_dwPageNo;
+  CFX_PtrArray m_childNode;
 };
 enum PDF_DATAAVAIL_STATUS {
-    PDF_DATAAVAIL_HEADER = 0,
-    PDF_DATAAVAIL_FIRSTPAGE,
-    PDF_DATAAVAIL_FIRSTPAGE_PREPARE,
-    PDF_DATAAVAIL_END,
-    PDF_DATAAVAIL_CROSSREF,
-    PDF_DATAAVAIL_CROSSREF_ITEM,
-    PDF_DATAAVAIL_CROSSREF_STREAM,
-    PDF_DATAAVAIL_TRAILER,
-    PDF_DATAAVAIL_LOADALLCRSOSSREF,
-    PDF_DATAAVAIL_ROOT,
-    PDF_DATAAVAIL_INFO,
-    PDF_DATAAVAIL_ACROFORM,
-    PDF_DATAAVAIL_ACROFORM_SUBOBJECT,
-    PDF_DATAAVAIL_PAGETREE,
-    PDF_DATAAVAIL_PAGE,
-    PDF_DATAAVAIL_PAGE_LATERLOAD,
-    PDF_DATAAVAIL_RESOURCES,
-    PDF_DATAAVAIL_DONE,
-    PDF_DATAAVAIL_ERROR,
-    PDF_DATAAVAIL_LOADALLFILE,
-    PDF_DATAAVAIL_TRAILER_APPEND
+  PDF_DATAAVAIL_HEADER = 0,
+  PDF_DATAAVAIL_FIRSTPAGE,
+  PDF_DATAAVAIL_FIRSTPAGE_PREPARE,
+  PDF_DATAAVAIL_END,
+  PDF_DATAAVAIL_CROSSREF,
+  PDF_DATAAVAIL_CROSSREF_ITEM,
+  PDF_DATAAVAIL_CROSSREF_STREAM,
+  PDF_DATAAVAIL_TRAILER,
+  PDF_DATAAVAIL_LOADALLCRSOSSREF,
+  PDF_DATAAVAIL_ROOT,
+  PDF_DATAAVAIL_INFO,
+  PDF_DATAAVAIL_ACROFORM,
+  PDF_DATAAVAIL_ACROFORM_SUBOBJECT,
+  PDF_DATAAVAIL_PAGETREE,
+  PDF_DATAAVAIL_PAGE,
+  PDF_DATAAVAIL_PAGE_LATERLOAD,
+  PDF_DATAAVAIL_RESOURCES,
+  PDF_DATAAVAIL_DONE,
+  PDF_DATAAVAIL_ERROR,
+  PDF_DATAAVAIL_LOADALLFILE,
+  PDF_DATAAVAIL_TRAILER_APPEND
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
index f359009..ad2ca32 100644 (file)
@@ -27,250 +27,265 @@ class CPDF_ShadingObject;
 class CPDF_TextObject;
 class IFX_Pause;
 
-class IPDF_OCContext
-{
-public:
+class IPDF_OCContext {
+ public:
+  virtual ~IPDF_OCContext() {}
 
-    virtual ~IPDF_OCContext() {}
+  virtual FX_BOOL CheckOCGVisible(const CPDF_Dictionary* pOCG) = 0;
 
-    virtual FX_BOOL    CheckOCGVisible(const CPDF_Dictionary* pOCG) = 0;
-
-    FX_BOOL CheckObjectVisible(const CPDF_PageObject* pObj);
+  FX_BOOL CheckObjectVisible(const CPDF_PageObject* pObj);
 };
-#define RENDER_COLOR_NORMAL            0
-#define RENDER_COLOR_GRAY              1
-#define RENDER_COLOR_TWOCOLOR  2
-#define RENDER_COLOR_ALPHA             3
-#define RENDER_CLEARTYPE                       0x00000001
-#define RENDER_PRINTGRAPHICTEXT                0x00000002
-#define RENDER_FORCE_DOWNSAMPLE                0x00000004
-#define RENDER_PRINTPREVIEW                    0x00000008
-#define RENDER_BGR_STRIPE                      0x00000010
-#define RENDER_NO_NATIVETEXT           0x00000020
-#define RENDER_FORCE_HALFTONE          0x00000040
-#define RENDER_RECT_AA                         0x00000080
-#define RENDER_FILL_FULLCOVER          0x00000100
-#define RENDER_PRINTIMAGETEXT       0x00000200
-#define RENDER_OVERPRINT            0x00000400
-#define RENDER_THINLINE             0x00000800
-#define RENDER_NOTEXTSMOOTH                    0x10000000
-#define RENDER_NOPATHSMOOTH                    0x20000000
-#define RENDER_NOIMAGESMOOTH           0x40000000
-#define RENDER_LIMITEDIMAGECACHE       0x80000000
-class CPDF_RenderOptions
-{
-public:
-
-    CPDF_RenderOptions();
+#define RENDER_COLOR_NORMAL 0
+#define RENDER_COLOR_GRAY 1
+#define RENDER_COLOR_TWOCOLOR 2
+#define RENDER_COLOR_ALPHA 3
+#define RENDER_CLEARTYPE 0x00000001
+#define RENDER_PRINTGRAPHICTEXT 0x00000002
+#define RENDER_FORCE_DOWNSAMPLE 0x00000004
+#define RENDER_PRINTPREVIEW 0x00000008
+#define RENDER_BGR_STRIPE 0x00000010
+#define RENDER_NO_NATIVETEXT 0x00000020
+#define RENDER_FORCE_HALFTONE 0x00000040
+#define RENDER_RECT_AA 0x00000080
+#define RENDER_FILL_FULLCOVER 0x00000100
+#define RENDER_PRINTIMAGETEXT 0x00000200
+#define RENDER_OVERPRINT 0x00000400
+#define RENDER_THINLINE 0x00000800
+#define RENDER_NOTEXTSMOOTH 0x10000000
+#define RENDER_NOPATHSMOOTH 0x20000000
+#define RENDER_NOIMAGESMOOTH 0x40000000
+#define RENDER_LIMITEDIMAGECACHE 0x80000000
+class CPDF_RenderOptions {
+ public:
+  CPDF_RenderOptions();
 
-    int                                m_ColorMode;
+  int m_ColorMode;
 
-    FX_COLORREF                m_BackColor;
+  FX_COLORREF m_BackColor;
 
-    FX_COLORREF                m_ForeColor;
+  FX_COLORREF m_ForeColor;
 
-    FX_DWORD           m_Flags;
+  FX_DWORD m_Flags;
 
-    int                                m_Interpolation;
+  int m_Interpolation;
 
-    FX_DWORD           m_AddFlags;
+  FX_DWORD m_AddFlags;
 
-    IPDF_OCContext*    m_pOCContext;
+  IPDF_OCContext* m_pOCContext;
 
-    FX_DWORD           m_dwLimitCacheSize;
+  FX_DWORD m_dwLimitCacheSize;
 
-    int                                m_HalftoneLimit;
+  int m_HalftoneLimit;
 
-    FX_ARGB                    TranslateColor(FX_ARGB argb) const;
+  FX_ARGB TranslateColor(FX_ARGB argb) const;
 };
-class CPDF_RenderContext
-{
-public:
-
-    CPDF_RenderContext();
-
-    void                       Create(CPDF_Page* pPage, FX_BOOL bFirstLayer = TRUE);
-
-    void                       Create(CPDF_Document* pDoc = NULL, CPDF_PageRenderCache* pPageCache = NULL,
-                           CPDF_Dictionary* pPageResources = NULL, FX_BOOL bFirstLayer = TRUE);
-
-    ~CPDF_RenderContext();
+class CPDF_RenderContext {
+ public:
+  CPDF_RenderContext();
 
-    void                       Clear();
+  void Create(CPDF_Page* pPage, FX_BOOL bFirstLayer = TRUE);
 
-    void                       AppendObjectList(CPDF_PageObjects* pObjs, const CFX_AffineMatrix* pObject2Device);
+  void Create(CPDF_Document* pDoc = NULL,
+              CPDF_PageRenderCache* pPageCache = NULL,
+              CPDF_Dictionary* pPageResources = NULL,
+              FX_BOOL bFirstLayer = TRUE);
 
-    void                       Render(CFX_RenderDevice* pDevice, const CPDF_RenderOptions* pOptions = NULL,
-                           const CFX_AffineMatrix* pFinalMatrix = NULL);
+  ~CPDF_RenderContext();
 
-    void                       DrawObjectList(CFX_RenderDevice* pDevice, CPDF_PageObjects* pObjs,
-                                   const CFX_AffineMatrix* pObject2Device, const CPDF_RenderOptions* pOptions);
+  void Clear();
 
-    void                       GetBackground(CFX_DIBitmap* pBuffer, const CPDF_PageObject* pObj,
-                                  const CPDF_RenderOptions* pOptions, CFX_AffineMatrix* pFinalMatrix);
+  void AppendObjectList(CPDF_PageObjects* pObjs,
+                        const CFX_AffineMatrix* pObject2Device);
 
-    CPDF_PageRenderCache*      GetPageCache() const
-    {
-        return m_pPageCache;
-    }
+  void Render(CFX_RenderDevice* pDevice,
+              const CPDF_RenderOptions* pOptions = NULL,
+              const CFX_AffineMatrix* pFinalMatrix = NULL);
 
+  void DrawObjectList(CFX_RenderDevice* pDevice,
+                      CPDF_PageObjects* pObjs,
+                      const CFX_AffineMatrix* pObject2Device,
+                      const CPDF_RenderOptions* pOptions);
 
+  void GetBackground(CFX_DIBitmap* pBuffer,
+                     const CPDF_PageObject* pObj,
+                     const CPDF_RenderOptions* pOptions,
+                     CFX_AffineMatrix* pFinalMatrix);
 
-    CPDF_Document*                     m_pDocument;
+  CPDF_PageRenderCache* GetPageCache() const { return m_pPageCache; }
 
-    CPDF_Dictionary*           m_pPageResources;
+  CPDF_Document* m_pDocument;
 
-    CPDF_PageRenderCache*      m_pPageCache;
+  CPDF_Dictionary* m_pPageResources;
 
-protected:
+  CPDF_PageRenderCache* m_pPageCache;
 
-    CFX_ArrayTemplate<struct _PDF_RenderItem>  m_ContentList;
+ protected:
+  CFX_ArrayTemplate<struct _PDF_RenderItem> m_ContentList;
 
-    FX_BOOL                                    m_bFirstLayer;
+  FX_BOOL m_bFirstLayer;
 
-    void                       Render(CFX_RenderDevice* pDevice, const CPDF_PageObject* pStopObj,
-                           const CPDF_RenderOptions* pOptions, const CFX_AffineMatrix* pFinalMatrix);
-    friend class CPDF_RenderStatus;
-    friend class CPDF_ProgressiveRenderer;
+  void Render(CFX_RenderDevice* pDevice,
+              const CPDF_PageObject* pStopObj,
+              const CPDF_RenderOptions* pOptions,
+              const CFX_AffineMatrix* pFinalMatrix);
+  friend class CPDF_RenderStatus;
+  friend class CPDF_ProgressiveRenderer;
 };
 
-class CPDF_ProgressiveRenderer
-{
-public:
-    // Must match FDF_RENDER_* definitions in fpdf_progressive.h.
-    enum Status {
-        Ready = FPDF_RENDER_READER,
-        ToBeContinued = FPDF_RENDER_TOBECOUNTINUED,
-        Done = FPDF_RENDER_DONE,
-        Failed = FPDF_RENDER_FAILED
-    };
-    static int ToFPDFStatus(Status status) { return static_cast<int>(status); }
-
-    CPDF_ProgressiveRenderer(CPDF_RenderContext* pContext,
-                             CFX_RenderDevice* pDevice,
-                             const CPDF_RenderOptions* pOptions);
-    ~CPDF_ProgressiveRenderer();
-
-    Status GetStatus() const { return m_Status; }
-    void Start(IFX_Pause* pPause);
-    void Continue(IFX_Pause* pPause);
-    int EstimateProgress();
-
-private:
-    void RenderStep();
-
-    Status m_Status;
-    CPDF_RenderContext* const m_pContext;
-    CFX_RenderDevice* const m_pDevice;
-    const CPDF_RenderOptions* const m_pOptions;
-    nonstd::unique_ptr<CPDF_RenderStatus> m_pRenderStatus;
-    CFX_FloatRect m_ClipRect;
-    FX_DWORD m_LayerIndex;
-    FX_DWORD m_ObjectIndex;
-    FX_POSITION m_ObjectPos;
-    FX_POSITION m_PrevLastPos;
+class CPDF_ProgressiveRenderer {
+ public:
+  // Must match FDF_RENDER_* definitions in fpdf_progressive.h.
+  enum Status {
+    Ready = FPDF_RENDER_READER,
+    ToBeContinued = FPDF_RENDER_TOBECOUNTINUED,
+    Done = FPDF_RENDER_DONE,
+    Failed = FPDF_RENDER_FAILED
+  };
+  static int ToFPDFStatus(Status status) { return static_cast<int>(status); }
+
+  CPDF_ProgressiveRenderer(CPDF_RenderContext* pContext,
+                           CFX_RenderDevice* pDevice,
+                           const CPDF_RenderOptions* pOptions);
+  ~CPDF_ProgressiveRenderer();
+
+  Status GetStatus() const { return m_Status; }
+  void Start(IFX_Pause* pPause);
+  void Continue(IFX_Pause* pPause);
+  int EstimateProgress();
+
+ private:
+  void RenderStep();
+
+  Status m_Status;
+  CPDF_RenderContext* const m_pContext;
+  CFX_RenderDevice* const m_pDevice;
+  const CPDF_RenderOptions* const m_pOptions;
+  nonstd::unique_ptr<CPDF_RenderStatus> m_pRenderStatus;
+  CFX_FloatRect m_ClipRect;
+  FX_DWORD m_LayerIndex;
+  FX_DWORD m_ObjectIndex;
+  FX_POSITION m_ObjectPos;
+  FX_POSITION m_PrevLastPos;
 };
 
-class CPDF_TextRenderer
-{
-public:
-
-    static void                DrawTextString(CFX_RenderDevice* pDevice, int left, int top,
-                                   CPDF_Font* pFont,
-                                   int height,
-                                   const CFX_ByteString& str,
-                                   FX_ARGB argb);
-
-    static void                DrawTextString(CFX_RenderDevice* pDevice, FX_FLOAT origin_x, FX_FLOAT origin_y,
-                                   CPDF_Font* pFont,
-                                   FX_FLOAT font_size,
-                                   const CFX_AffineMatrix* matrix,
-                                   const CFX_ByteString& str,
-                                   FX_ARGB fill_argb,
-                                   FX_ARGB stroke_argb = 0,
-                                   const CFX_GraphStateData* pGraphState = NULL,
-                                   const CPDF_RenderOptions* pOptions = NULL
-                               );
-
-    static FX_BOOL     DrawTextPath(CFX_RenderDevice* pDevice, int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pCharPos,
-                                 CPDF_Font* pFont, FX_FLOAT font_size,
-                                 const CFX_AffineMatrix* pText2User, const CFX_AffineMatrix* pUser2Device,
-                                 const CFX_GraphStateData* pGraphState,
-                                 FX_ARGB fill_argb, FX_ARGB stroke_argb, CFX_PathData* pClippingPath, int nFlag = 0);
-
-    static FX_BOOL     DrawNormalText(CFX_RenderDevice* pDevice, int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pCharPos,
-                                   CPDF_Font* pFont, FX_FLOAT font_size, const CFX_AffineMatrix* pText2Device,
-                                   FX_ARGB fill_argb, const CPDF_RenderOptions* pOptions);
-
-    static FX_BOOL     DrawType3Text(CFX_RenderDevice* pDevice, int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pCharPos,
-                                  CPDF_Font* pFont, FX_FLOAT font_size, const CFX_AffineMatrix* pText2Device,
-                                  FX_ARGB fill_argb);
+class CPDF_TextRenderer {
+ public:
+  static void DrawTextString(CFX_RenderDevice* pDevice,
+                             int left,
+                             int top,
+                             CPDF_Font* pFont,
+                             int height,
+                             const CFX_ByteString& str,
+                             FX_ARGB argb);
+
+  static void DrawTextString(CFX_RenderDevice* pDevice,
+                             FX_FLOAT origin_x,
+                             FX_FLOAT origin_y,
+                             CPDF_Font* pFont,
+                             FX_FLOAT font_size,
+                             const CFX_AffineMatrix* matrix,
+                             const CFX_ByteString& str,
+                             FX_ARGB fill_argb,
+                             FX_ARGB stroke_argb = 0,
+                             const CFX_GraphStateData* pGraphState = NULL,
+                             const CPDF_RenderOptions* pOptions = NULL);
+
+  static FX_BOOL DrawTextPath(CFX_RenderDevice* pDevice,
+                              int nChars,
+                              FX_DWORD* pCharCodes,
+                              FX_FLOAT* pCharPos,
+                              CPDF_Font* pFont,
+                              FX_FLOAT font_size,
+                              const CFX_AffineMatrix* pText2User,
+                              const CFX_AffineMatrix* pUser2Device,
+                              const CFX_GraphStateData* pGraphState,
+                              FX_ARGB fill_argb,
+                              FX_ARGB stroke_argb,
+                              CFX_PathData* pClippingPath,
+                              int nFlag = 0);
+
+  static FX_BOOL DrawNormalText(CFX_RenderDevice* pDevice,
+                                int nChars,
+                                FX_DWORD* pCharCodes,
+                                FX_FLOAT* pCharPos,
+                                CPDF_Font* pFont,
+                                FX_FLOAT font_size,
+                                const CFX_AffineMatrix* pText2Device,
+                                FX_ARGB fill_argb,
+                                const CPDF_RenderOptions* pOptions);
+
+  static FX_BOOL DrawType3Text(CFX_RenderDevice* pDevice,
+                               int nChars,
+                               FX_DWORD* pCharCodes,
+                               FX_FLOAT* pCharPos,
+                               CPDF_Font* pFont,
+                               FX_FLOAT font_size,
+                               const CFX_AffineMatrix* pText2Device,
+                               FX_ARGB fill_argb);
 };
-class CPDF_PageRenderCache
-{
-public:
-    CPDF_PageRenderCache(CPDF_Page* pPage)
-    {
-        m_pPage = pPage;
-        m_nTimeCount = 0;
-        m_nCacheSize = 0;
-        m_pCurImageCache = NULL;
-        m_bCurFindCache = FALSE;
-        m_pCurImageCaches = NULL;
-    }
-    ~CPDF_PageRenderCache()
-    {
-        ClearAll();
-    }
-    void                               ClearAll();
-    void                               ClearImageData();
-
-    FX_DWORD                   EstimateSize();
-    void                               CacheOptimization(int32_t dwLimitCacheSize);
-    FX_DWORD                   GetCachedSize(CPDF_Stream* pStream) const;
-    FX_DWORD                   GetTimeCount() const
-    {
-        return m_nTimeCount;
-    }
-    void                               SetTimeCount(FX_DWORD dwTimeCount)
-    {
-        m_nTimeCount = dwTimeCount;
-    }
-
-    void                               GetCachedBitmap(CPDF_Stream* pStream, CFX_DIBSource*& pBitmap, CFX_DIBSource*& pMask, FX_DWORD& MatteColor,
-                                        FX_BOOL bStdCS = FALSE, FX_DWORD GroupFamily = 0, FX_BOOL bLoadMask = FALSE,
-                                        CPDF_RenderStatus* pRenderStatus = NULL, int32_t downsampleWidth = 0, int32_t downsampleHeight = 0);
-
-    void                               ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap);
-    void                               ClearImageCache(CPDF_Stream* pStream);
-    CPDF_Page*                 GetPage()
-    {
-        return m_pPage;
-    }
-    CFX_MapPtrToPtr            m_ImageCaches;
-public:
-    FX_BOOL                            StartGetCachedBitmap(CPDF_Stream* pStream, FX_BOOL bStdCS = FALSE, FX_DWORD GroupFamily = 0,
-            FX_BOOL bLoadMask = FALSE, CPDF_RenderStatus* pRenderStatus = NULL,
-            int32_t downsampleWidth = 0, int32_t downsampleHeight = 0);
-
-    FX_BOOL                            Continue(IFX_Pause* pPause);
-    CPDF_ImageCache*   m_pCurImageCache;
-    CFX_PtrArray*       m_pCurImageCaches;
-protected:
-    friend class               CPDF_Page;
-    CPDF_Page*                 m_pPage;
-
-    FX_DWORD                   m_nTimeCount;
-    FX_DWORD                   m_nCacheSize;
-    FX_BOOL                            m_bCurFindCache;
+class CPDF_PageRenderCache {
+ public:
+  CPDF_PageRenderCache(CPDF_Page* pPage) {
+    m_pPage = pPage;
+    m_nTimeCount = 0;
+    m_nCacheSize = 0;
+    m_pCurImageCache = NULL;
+    m_bCurFindCache = FALSE;
+    m_pCurImageCaches = NULL;
+  }
+  ~CPDF_PageRenderCache() { ClearAll(); }
+  void ClearAll();
+  void ClearImageData();
+
+  FX_DWORD EstimateSize();
+  void CacheOptimization(int32_t dwLimitCacheSize);
+  FX_DWORD GetCachedSize(CPDF_Stream* pStream) const;
+  FX_DWORD GetTimeCount() const { return m_nTimeCount; }
+  void SetTimeCount(FX_DWORD dwTimeCount) { m_nTimeCount = dwTimeCount; }
+
+  void GetCachedBitmap(CPDF_Stream* pStream,
+                       CFX_DIBSource*& pBitmap,
+                       CFX_DIBSource*& pMask,
+                       FX_DWORD& MatteColor,
+                       FX_BOOL bStdCS = FALSE,
+                       FX_DWORD GroupFamily = 0,
+                       FX_BOOL bLoadMask = FALSE,
+                       CPDF_RenderStatus* pRenderStatus = NULL,
+                       int32_t downsampleWidth = 0,
+                       int32_t downsampleHeight = 0);
+
+  void ResetBitmap(CPDF_Stream* pStream, const CFX_DIBitmap* pBitmap);
+  void ClearImageCache(CPDF_Stream* pStream);
+  CPDF_Page* GetPage() { return m_pPage; }
+  CFX_MapPtrToPtr m_ImageCaches;
+
+ public:
+  FX_BOOL StartGetCachedBitmap(CPDF_Stream* pStream,
+                               FX_BOOL bStdCS = FALSE,
+                               FX_DWORD GroupFamily = 0,
+                               FX_BOOL bLoadMask = FALSE,
+                               CPDF_RenderStatus* pRenderStatus = NULL,
+                               int32_t downsampleWidth = 0,
+                               int32_t downsampleHeight = 0);
+
+  FX_BOOL Continue(IFX_Pause* pPause);
+  CPDF_ImageCache* m_pCurImageCache;
+  CFX_PtrArray* m_pCurImageCaches;
+
+ protected:
+  friend class CPDF_Page;
+  CPDF_Page* m_pPage;
+
+  FX_DWORD m_nTimeCount;
+  FX_DWORD m_nCacheSize;
+  FX_BOOL m_bCurFindCache;
 };
-class CPDF_RenderConfig
-{
-public:
-    CPDF_RenderConfig();
-    ~CPDF_RenderConfig();
-    int                                        m_HalftoneLimit;
-    int                                        m_RenderStepLimit;
+class CPDF_RenderConfig {
+ public:
+  CPDF_RenderConfig();
+  ~CPDF_RenderConfig();
+  int m_HalftoneLimit;
+  int m_RenderStepLimit;
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
index 5c8cc85..c41a306 100644 (file)
@@ -51,911 +51,792 @@ const FX_CHAR* GetAdobeCharName(int iBaseEncoding,
                                 const CFX_ByteString* pCharNames,
                                 int charcode);
 
-template <class T> class CPDF_CountedObject
-{
-public:
-    explicit CPDF_CountedObject(T* ptr) : m_nCount(1), m_pObj(ptr) { }
-    void reset(T* ptr) {  // CAUTION: tosses prior ref counts.
-        m_nCount = 1;
-        m_pObj = ptr;
-    }
-    void clear() {  // Now you're all weak ptrs ...
-        delete m_pObj;
-        m_pObj = nullptr;
-    }
-    T* get() const { return m_pObj; }
-    T* AddRef() { FXSYS_assert(m_pObj); ++m_nCount; return m_pObj; }
-    void RemoveRef() { if (m_nCount) --m_nCount; }
-    size_t use_count() const { return m_nCount; }
-
-protected:
-    size_t m_nCount;
-    T* m_pObj;
+template <class T>
+class CPDF_CountedObject {
+ public:
+  explicit CPDF_CountedObject(T* ptr) : m_nCount(1), m_pObj(ptr) {}
+  void reset(T* ptr) {  // CAUTION: tosses prior ref counts.
+    m_nCount = 1;
+    m_pObj = ptr;
+  }
+  void clear() {  // Now you're all weak ptrs ...
+    delete m_pObj;
+    m_pObj = nullptr;
+  }
+  T* get() const { return m_pObj; }
+  T* AddRef() {
+    FXSYS_assert(m_pObj);
+    ++m_nCount;
+    return m_pObj;
+  }
+  void RemoveRef() {
+    if (m_nCount)
+      --m_nCount;
+  }
+  size_t use_count() const { return m_nCount; }
+
+ protected:
+  size_t m_nCount;
+  T* m_pObj;
 };
 using CPDF_CountedColorSpace = CPDF_CountedObject<CPDF_ColorSpace>;
 using CPDF_CountedPattern = CPDF_CountedObject<CPDF_Pattern>;
-#define PDFFONT_TYPE1                  1
-#define PDFFONT_TRUETYPE               2
-#define PDFFONT_TYPE3                  3
-#define PDFFONT_CIDFONT                        4
-#define PDFFONT_FIXEDPITCH             1
-#define PDFFONT_SERIF                  2
-#define PDFFONT_SYMBOLIC               4
-#define PDFFONT_SCRIPT                 8
-#define PDFFONT_NONSYMBOLIC            32
-#define PDFFONT_ITALIC                 64
-#define PDFFONT_ALLCAP                 0x10000
-#define PDFFONT_SMALLCAP               0x20000
-#define PDFFONT_FORCEBOLD              0x40000
-#define PDFFONT_USEEXTERNATTR  0x80000
-class CPDF_Font
-{
-public:
-    static CPDF_Font*          CreateFontF(CPDF_Document* pDoc, CPDF_Dictionary* pFontDict);
-    static CPDF_Font*          GetStockFont(CPDF_Document* pDoc, const CFX_ByteStringC& fontname);
-
-    virtual ~CPDF_Font();
-
-    bool IsFontType(int fonttype) const { return fonttype == m_FontType; }
-    int        GetFontType() const { return m_FontType;  }
-
-    CFX_ByteString                     GetFontTypeName() const;
-
-    const CFX_ByteString&      GetBaseFont() const
-    {
-        return m_BaseFont;
-    }
+#define PDFFONT_TYPE1 1
+#define PDFFONT_TRUETYPE 2
+#define PDFFONT_TYPE3 3
+#define PDFFONT_CIDFONT 4
+#define PDFFONT_FIXEDPITCH 1
+#define PDFFONT_SERIF 2
+#define PDFFONT_SYMBOLIC 4
+#define PDFFONT_SCRIPT 8
+#define PDFFONT_NONSYMBOLIC 32
+#define PDFFONT_ITALIC 64
+#define PDFFONT_ALLCAP 0x10000
+#define PDFFONT_SMALLCAP 0x20000
+#define PDFFONT_FORCEBOLD 0x40000
+#define PDFFONT_USEEXTERNATTR 0x80000
+class CPDF_Font {
+ public:
+  static CPDF_Font* CreateFontF(CPDF_Document* pDoc,
+                                CPDF_Dictionary* pFontDict);
+  static CPDF_Font* GetStockFont(CPDF_Document* pDoc,
+                                 const CFX_ByteStringC& fontname);
 
-    const CFX_SubstFont*       GetSubstFont() const
-    {
-        return m_Font.GetSubstFont();
-    }
+  virtual ~CPDF_Font();
 
-    FX_DWORD                           GetFlags() const
-    {
-        return m_Flags;
-    }
+  bool IsFontType(int fonttype) const { return fonttype == m_FontType; }
+  int GetFontType() const { return m_FontType; }
 
-    virtual FX_BOOL                    IsVertWriting()const;
+  CFX_ByteString GetFontTypeName() const;
 
+  const CFX_ByteString& GetBaseFont() const { return m_BaseFont; }
 
+  const CFX_SubstFont* GetSubstFont() const { return m_Font.GetSubstFont(); }
 
+  FX_DWORD GetFlags() const { return m_Flags; }
 
-    CPDF_Type1Font*                    GetType1Font() const
-    {
-        return m_FontType == PDFFONT_TYPE1 ? (CPDF_Type1Font*)(void*)this : NULL;
-    }
+  virtual FX_BOOL IsVertWriting() const;
 
-    CPDF_TrueTypeFont*         GetTrueTypeFont() const
-    {
-        return m_FontType == PDFFONT_TRUETYPE ? (CPDF_TrueTypeFont*)(void*)this : NULL;
-    }
+  CPDF_Type1Font* GetType1Font() const {
+    return m_FontType == PDFFONT_TYPE1 ? (CPDF_Type1Font*)(void*)this : NULL;
+  }
 
-    CPDF_CIDFont*                      GetCIDFont() const
-    {
-        return (m_FontType == PDFFONT_CIDFONT) ? (CPDF_CIDFont*)(void*)this : NULL;
-    }
+  CPDF_TrueTypeFont* GetTrueTypeFont() const {
+    return m_FontType == PDFFONT_TRUETYPE ? (CPDF_TrueTypeFont*)(void*)this
+                                          : NULL;
+  }
 
-    CPDF_Type3Font*                    GetType3Font() const
-    {
-        return (m_FontType == PDFFONT_TYPE3) ? (CPDF_Type3Font*)(void*)this : NULL;
-    }
+  CPDF_CIDFont* GetCIDFont() const {
+    return (m_FontType == PDFFONT_CIDFONT) ? (CPDF_CIDFont*)(void*)this : NULL;
+  }
 
+  CPDF_Type3Font* GetType3Font() const {
+    return (m_FontType == PDFFONT_TYPE3) ? (CPDF_Type3Font*)(void*)this : NULL;
+  }
 
-    FX_BOOL                                    IsEmbedded() const
-    {
-        return m_FontType == PDFFONT_TYPE3 || m_pFontFile != NULL;
-    }
+  FX_BOOL IsEmbedded() const {
+    return m_FontType == PDFFONT_TYPE3 || m_pFontFile != NULL;
+  }
 
-    virtual FX_BOOL                    IsUnicodeCompatible() const
-    {
-        return FALSE;
-    }
+  virtual FX_BOOL IsUnicodeCompatible() const { return FALSE; }
 
-    CPDF_StreamAcc*                    GetFontFile() const
-    {
-        return m_pFontFile;
-    }
+  CPDF_StreamAcc* GetFontFile() const { return m_pFontFile; }
 
-    CPDF_Dictionary*           GetFontDict() const
-    {
-        return m_pFontDict;
-    }
+  CPDF_Dictionary* GetFontDict() const { return m_pFontDict; }
 
-    FX_BOOL                                    IsStandardFont() const;
+  FX_BOOL IsStandardFont() const;
 
-    FXFT_Face                          GetFace() const
-    {
-        return m_Font.GetFace();
-    }
+  FXFT_Face GetFace() const { return m_Font.GetFace(); }
 
-    virtual FX_DWORD           GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const
-    {
-        if (offset < 0 || nStrLen < 1) {
-            return 0;
-        }
-        uint8_t ch = offset < nStrLen ? pString[offset++] : pString[nStrLen-1];
-        return static_cast<FX_DWORD>(ch);
+  virtual FX_DWORD GetNextChar(const FX_CHAR* pString,
+                               int nStrLen,
+                               int& offset) const {
+    if (offset < 0 || nStrLen < 1) {
+      return 0;
     }
+    uint8_t ch = offset < nStrLen ? pString[offset++] : pString[nStrLen - 1];
+    return static_cast<FX_DWORD>(ch);
+  }
 
-    virtual int                                CountChar(const FX_CHAR* pString, int size) const
-    {
-        return size;
-    }
+  virtual int CountChar(const FX_CHAR* pString, int size) const { return size; }
 
-    void                                       AppendChar(CFX_ByteString& str, FX_DWORD charcode) const;
+  void AppendChar(CFX_ByteString& str, FX_DWORD charcode) const;
 
-    virtual int                                AppendChar(FX_CHAR* buf, FX_DWORD charcode) const
-    {
-        *buf = (FX_CHAR)charcode;
-        return 1;
-    }
+  virtual int AppendChar(FX_CHAR* buf, FX_DWORD charcode) const {
+    *buf = (FX_CHAR)charcode;
+    return 1;
+  }
 
-    virtual int                                GetCharSize(FX_DWORD charcode) const
-    {
-        return 1;
-    }
+  virtual int GetCharSize(FX_DWORD charcode) const { return 1; }
 
+  virtual int GlyphFromCharCode(FX_DWORD charcode,
+                                FX_BOOL* pVertGlyph = NULL) = 0;
+  virtual int GlyphFromCharCodeExt(FX_DWORD charcode) {
+    return GlyphFromCharCode(charcode);
+  }
 
+  CFX_WideString UnicodeFromCharCode(FX_DWORD charcode) const;
 
+  FX_DWORD CharCodeFromUnicode(FX_WCHAR Unicode) const;
 
-    virtual int                                GlyphFromCharCode(FX_DWORD charcode, FX_BOOL *pVertGlyph = NULL) = 0;
-    virtual int                                GlyphFromCharCodeExt(FX_DWORD charcode)
-    {
-        return GlyphFromCharCode(charcode);
-    }
+  CFX_CharMap* GetCharMap() { return m_pCharMap; }
 
-    CFX_WideString                     UnicodeFromCharCode(FX_DWORD charcode) const;
+  CFX_ByteString EncodeString(const CFX_WideString& str) const;
 
-    FX_DWORD                           CharCodeFromUnicode(FX_WCHAR Unicode) const;
+  CFX_WideString DecodeString(const CFX_ByteString& str) const;
 
-    CFX_CharMap*                       GetCharMap()
-    {
-        return m_pCharMap;
-    }
+  void GetFontBBox(FX_RECT& rect) const { rect = m_FontBBox; }
 
-    CFX_ByteString                     EncodeString(const CFX_WideString& str) const;
+  int GetTypeAscent() const { return m_Ascent; }
 
-    CFX_WideString                     DecodeString(const CFX_ByteString& str) const;
+  int GetTypeDescent() const { return m_Descent; }
 
+  int GetItalicAngle() const { return m_ItalicAngle; }
 
+  int GetStemV() const { return m_StemV; }
 
+  int GetStringWidth(const FX_CHAR* pString, int size);
 
-    void                                       GetFontBBox(FX_RECT& rect) const
-    {
-        rect = m_FontBBox;
-    }
+  virtual int GetCharWidthF(FX_DWORD charcode, int level = 0) = 0;
 
-    int                                                GetTypeAscent() const
-    {
-        return m_Ascent;
-    }
-
-    int                                                GetTypeDescent() const
-    {
-        return m_Descent;
-    }
-
-    int                                                GetItalicAngle() const
-    {
-        return m_ItalicAngle;
-    }
-
-    int                                                GetStemV() const
-    {
-        return m_StemV;
-    }
+  virtual int GetCharTypeWidth(FX_DWORD charcode);
 
-    int                                                GetStringWidth(const FX_CHAR* pString, int size);
+  virtual void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) = 0;
 
-    virtual int                                GetCharWidthF(FX_DWORD charcode, int level = 0) = 0;
+  CPDF_Document* m_pDocument;
 
-    virtual int                                GetCharTypeWidth(FX_DWORD charcode);
+  class CFX_PathData* LoadGlyphPath(FX_DWORD charcode, int dest_width = 0);
 
-    virtual void                       GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) = 0;
+  CFX_Font m_Font;
 
+ protected:
+  explicit CPDF_Font(int fonttype);
 
+  FX_BOOL Initialize();
 
-    CPDF_Document*                     m_pDocument;
+  FX_BOOL Load();
 
-    class CFX_PathData*                LoadGlyphPath(FX_DWORD charcode, int dest_width = 0);
+  virtual FX_BOOL _Load() = 0;
 
-    CFX_Font                           m_Font;
+  virtual FX_WCHAR _UnicodeFromCharCode(FX_DWORD charcode) const = 0;
 
-protected:
-    explicit CPDF_Font(int fonttype);
+  virtual FX_DWORD _CharCodeFromUnicode(FX_WCHAR Unicode) const = 0;
 
-    FX_BOOL                                    Initialize();
+  void LoadUnicodeMap();
 
-    FX_BOOL                                    Load();
+  void LoadPDFEncoding(CPDF_Object* pEncoding,
+                       int& iBaseEncoding,
+                       CFX_ByteString*& pCharNames,
+                       FX_BOOL bEmbedded,
+                       FX_BOOL bTrueType);
 
-    virtual FX_BOOL                    _Load() = 0;
+  void LoadFontDescriptor(CPDF_Dictionary*);
 
-    virtual FX_WCHAR           _UnicodeFromCharCode(FX_DWORD charcode) const = 0;
+  void LoadCharWidths(FX_WORD* pWidths);
 
-    virtual FX_DWORD           _CharCodeFromUnicode(FX_WCHAR Unicode) const = 0;
+  void CheckFontMetrics();
 
-    void                                       LoadUnicodeMap();
+  CFX_CharMap* m_pCharMap;
 
-    void                                       LoadPDFEncoding(CPDF_Object* pEncoding, int& iBaseEncoding,
-                                            CFX_ByteString*& pCharNames, FX_BOOL bEmbedded, FX_BOOL bTrueType);
+  CFX_ByteString m_BaseFont;
 
-    void                                       LoadFontDescriptor(CPDF_Dictionary*);
+  CPDF_StreamAcc* m_pFontFile;
 
-    void                                       LoadCharWidths(FX_WORD* pWidths);
+  CPDF_Dictionary* m_pFontDict;
 
-    void                                       CheckFontMetrics();
+  CPDF_ToUnicodeMap* m_pToUnicodeMap;
 
-    CFX_CharMap*                       m_pCharMap;
+  FX_BOOL m_bToUnicodeLoaded;
 
+  int m_Flags;
 
+  FX_RECT m_FontBBox;
 
-    CFX_ByteString                     m_BaseFont;
+  int m_StemV;
 
-    CPDF_StreamAcc*                    m_pFontFile;
+  int m_Ascent;
 
-    CPDF_Dictionary*           m_pFontDict;
-
-    CPDF_ToUnicodeMap*         m_pToUnicodeMap;
-
-    FX_BOOL                                    m_bToUnicodeLoaded;
+  int m_Descent;
 
+  int m_ItalicAngle;
 
+ private:
+  const int m_FontType;
+};
+#define PDFFONT_ENCODING_BUILTIN 0
+#define PDFFONT_ENCODING_WINANSI 1
+#define PDFFONT_ENCODING_MACROMAN 2
+#define PDFFONT_ENCODING_MACEXPERT 3
+#define PDFFONT_ENCODING_STANDARD 4
+#define PDFFONT_ENCODING_ADOBE_SYMBOL 5
+#define PDFFONT_ENCODING_ZAPFDINGBATS 6
+#define PDFFONT_ENCODING_PDFDOC 7
+#define PDFFONT_ENCODING_MS_SYMBOL 8
+#define PDFFONT_ENCODING_UNICODE 9
+class CPDF_FontEncoding {
+ public:
+  CPDF_FontEncoding();
 
+  CPDF_FontEncoding(int PredefinedEncoding);
 
-    int                                                m_Flags;
+  void LoadEncoding(CPDF_Object* pEncoding);
 
-    FX_RECT                                    m_FontBBox;
+  FX_BOOL IsIdentical(CPDF_FontEncoding* pAnother) const;
 
-    int                                                m_StemV;
+  FX_WCHAR UnicodeFromCharCode(uint8_t charcode) const {
+    return m_Unicodes[charcode];
+  }
 
-    int                                                m_Ascent;
+  int CharCodeFromUnicode(FX_WCHAR unicode) const;
 
-    int                                                m_Descent;
+  void SetUnicode(uint8_t charcode, FX_WCHAR unicode) {
+    m_Unicodes[charcode] = unicode;
+  }
 
-    int                                                m_ItalicAngle;
+  CPDF_Object* Realize();
 
-private:
-    const int                          m_FontType;
+ public:
+  FX_WCHAR m_Unicodes[256];
 };
-#define PDFFONT_ENCODING_BUILTIN               0
-#define PDFFONT_ENCODING_WINANSI               1
-#define PDFFONT_ENCODING_MACROMAN              2
-#define PDFFONT_ENCODING_MACEXPERT             3
-#define PDFFONT_ENCODING_STANDARD              4
-#define PDFFONT_ENCODING_ADOBE_SYMBOL  5
-#define PDFFONT_ENCODING_ZAPFDINGBATS  6
-#define PDFFONT_ENCODING_PDFDOC                        7
-#define PDFFONT_ENCODING_MS_SYMBOL             8
-#define PDFFONT_ENCODING_UNICODE               9
-class CPDF_FontEncoding
-{
-public:
-
-    CPDF_FontEncoding();
-
-    CPDF_FontEncoding(int PredefinedEncoding);
-
-    void                                       LoadEncoding(CPDF_Object* pEncoding);
-
-    FX_BOOL                                    IsIdentical(CPDF_FontEncoding* pAnother) const;
-
-    FX_WCHAR                           UnicodeFromCharCode(uint8_t charcode) const
-    {
-        return m_Unicodes[charcode];
-    }
 
-    int                                                CharCodeFromUnicode(FX_WCHAR unicode) const;
+class CPDF_SimpleFont : public CPDF_Font {
+ public:
+  explicit CPDF_SimpleFont(int fonttype);
+  ~CPDF_SimpleFont() override;
 
-    void                                       SetUnicode(uint8_t charcode, FX_WCHAR unicode)
-    {
-        m_Unicodes[charcode] = unicode;
-    }
-
-    CPDF_Object*                       Realize();
-public:
+  CPDF_FontEncoding* GetEncoding() { return &m_Encoding; }
+  int GetCharWidthF(FX_DWORD charcode, int level = 0) override;
+  void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override;
+  int GlyphFromCharCode(FX_DWORD charcode, FX_BOOL* pVertGlyph = NULL) override;
+  FX_BOOL IsUnicodeCompatible() const override;
 
-    FX_WCHAR                           m_Unicodes[256];
-};
+ protected:
+  FX_BOOL LoadCommon();
 
-class CPDF_SimpleFont : public CPDF_Font
-{
-public:
-    explicit CPDF_SimpleFont(int fonttype);
-    ~CPDF_SimpleFont() override;
+  void LoadSubstFont();
 
-    CPDF_FontEncoding* GetEncoding()
-    {
-        return &m_Encoding;
-    }
-    int GetCharWidthF(FX_DWORD charcode, int level = 0) override;
-    void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override;
-    int GlyphFromCharCode(FX_DWORD charcode, FX_BOOL *pVertGlyph = NULL) override;
-    FX_BOOL IsUnicodeCompatible() const override;
+  void LoadFaceMetrics();
 
-protected:
-    FX_BOOL LoadCommon();
+  virtual void LoadGlyphMap() = 0;
 
-    void LoadSubstFont();
+  FX_WCHAR _UnicodeFromCharCode(FX_DWORD charcode) const override {
+    return m_Encoding.UnicodeFromCharCode((uint8_t)charcode);
+  }
 
-    void LoadFaceMetrics();
+  FX_DWORD _CharCodeFromUnicode(FX_WCHAR Unicode) const override {
+    return m_Encoding.CharCodeFromUnicode(Unicode);
+  }
 
-    virtual void LoadGlyphMap() = 0;
+  void LoadCharMetrics(int charcode);
 
-    FX_WCHAR _UnicodeFromCharCode(FX_DWORD charcode) const override
-    {
-        return m_Encoding.UnicodeFromCharCode((uint8_t)charcode);
-    }
-
-    FX_DWORD _CharCodeFromUnicode(FX_WCHAR Unicode) const override
-    {
-        return m_Encoding.CharCodeFromUnicode(Unicode);
-    }
-
-    void LoadCharMetrics(int charcode);
-
-    CPDF_FontEncoding m_Encoding;
-    FX_WORD m_GlyphIndex[256];
-    FX_WORD m_ExtGID[256];
-    CFX_ByteString* m_pCharNames;
-    int m_BaseEncoding;
-    FX_WORD m_CharWidth[256];
-    FX_SMALL_RECT m_CharBBox[256];
-    FX_BOOL m_bUseFontWidth;
+  CPDF_FontEncoding m_Encoding;
+  FX_WORD m_GlyphIndex[256];
+  FX_WORD m_ExtGID[256];
+  CFX_ByteString* m_pCharNames;
+  int m_BaseEncoding;
+  FX_WORD m_CharWidth[256];
+  FX_SMALL_RECT m_CharBBox[256];
+  FX_BOOL m_bUseFontWidth;
 };
 
-class CPDF_Type1Font : public CPDF_SimpleFont
-{
-public:
+class CPDF_Type1Font : public CPDF_SimpleFont {
+ public:
+  CPDF_Type1Font();
 
-    CPDF_Type1Font();
+  int GetBase14Font() { return m_Base14Font; }
+  virtual int GlyphFromCharCodeExt(FX_DWORD charcode);
 
-    int                                                GetBase14Font()
-    {
-        return m_Base14Font;
-    }
-    virtual int                                GlyphFromCharCodeExt(FX_DWORD charcode);
-protected:
-    virtual FX_BOOL                    _Load();
+ protected:
+  virtual FX_BOOL _Load();
 
-    int                                                m_Base14Font;
-    virtual void                       LoadGlyphMap();
-};
-class CPDF_TrueTypeFont : public CPDF_SimpleFont
-{
-public:
-
-    CPDF_TrueTypeFont();
-protected:
-    virtual FX_BOOL                    _Load();
-    virtual void                       LoadGlyphMap();
+  int m_Base14Font;
+  virtual void LoadGlyphMap();
 };
-class CPDF_Type3Char
-{
-public:
-
-    CPDF_Type3Char();
-
-    ~CPDF_Type3Char();
+class CPDF_TrueTypeFont : public CPDF_SimpleFont {
+ public:
+  CPDF_TrueTypeFont();
 
-    FX_BOOL LoadBitmap(CPDF_RenderContext* pContext);
-
-    FX_BOOL                                    m_bColored;
+ protected:
+  virtual FX_BOOL _Load();
+  virtual void LoadGlyphMap();
+};
+class CPDF_Type3Char {
+ public:
+  CPDF_Type3Char();
 
-    FX_BOOL                                    m_bPageRequired;
+  ~CPDF_Type3Char();
 
+  FX_BOOL LoadBitmap(CPDF_RenderContext* pContext);
 
+  FX_BOOL m_bColored;
 
-    CPDF_Form*                         m_pForm;
+  FX_BOOL m_bPageRequired;
 
-    CFX_AffineMatrix           m_ImageMatrix;
+  CPDF_Form* m_pForm;
 
-    CFX_DIBitmap*                      m_pBitmap;
+  CFX_AffineMatrix m_ImageMatrix;
 
+  CFX_DIBitmap* m_pBitmap;
 
-    int                                                m_Width;
+  int m_Width;
 
-    FX_RECT                                    m_BBox;
+  FX_RECT m_BBox;
 };
-class CPDF_Type3Font : public CPDF_SimpleFont
-{
-public:
-    CPDF_Type3Font();
-    ~CPDF_Type3Font() override;
-
-    void SetPageResources(CPDF_Dictionary* pResources)
-    {
-        m_pPageResources = pResources;
-    }
-    CPDF_Type3Char* LoadChar(FX_DWORD charcode, int level = 0);
-    int GetCharWidthF(FX_DWORD charcode, int level = 0) override;
-    int GetCharTypeWidth(FX_DWORD charcode) override
-    {
-        return GetCharWidthF(charcode);
-    }
-    void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override;
-    CFX_AffineMatrix& GetFontMatrix()
-    {
-        return m_FontMatrix;
-    }
-    void CheckType3FontMetrics();
-
-protected:
-    CFX_AffineMatrix m_FontMatrix;
-
-private:
-    FX_BOOL _Load() override;
-    void LoadGlyphMap() override {}
-
-    int m_CharWidthL[256];
-    CPDF_Dictionary* m_pCharProcs;
-    CPDF_Dictionary* m_pPageResources;
-    CPDF_Dictionary* m_pFontResources;
-    CFX_MapPtrToPtr m_CacheMap;
-    CFX_MapPtrToPtr m_DeletedMap;
+class CPDF_Type3Font : public CPDF_SimpleFont {
+ public:
+  CPDF_Type3Font();
+  ~CPDF_Type3Font() override;
+
+  void SetPageResources(CPDF_Dictionary* pResources) {
+    m_pPageResources = pResources;
+  }
+  CPDF_Type3Char* LoadChar(FX_DWORD charcode, int level = 0);
+  int GetCharWidthF(FX_DWORD charcode, int level = 0) override;
+  int GetCharTypeWidth(FX_DWORD charcode) override {
+    return GetCharWidthF(charcode);
+  }
+  void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override;
+  CFX_AffineMatrix& GetFontMatrix() { return m_FontMatrix; }
+  void CheckType3FontMetrics();
+
+ protected:
+  CFX_AffineMatrix m_FontMatrix;
+
+ private:
+  FX_BOOL _Load() override;
+  void LoadGlyphMap() override {}
+
+  int m_CharWidthL[256];
+  CPDF_Dictionary* m_pCharProcs;
+  CPDF_Dictionary* m_pPageResources;
+  CPDF_Dictionary* m_pFontResources;
+  CFX_MapPtrToPtr m_CacheMap;
+  CFX_MapPtrToPtr m_DeletedMap;
 };
 
-#define CIDSET_UNKNOWN         0
-#define CIDSET_GB1                     1
-#define CIDSET_CNS1                    2
-#define CIDSET_JAPAN1          3
-#define CIDSET_KOREA1          4
-#define CIDSET_UNICODE         5
-#define NUMBER_OF_CIDSETS   6
-
-class CPDF_CIDFont : public CPDF_Font
-{
-public:
-
-    CPDF_CIDFont();
-
-    ~CPDF_CIDFont() override;
-
-    FX_BOOL LoadGB2312();
-    int GlyphFromCharCode(FX_DWORD charcode, FX_BOOL *pVertGlyph = NULL) override;
-    int GetCharWidthF(FX_DWORD charcode, int level = 0) override;
-    void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override;
-    FX_WORD CIDFromCharCode(FX_DWORD charcode) const;
-
-    FX_BOOL IsTrueType() const
-    {
-        return !m_bType1;
-    }
-
-    virtual FX_DWORD GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const override;
-    int CountChar(const FX_CHAR* pString, int size) const override;
-    int AppendChar(FX_CHAR* str, FX_DWORD charcode) const override;
-    int GetCharSize(FX_DWORD charcode) const override;
-
-    int GetCharset() const
-    {
-        return m_Charset;
-    }
-
-    const uint8_t* GetCIDTransform(FX_WORD CID) const;
-    FX_BOOL IsVertWriting() const override;
-    short GetVertWidth(FX_WORD CID) const;
-    void GetVertOrigin(FX_WORD CID, short& vx, short& vy) const;
-    FX_BOOL IsUnicodeCompatible() const override;
-    virtual FX_BOOL IsFontStyleFromCharCode(FX_DWORD charcode) const;
-
-protected:
-    friend class CPDF_Font;
-
-    FX_BOOL _Load() override;
-    FX_WCHAR _UnicodeFromCharCode(FX_DWORD charcode) const override;
-    FX_DWORD _CharCodeFromUnicode(FX_WCHAR Unicode) const override;
-    int GetGlyphIndex(FX_DWORD unicodeb, FX_BOOL *pVertGlyph);
-    void LoadMetricsArray(CPDF_Array* pArray, CFX_DWordArray& result, int nElements);
-    void LoadSubstFont();
-
-    CPDF_CMap* m_pCMap;
-    CPDF_CMap* m_pAllocatedCMap;
-    CPDF_CID2UnicodeMap* m_pCID2UnicodeMap;
-    int m_Charset;
-    FX_BOOL m_bType1;
-    CPDF_StreamAcc* m_pCIDToGIDMap;
-    FX_BOOL m_bCIDIsGID;
-    FX_WORD m_DefaultWidth;
-    FX_WORD* m_pAnsiWidths;
-    FX_SMALL_RECT m_CharBBox[256];
-    CFX_DWordArray m_WidthList;
-    short m_DefaultVY;
-    short m_DefaultW1;
-    CFX_DWordArray m_VertMetrics;
-    FX_BOOL m_bAdobeCourierStd;
-    CFX_CTTGSUBTable* m_pTTGSUBTable;
+#define CIDSET_UNKNOWN 0
+#define CIDSET_GB1 1
+#define CIDSET_CNS1 2
+#define CIDSET_JAPAN1 3
+#define CIDSET_KOREA1 4
+#define CIDSET_UNICODE 5
+#define NUMBER_OF_CIDSETS 6
+
+class CPDF_CIDFont : public CPDF_Font {
+ public:
+  CPDF_CIDFont();
+
+  ~CPDF_CIDFont() override;
+
+  FX_BOOL LoadGB2312();
+  int GlyphFromCharCode(FX_DWORD charcode, FX_BOOL* pVertGlyph = NULL) override;
+  int GetCharWidthF(FX_DWORD charcode, int level = 0) override;
+  void GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) override;
+  FX_WORD CIDFromCharCode(FX_DWORD charcode) const;
+
+  FX_BOOL IsTrueType() const { return !m_bType1; }
+
+  virtual FX_DWORD GetNextChar(const FX_CHAR* pString,
+                               int nStrLen,
+                               int& offset) const override;
+  int CountChar(const FX_CHAR* pString, int size) const override;
+  int AppendChar(FX_CHAR* str, FX_DWORD charcode) const override;
+  int GetCharSize(FX_DWORD charcode) const override;
+
+  int GetCharset() const { return m_Charset; }
+
+  const uint8_t* GetCIDTransform(FX_WORD CID) const;
+  FX_BOOL IsVertWriting() const override;
+  short GetVertWidth(FX_WORD CID) const;
+  void GetVertOrigin(FX_WORD CID, short& vx, short& vy) const;
+  FX_BOOL IsUnicodeCompatible() const override;
+  virtual FX_BOOL IsFontStyleFromCharCode(FX_DWORD charcode) const;
+
+ protected:
+  friend class CPDF_Font;
+
+  FX_BOOL _Load() override;
+  FX_WCHAR _UnicodeFromCharCode(FX_DWORD charcode) const override;
+  FX_DWORD _CharCodeFromUnicode(FX_WCHAR Unicode) const override;
+  int GetGlyphIndex(FX_DWORD unicodeb, FX_BOOL* pVertGlyph);
+  void LoadMetricsArray(CPDF_Array* pArray,
+                        CFX_DWordArray& result,
+                        int nElements);
+  void LoadSubstFont();
+
+  CPDF_CMap* m_pCMap;
+  CPDF_CMap* m_pAllocatedCMap;
+  CPDF_CID2UnicodeMap* m_pCID2UnicodeMap;
+  int m_Charset;
+  FX_BOOL m_bType1;
+  CPDF_StreamAcc* m_pCIDToGIDMap;
+  FX_BOOL m_bCIDIsGID;
+  FX_WORD m_DefaultWidth;
+  FX_WORD* m_pAnsiWidths;
+  FX_SMALL_RECT m_CharBBox[256];
+  CFX_DWordArray m_WidthList;
+  short m_DefaultVY;
+  short m_DefaultW1;
+  CFX_DWordArray m_VertMetrics;
+  FX_BOOL m_bAdobeCourierStd;
+  CFX_CTTGSUBTable* m_pTTGSUBTable;
 };
 
-#define PDFCS_DEVICEGRAY        1
-#define PDFCS_DEVICERGB         2
-#define PDFCS_DEVICECMYK        3
-#define PDFCS_CALGRAY           4
-#define PDFCS_CALRGB            5
-#define PDFCS_LAB               6
-#define PDFCS_ICCBASED          7
-#define PDFCS_SEPARATION        8
-#define PDFCS_DEVICEN           9
-#define PDFCS_INDEXED           10
-#define PDFCS_PATTERN           11
-
-class CPDF_ColorSpace
-{
-public:
-
-    static CPDF_ColorSpace* GetStockCS(int Family);
-
-    static CPDF_ColorSpace*    Load(CPDF_Document* pDoc, CPDF_Object* pCSObj);
-
-    void                                       ReleaseCS();
-
-    int                                                GetBufSize() const;
-
-    FX_FLOAT*                  CreateBuf();
-
-    void                                       GetDefaultColor(FX_FLOAT* buf) const;
-
-    int                                                CountComponents() const
-    {
-        return m_nComponents;
-    }
-
-    int                                                GetFamily() const
-    {
-        return m_Family;
-    }
-
-    virtual void                       GetDefaultValue(int iComponent, FX_FLOAT& value, FX_FLOAT& min, FX_FLOAT& max) const
-    {
-        value = 0;
-        min = 0;
-        max = 1.0f;
-    }
-
-    FX_BOOL                                    sRGB() const;
-
-
-
-    virtual FX_BOOL                    GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX_FLOAT& B) const = 0;
-
-    virtual FX_BOOL                    SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_FLOAT B) const
-    {
-        return FALSE;
-    }
-
-
-
-
-    FX_BOOL                                    GetCMYK(FX_FLOAT* pBuf, FX_FLOAT& c, FX_FLOAT& m, FX_FLOAT& y, FX_FLOAT& k) const;
-
-    FX_BOOL                                    SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k) const;
-
-
-    virtual void                       TranslateImageLine(uint8_t* dest_buf, const uint8_t* src_buf, int pixels,
-            int image_width, int image_height, FX_BOOL bTransMask = FALSE) const;
-
-    CPDF_Array*&                       GetArray()
-    {
-        return m_pArray;
-    }
-
-    int                                                GetMaxIndex() const;
-
-    virtual CPDF_ColorSpace*   GetBaseCS() const
-    {
-        return NULL;
-    }
-
-    virtual void                       EnableStdConversion(FX_BOOL bEnabled);
-
-    CPDF_Document* const m_pDocument;
-
-protected:
-    CPDF_ColorSpace(CPDF_Document* pDoc, int family, int nComponents)
-        : m_pDocument(pDoc),
-          m_Family(family),
-          m_nComponents(nComponents),
-          m_pArray(nullptr),
-          m_dwStdConversion(0) {
-    }
-    virtual ~CPDF_ColorSpace() {}
-    virtual FX_BOOL                    v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
-    {
-        return TRUE;
-    }
-    virtual FX_BOOL                    v_GetCMYK(FX_FLOAT* pBuf, FX_FLOAT& c, FX_FLOAT& m, FX_FLOAT& y, FX_FLOAT& k) const
-    {
-        return FALSE;
-    }
-    virtual FX_BOOL                    v_SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m, FX_FLOAT y, FX_FLOAT k) const
-    {
-        return FALSE;
-    }
-
-    int                                                m_Family;
-
-    int                                                m_nComponents;
-
-    CPDF_Array*                                m_pArray;
-
-    FX_DWORD                           m_dwStdConversion;
+#define PDFCS_DEVICEGRAY 1
+#define PDFCS_DEVICERGB 2
+#define PDFCS_DEVICECMYK 3
+#define PDFCS_CALGRAY 4
+#define PDFCS_CALRGB 5
+#define PDFCS_LAB 6
+#define PDFCS_ICCBASED 7
+#define PDFCS_SEPARATION 8
+#define PDFCS_DEVICEN 9
+#define PDFCS_INDEXED 10
+#define PDFCS_PATTERN 11
+
+class CPDF_ColorSpace {
+ public:
+  static CPDF_ColorSpace* GetStockCS(int Family);
+
+  static CPDF_ColorSpace* Load(CPDF_Document* pDoc, CPDF_Object* pCSObj);
+
+  void ReleaseCS();
+
+  int GetBufSize() const;
+
+  FX_FLOAT* CreateBuf();
+
+  void GetDefaultColor(FX_FLOAT* buf) const;
+
+  int CountComponents() const { return m_nComponents; }
+
+  int GetFamily() const { return m_Family; }
+
+  virtual void GetDefaultValue(int iComponent,
+                               FX_FLOAT& value,
+                               FX_FLOAT& min,
+                               FX_FLOAT& max) const {
+    value = 0;
+    min = 0;
+    max = 1.0f;
+  }
+
+  FX_BOOL sRGB() const;
+
+  virtual FX_BOOL GetRGB(FX_FLOAT* pBuf,
+                         FX_FLOAT& R,
+                         FX_FLOAT& G,
+                         FX_FLOAT& B) const = 0;
+
+  virtual FX_BOOL SetRGB(FX_FLOAT* pBuf,
+                         FX_FLOAT R,
+                         FX_FLOAT G,
+                         FX_FLOAT B) const {
+    return FALSE;
+  }
+
+  FX_BOOL GetCMYK(FX_FLOAT* pBuf,
+                  FX_FLOAT& c,
+                  FX_FLOAT& m,
+                  FX_FLOAT& y,
+                  FX_FLOAT& k) const;
+
+  FX_BOOL SetCMYK(FX_FLOAT* pBuf,
+                  FX_FLOAT c,
+                  FX_FLOAT m,
+                  FX_FLOAT y,
+                  FX_FLOAT k) const;
+
+  virtual void TranslateImageLine(uint8_t* dest_buf,
+                                  const uint8_t* src_buf,
+                                  int pixels,
+                                  int image_width,
+                                  int image_height,
+                                  FX_BOOL bTransMask = FALSE) const;
+
+  CPDF_Array*& GetArray() { return m_pArray; }
+
+  int GetMaxIndex() const;
+
+  virtual CPDF_ColorSpace* GetBaseCS() const { return NULL; }
+
+  virtual void EnableStdConversion(FX_BOOL bEnabled);
+
+  CPDF_Document* const m_pDocument;
+
+ protected:
+  CPDF_ColorSpace(CPDF_Document* pDoc, int family, int nComponents)
+      : m_pDocument(pDoc),
+        m_Family(family),
+        m_nComponents(nComponents),
+        m_pArray(nullptr),
+        m_dwStdConversion(0) {}
+  virtual ~CPDF_ColorSpace() {}
+  virtual FX_BOOL v_Load(CPDF_Document* pDoc, CPDF_Array* pArray) {
+    return TRUE;
+  }
+  virtual FX_BOOL v_GetCMYK(FX_FLOAT* pBuf,
+                            FX_FLOAT& c,
+                            FX_FLOAT& m,
+                            FX_FLOAT& y,
+                            FX_FLOAT& k) const {
+    return FALSE;
+  }
+  virtual FX_BOOL v_SetCMYK(FX_FLOAT* pBuf,
+                            FX_FLOAT c,
+                            FX_FLOAT m,
+                            FX_FLOAT y,
+                            FX_FLOAT k) const {
+    return FALSE;
+  }
+
+  int m_Family;
+
+  int m_nComponents;
+
+  CPDF_Array* m_pArray;
+
+  FX_DWORD m_dwStdConversion;
 };
-class CPDF_Color
-{
-public:
+class CPDF_Color {
+ public:
+  CPDF_Color() : m_pCS(NULL), m_pBuffer(NULL) {}
 
-    CPDF_Color() :m_pCS(NULL), m_pBuffer(NULL)
-    {
-    }
+  CPDF_Color(int family);
 
-    CPDF_Color(int family);
+  ~CPDF_Color();
 
-    ~CPDF_Color();
+  FX_BOOL IsNull() const { return m_pBuffer == NULL; }
 
-    FX_BOOL                                    IsNull() const
-    {
-        return m_pBuffer == NULL;
-    }
+  FX_BOOL IsEqual(const CPDF_Color& other) const;
 
-    FX_BOOL                                    IsEqual(const CPDF_Color& other) const;
+  FX_BOOL IsPattern() const {
+    return m_pCS && m_pCS->GetFamily() == PDFCS_PATTERN;
+  }
 
-    FX_BOOL                                    IsPattern() const
-    {
-        return m_pCS && m_pCS->GetFamily() == PDFCS_PATTERN;
-    }
+  void Copy(const CPDF_Color* pSrc);
 
-    void                                       Copy(const CPDF_Color* pSrc);
+  void SetColorSpace(CPDF_ColorSpace* pCS);
 
-    void                                       SetColorSpace(CPDF_ColorSpace* pCS);
+  void SetValue(FX_FLOAT* comp);
 
-    void                                       SetValue(FX_FLOAT* comp);
+  void SetValue(CPDF_Pattern* pPattern, FX_FLOAT* comp, int ncomps);
 
-    void                                       SetValue(CPDF_Pattern* pPattern, FX_FLOAT* comp, int ncomps);
+  FX_BOOL GetRGB(int& R, int& G, int& B) const;
 
-    FX_BOOL                                    GetRGB(int& R, int& G, int& B) const;
+  CPDF_Pattern* GetPattern() const;
 
-    CPDF_Pattern*                      GetPattern() const;
+  CPDF_ColorSpace* GetPatternCS() const;
 
-    CPDF_ColorSpace*           GetPatternCS() const;
+  FX_FLOAT* GetPatternColor() const;
 
-    FX_FLOAT*                  GetPatternColor() const;
+  CPDF_ColorSpace* m_pCS;
 
-    CPDF_ColorSpace*           m_pCS;
-
-protected:
-    void       ReleaseBuffer();
-    void       ReleaseColorSpace();
-    FX_FLOAT*                      m_pBuffer;
+ protected:
+  void ReleaseBuffer();
+  void ReleaseColorSpace();
+  FX_FLOAT* m_pBuffer;
 };
-#define PATTERN_TILING         1
-#define PATTERN_SHADING                2
-class CPDF_Pattern
-{
-public:
-
-    virtual ~CPDF_Pattern();
-    void    SetForceClear(FX_BOOL bForceClear) { m_bForceClear = bForceClear; }
+#define PATTERN_TILING 1
+#define PATTERN_SHADING 2
+class CPDF_Pattern {
+ public:
+  virtual ~CPDF_Pattern();
+  void SetForceClear(FX_BOOL bForceClear) { m_bForceClear = bForceClear; }
 
-    CPDF_Object*                m_pPatternObj;
+  CPDF_Object* m_pPatternObj;
 
-    int                         m_PatternType;
+  int m_PatternType;
 
-    CFX_AffineMatrix            m_Pattern2Form;
-    CFX_AffineMatrix            m_ParentMatrix;
+  CFX_AffineMatrix m_Pattern2Form;
+  CFX_AffineMatrix m_ParentMatrix;
 
-    CPDF_Document*              m_pDocument;
+  CPDF_Document* m_pDocument;
 
-protected:
-    CPDF_Pattern(const CFX_AffineMatrix* pParentMatrix);
-    FX_BOOL     m_bForceClear;
+ protected:
+  CPDF_Pattern(const CFX_AffineMatrix* pParentMatrix);
+  FX_BOOL m_bForceClear;
 };
 
-class CPDF_TilingPattern : public CPDF_Pattern
-{
-public:
-
-    CPDF_TilingPattern(CPDF_Document* pDoc, CPDF_Object* pPatternObj, const CFX_AffineMatrix* parentMatrix);
-
-    virtual ~CPDF_TilingPattern();
-
-    FX_BOOL                            Load();
-
+class CPDF_TilingPattern : public CPDF_Pattern {
+ public:
+  CPDF_TilingPattern(CPDF_Document* pDoc,
+                     CPDF_Object* pPatternObj,
+                     const CFX_AffineMatrix* parentMatrix);
 
+  virtual ~CPDF_TilingPattern();
 
-    FX_BOOL                            m_bColored;
+  FX_BOOL Load();
 
-    CFX_FloatRect              m_BBox;
+  FX_BOOL m_bColored;
 
-    FX_FLOAT                   m_XStep;
+  CFX_FloatRect m_BBox;
 
-    FX_FLOAT                   m_YStep;
+  FX_FLOAT m_XStep;
 
+  FX_FLOAT m_YStep;
 
-
-    CPDF_Form*                 m_pForm;
+  CPDF_Form* m_pForm;
 };
-class CPDF_ShadingPattern : public CPDF_Pattern
-{
-public:
+class CPDF_ShadingPattern : public CPDF_Pattern {
+ public:
+  CPDF_ShadingPattern(CPDF_Document* pDoc,
+                      CPDF_Object* pPatternObj,
+                      FX_BOOL bShading,
+                      const CFX_AffineMatrix* parentMatrix);
 
-    CPDF_ShadingPattern(CPDF_Document* pDoc, CPDF_Object* pPatternObj, FX_BOOL bShading, const CFX_AffineMatrix* parentMatrix);
+  virtual ~CPDF_ShadingPattern();
 
-    virtual ~CPDF_ShadingPattern();
+  CPDF_Object* m_pShadingObj;
 
-    CPDF_Object*               m_pShadingObj;
+  FX_BOOL m_bShadingObj;
 
-    FX_BOOL                            m_bShadingObj;
+  FX_BOOL Load();
 
-    FX_BOOL                            Load();
+  FX_BOOL Reload();
 
-    FX_BOOL                            Reload();
+  int m_ShadingType;
 
-    int                                        m_ShadingType;
+  CPDF_ColorSpace* m_pCS;  // Still keep m_pCS as some CPDF_ColorSpace (name
+                           // object) are not managed as counted objects. Refer
+                           // to CPDF_DocPageData::GetColorSpace.
 
-    CPDF_ColorSpace*   m_pCS; // Still keep m_pCS as some CPDF_ColorSpace (name object) are not managed as counted objects. Refer to CPDF_DocPageData::GetColorSpace.
+  CPDF_CountedColorSpace* m_pCountedCS;
 
-    CPDF_CountedColorSpace*    m_pCountedCS;
+  CPDF_Function* m_pFunctions[4];
 
-    CPDF_Function*             m_pFunctions[4];
+  int m_nFuncs;
 
-    int                                        m_nFuncs;
-protected:
-    void       Clear();
+ protected:
+  void Clear();
 };
 struct CPDF_MeshVertex {
-    FX_FLOAT x, y;
-    FX_FLOAT r, g, b;
+  FX_FLOAT x, y;
+  FX_FLOAT r, g, b;
 };
-class CPDF_MeshStream
-{
-public:
-
-    FX_BOOL                            Load(CPDF_Stream* pShadingStream, CPDF_Function** pFuncs, int nFuncs, CPDF_ColorSpace* pCS);
-
-    FX_DWORD                   GetFlag();
-
-    void                               GetCoords(FX_FLOAT& x, FX_FLOAT& y);
-
-    void                               GetColor(FX_FLOAT& r, FX_FLOAT& g, FX_FLOAT& b);
-
-    FX_DWORD                   GetVertex(CPDF_MeshVertex& vertex, CFX_AffineMatrix* pObject2Bitmap);
-
-    FX_BOOL                            GetVertexRow(CPDF_MeshVertex* vertex, int count, CFX_AffineMatrix* pObject2Bitmap);
-    CPDF_Function**    m_pFuncs;
-    CPDF_ColorSpace*   m_pCS;
-    FX_DWORD                   m_nFuncs, m_nCoordBits, m_nCompBits, m_nFlagBits, m_nComps;
-    FX_DWORD                   m_CoordMax, m_CompMax;
-    FX_FLOAT                   m_xmin, m_xmax, m_ymin, m_ymax;
-    FX_FLOAT                   m_ColorMin[8], m_ColorMax[8];
-    CPDF_StreamAcc             m_Stream;
-    CFX_BitStream              m_BitStream;
+class CPDF_MeshStream {
+ public:
+  FX_BOOL Load(CPDF_Stream* pShadingStream,
+               CPDF_Function** pFuncs,
+               int nFuncs,
+               CPDF_ColorSpace* pCS);
+
+  FX_DWORD GetFlag();
+
+  void GetCoords(FX_FLOAT& x, FX_FLOAT& y);
+
+  void GetColor(FX_FLOAT& r, FX_FLOAT& g, FX_FLOAT& b);
+
+  FX_DWORD GetVertex(CPDF_MeshVertex& vertex, CFX_AffineMatrix* pObject2Bitmap);
+
+  FX_BOOL GetVertexRow(CPDF_MeshVertex* vertex,
+                       int count,
+                       CFX_AffineMatrix* pObject2Bitmap);
+  CPDF_Function** m_pFuncs;
+  CPDF_ColorSpace* m_pCS;
+  FX_DWORD m_nFuncs, m_nCoordBits, m_nCompBits, m_nFlagBits, m_nComps;
+  FX_DWORD m_CoordMax, m_CompMax;
+  FX_FLOAT m_xmin, m_xmax, m_ymin, m_ymax;
+  FX_FLOAT m_ColorMin[8], m_ColorMax[8];
+  CPDF_StreamAcc m_Stream;
+  CFX_BitStream m_BitStream;
 };
-#define PDF_IMAGE_NO_COMPRESS                          0x0000
-#define PDF_IMAGE_LOSSY_COMPRESS                       0x0001
-#define PDF_IMAGE_LOSSLESS_COMPRESS                    0x0002
-#define PDF_IMAGE_MASK_LOSSY_COMPRESS          0x0004
-#define PDF_IMAGE_MASK_LOSSLESS_COMPRESS       0x0008
-class CPDF_ImageSetParam
-{
-public:
-    CPDF_ImageSetParam()
-        : pMatteColor(NULL)
-        , nQuality(80)
-    {
-    }
-    FX_ARGB* pMatteColor;
-    int32_t nQuality;
+#define PDF_IMAGE_NO_COMPRESS 0x0000
+#define PDF_IMAGE_LOSSY_COMPRESS 0x0001
+#define PDF_IMAGE_LOSSLESS_COMPRESS 0x0002
+#define PDF_IMAGE_MASK_LOSSY_COMPRESS 0x0004
+#define PDF_IMAGE_MASK_LOSSLESS_COMPRESS 0x0008
+class CPDF_ImageSetParam {
+ public:
+  CPDF_ImageSetParam() : pMatteColor(NULL), nQuality(80) {}
+  FX_ARGB* pMatteColor;
+  int32_t nQuality;
 };
-class CPDF_Image
-{
-public:
+class CPDF_Image {
+ public:
+  CPDF_Image(CPDF_Document* pDoc);
 
-    CPDF_Image(CPDF_Document* pDoc);
+  ~CPDF_Image();
 
-    ~CPDF_Image();
+  FX_BOOL LoadImageF(CPDF_Stream* pImageStream, FX_BOOL bInline);
 
-    FX_BOOL                                    LoadImageF(CPDF_Stream* pImageStream, FX_BOOL bInline);
+  void Release();
 
-    void                                       Release();
+  CPDF_Image* Clone();
 
-    CPDF_Image*                                Clone();
+  FX_BOOL IsInline() { return m_bInline; }
 
-    FX_BOOL                                    IsInline()
-    {
-        return m_bInline;
-    }
+  void SetInlineDict(CPDF_Dictionary* pDict) { m_pInlineDict = pDict; }
 
-    void                                       SetInlineDict(CPDF_Dictionary* pDict)
-    {
-        m_pInlineDict = pDict;
-    }
+  CPDF_Dictionary* GetInlineDict() const { return m_pInlineDict; }
 
-    CPDF_Dictionary*           GetInlineDict() const
-    {
-        return m_pInlineDict;
-    }
+  CPDF_Stream* GetStream() const { return m_pStream; }
 
-    CPDF_Stream*                       GetStream() const
-    {
-        return m_pStream;
-    }
+  CPDF_Dictionary* GetDict() const {
+    return m_pStream ? m_pStream->GetDict() : NULL;
+  }
 
-    CPDF_Dictionary*           GetDict() const
-    {
-        return m_pStream? m_pStream->GetDict(): NULL;
-    }
-
-    CPDF_Dictionary*           GetOC() const
-    {
-        return m_pOC;
-    }
-
-    CPDF_Document*                     GetDocument() const
-    {
-        return m_pDocument;
-    }
+  CPDF_Dictionary* GetOC() const { return m_pOC; }
 
+  CPDF_Document* GetDocument() const { return m_pDocument; }
 
+  int32_t GetPixelHeight() const { return m_Height; }
 
-    int32_t                            GetPixelHeight() const
-    {
-        return m_Height;
-    }
-
-    int32_t                            GetPixelWidth() const
-    {
-        return m_Width;
-    }
-
-
-    FX_BOOL                                    IsMask() const
-    {
-        return m_bIsMask;
-    }
-
-    FX_BOOL                                    IsInterpol() const
-    {
-        return m_bInterpolate;
-    }
+  int32_t GetPixelWidth() const { return m_Width; }
 
-    CFX_DIBSource*                     LoadDIBSource(CFX_DIBSource** ppMask = NULL, FX_DWORD* pMatteColor = NULL, FX_BOOL bStdCS = FALSE, FX_DWORD GroupFamily = 0, FX_BOOL bLoadMask = FALSE) const;
+  FX_BOOL IsMask() const { return m_bIsMask; }
 
+  FX_BOOL IsInterpol() const { return m_bInterpolate; }
 
+  CFX_DIBSource* LoadDIBSource(CFX_DIBSource** ppMask = NULL,
+                               FX_DWORD* pMatteColor = NULL,
+                               FX_BOOL bStdCS = FALSE,
+                               FX_DWORD GroupFamily = 0,
+                               FX_BOOL bLoadMask = FALSE) const;
 
-    void                                       SetImage(const CFX_DIBitmap* pDIBitmap, int32_t iCompress, IFX_FileWrite *pFileWrite = NULL, IFX_FileRead *pFileRead = NULL, const CFX_DIBitmap* pMask = NULL, const CPDF_ImageSetParam* pParam = NULL);
+  void SetImage(const CFX_DIBitmap* pDIBitmap,
+                int32_t iCompress,
+                IFX_FileWrite* pFileWrite = NULL,
+                IFX_FileRead* pFileRead = NULL,
+                const CFX_DIBitmap* pMask = NULL,
+                const CPDF_ImageSetParam* pParam = NULL);
 
-    void                                       SetJpegImage(uint8_t* pImageData, FX_DWORD size);
+  void SetJpegImage(uint8_t* pImageData, FX_DWORD size);
 
-    void                                       SetJpegImage(IFX_FileRead *pFile);
+  void SetJpegImage(IFX_FileRead* pFile);
 
-    void                                       ResetCache(CPDF_Page* pPage, const CFX_DIBitmap* pDIBitmap);
+  void ResetCache(CPDF_Page* pPage, const CFX_DIBitmap* pDIBitmap);
 
-public:
-    FX_BOOL                                    StartLoadDIBSource(CPDF_Dictionary* pFormResource, CPDF_Dictionary* pPageResource, FX_BOOL bStdCS = FALSE, FX_DWORD GroupFamily = 0, FX_BOOL bLoadMask = FALSE);
-    FX_BOOL                                    Continue(IFX_Pause* pPause);
-    CFX_DIBSource*                     DetachBitmap();
-    CFX_DIBSource*                     DetachMask();
-    CFX_DIBSource*                     m_pDIBSource;
-    CFX_DIBSource*                     m_pMask;
-    FX_DWORD                           m_MatteColor;
-private:
+ public:
+  FX_BOOL StartLoadDIBSource(CPDF_Dictionary* pFormResource,
+                             CPDF_Dictionary* pPageResource,
+                             FX_BOOL bStdCS = FALSE,
+                             FX_DWORD GroupFamily = 0,
+                             FX_BOOL bLoadMask = FALSE);
+  FX_BOOL Continue(IFX_Pause* pPause);
+  CFX_DIBSource* DetachBitmap();
+  CFX_DIBSource* DetachMask();
+  CFX_DIBSource* m_pDIBSource;
+  CFX_DIBSource* m_pMask;
+  FX_DWORD m_MatteColor;
 
-    CPDF_Stream*                       m_pStream;
-    FX_BOOL                                    m_bInline;
-    CPDF_Dictionary*           m_pInlineDict;
+ private:
+  CPDF_Stream* m_pStream;
+  FX_BOOL m_bInline;
+  CPDF_Dictionary* m_pInlineDict;
 
-    int32_t                            m_Height;
+  int32_t m_Height;
 
-    int32_t                            m_Width;
+  int32_t m_Width;
 
-    FX_BOOL                                    m_bIsMask;
+  FX_BOOL m_bIsMask;
 
-    FX_BOOL                                    m_bInterpolate;
+  FX_BOOL m_bInterpolate;
 
-    CPDF_Document*                     m_pDocument;
+  CPDF_Document* m_pDocument;
 
-    CPDF_Dictionary*           m_pOC;
-    CPDF_Dictionary*   InitJPEG(uint8_t* pData, FX_DWORD size);
+  CPDF_Dictionary* m_pOC;
+  CPDF_Dictionary* InitJPEG(uint8_t* pData, FX_DWORD size);
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_RESOURCE_H_
index cccb3ab..7197e0d 100644 (file)
 
 class CPDF_ObjectStream;
 class CPDF_XRefStream;
-CFX_ByteTextBuf& operator << (CFX_ByteTextBuf& buf, const CPDF_Object* pObj);
-#define FPDFCREATE_INCREMENTAL         1
-#define FPDFCREATE_NO_ORIGINAL         2
-#define FPDFCREATE_PROGRESSIVE         4
-#define FPDFCREATE_OBJECTSTREAM                8
-class CPDF_Creator
-{
-public:
+CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj);
+#define FPDFCREATE_INCREMENTAL 1
+#define FPDFCREATE_NO_ORIGINAL 2
+#define FPDFCREATE_PROGRESSIVE 4
+#define FPDFCREATE_OBJECTSTREAM 8
+class CPDF_Creator {
+ public:
+  CPDF_Creator(CPDF_Document* pDoc);
 
-    CPDF_Creator(CPDF_Document* pDoc);
+  ~CPDF_Creator();
 
-    ~CPDF_Creator();
+  void RemoveSecurity();
 
-    void                               RemoveSecurity();
+  FX_BOOL Create(const FX_WCHAR* filename, FX_DWORD flags = 0);
 
-    FX_BOOL                            Create(const FX_WCHAR* filename, FX_DWORD flags = 0);
+  FX_BOOL Create(const FX_CHAR* filename, FX_DWORD flags = 0);
 
-    FX_BOOL                            Create(const FX_CHAR* filename, FX_DWORD flags = 0);
+  FX_BOOL Create(IFX_StreamWrite* pFile, FX_DWORD flags = 0);
 
-    FX_BOOL                            Create(IFX_StreamWrite* pFile, FX_DWORD flags = 0);
+  int32_t Continue(IFX_Pause* pPause = NULL);
 
-    int32_t                    Continue(IFX_Pause *pPause = NULL);
+  FX_BOOL SetFileVersion(int32_t fileVersion = 17);
 
-    FX_BOOL                            SetFileVersion(int32_t fileVersion = 17);
-protected:
+ protected:
+  CPDF_Document* m_pDocument;
 
-    CPDF_Document*             m_pDocument;
+  CPDF_Parser* m_pParser;
 
-    CPDF_Parser*               m_pParser;
+  FX_BOOL m_bCompress;
 
-    FX_BOOL                            m_bCompress;
+  FX_BOOL m_bSecurityChanged;
 
-    FX_BOOL                            m_bSecurityChanged;
+  CPDF_Dictionary* m_pEncryptDict;
+  FX_DWORD m_dwEnryptObjNum;
+  FX_BOOL m_bEncryptCloned;
 
-    CPDF_Dictionary*   m_pEncryptDict;
-    FX_DWORD                   m_dwEnryptObjNum;
-    FX_BOOL                            m_bEncryptCloned;
+  FX_BOOL m_bStandardSecurity;
 
-    FX_BOOL                            m_bStandardSecurity;
+  CPDF_CryptoHandler* m_pCryptoHandler;
+  FX_BOOL m_bNewCrypto;
 
-    CPDF_CryptoHandler*        m_pCryptoHandler;
-    FX_BOOL                            m_bNewCrypto;
+  FX_BOOL m_bEncryptMetadata;
 
-    FX_BOOL                            m_bEncryptMetadata;
+  CPDF_Object* m_pMetadata;
 
-    CPDF_Object*               m_pMetadata;
+  CPDF_XRefStream* m_pXRefStream;
 
-    CPDF_XRefStream*   m_pXRefStream;
+  int32_t m_ObjectStreamSize;
 
-    int32_t                    m_ObjectStreamSize;
+  FX_DWORD m_dwLastObjNum;
+  FX_BOOL Create(FX_DWORD flags);
+  void ResetStandardSecurity();
+  void Clear();
+  int32_t WriteDoc_Stage1(IFX_Pause* pPause);
+  int32_t WriteDoc_Stage2(IFX_Pause* pPause);
+  int32_t WriteDoc_Stage3(IFX_Pause* pPause);
+  int32_t WriteDoc_Stage4(IFX_Pause* pPause);
 
-    FX_DWORD                   m_dwLastObjNum;
-    FX_BOOL                            Create(FX_DWORD flags);
-    void                               ResetStandardSecurity();
-    void                               Clear();
-    int32_t                    WriteDoc_Stage1(IFX_Pause *pPause);
-    int32_t                    WriteDoc_Stage2(IFX_Pause *pPause);
-    int32_t                    WriteDoc_Stage3(IFX_Pause *pPause);
-    int32_t                    WriteDoc_Stage4(IFX_Pause *pPause);
+  CFX_FileBufferArchive m_File;
 
-    CFX_FileBufferArchive      m_File;
+  FX_FILESIZE m_Offset;
+  void InitOldObjNumOffsets();
+  void InitNewObjNumOffsets();
+  void AppendNewObjNum(FX_DWORD objbum);
+  int32_t WriteOldIndirectObject(FX_DWORD objnum);
+  int32_t WriteOldObjs(IFX_Pause* pPause);
+  int32_t WriteNewObjs(FX_BOOL bIncremental, IFX_Pause* pPause);
+  int32_t WriteIndirectObj(const CPDF_Object* pObj);
+  int32_t WriteDirectObj(FX_DWORD objnum,
+                         const CPDF_Object* pObj,
+                         FX_BOOL bEncrypt = TRUE);
+  int32_t WriteIndirectObjectToStream(const CPDF_Object* pObj);
+  int32_t WriteIndirectObj(FX_DWORD objnum, const CPDF_Object* pObj);
+  int32_t WriteIndirectObjectToStream(FX_DWORD objnum,
+                                      const uint8_t* pBuffer,
+                                      FX_DWORD dwSize);
+  int32_t AppendObjectNumberToXRef(FX_DWORD objnum);
+  void InitID(FX_BOOL bDefault = TRUE);
+  int32_t WriteStream(const CPDF_Object* pStream,
+                      FX_DWORD objnum,
+                      CPDF_CryptoHandler* pCrypto);
 
-    FX_FILESIZE                        m_Offset;
-    void                               InitOldObjNumOffsets();
-    void                               InitNewObjNumOffsets();
-    void                               AppendNewObjNum(FX_DWORD objbum);
-    int32_t                    WriteOldIndirectObject(FX_DWORD objnum);
-    int32_t                    WriteOldObjs(IFX_Pause *pPause);
-    int32_t                    WriteNewObjs(FX_BOOL bIncremental, IFX_Pause *pPause);
-    int32_t                    WriteIndirectObj(const CPDF_Object* pObj);
-    int32_t                    WriteDirectObj(FX_DWORD objnum, const CPDF_Object* pObj, FX_BOOL bEncrypt = TRUE);
-    int32_t                    WriteIndirectObjectToStream(const CPDF_Object* pObj);
-    int32_t                    WriteIndirectObj(FX_DWORD objnum, const CPDF_Object* pObj);
-    int32_t                    WriteIndirectObjectToStream(FX_DWORD objnum, const uint8_t* pBuffer, FX_DWORD dwSize);
-    int32_t                    AppendObjectNumberToXRef(FX_DWORD objnum);
-    void                               InitID(FX_BOOL bDefault = TRUE);
-    int32_t                    WriteStream(const CPDF_Object* pStream, FX_DWORD objnum, CPDF_CryptoHandler* pCrypto);
+  int32_t m_iStage;
+  FX_DWORD m_dwFlags;
+  FX_POSITION m_Pos;
+  FX_FILESIZE m_XrefStart;
 
-    int32_t                    m_iStage;
-    FX_DWORD                   m_dwFlags;
-    FX_POSITION                        m_Pos;
-    FX_FILESIZE                        m_XrefStart;
+  CFX_FileSizeListArray m_ObjectOffset;
 
-    CFX_FileSizeListArray      m_ObjectOffset;
+  CFX_DWordListArray m_ObjectSize;
+  CFX_DWordArray m_NewObjNumArray;
 
-    CFX_DWordListArray         m_ObjectSize;
-    CFX_DWordArray             m_NewObjNumArray;
+  CPDF_Array* m_pIDArray;
 
-    CPDF_Array*                        m_pIDArray;
-
-    int32_t                    m_FileVersion;
-    friend class CPDF_ObjectStream;
-    friend class CPDF_XRefStream;
+  int32_t m_FileVersion;
+  friend class CPDF_ObjectStream;
+  friend class CPDF_XRefStream;
 };
 
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_SERIAL_H_
index 7cfaed4..43452fd 100644 (file)
 #include "../fpdfapi/fpdf_parser.h"
 #include "fpdf_vt.h"
 
-class IPVT_FontMap
-{
-public:
-    virtual ~IPVT_FontMap() { }
-    virtual CPDF_Font*                                         GetPDFFont(int32_t nFontIndex) = 0;
-    virtual CFX_ByteString                                     GetPDFFontAlias(int32_t nFontIndex) = 0;
+class IPVT_FontMap {
+ public:
+  virtual ~IPVT_FontMap() {}
+  virtual CPDF_Font* GetPDFFont(int32_t nFontIndex) = 0;
+  virtual CFX_ByteString GetPDFFontAlias(int32_t nFontIndex) = 0;
 };
 struct CPVT_Dash {
+  CPVT_Dash(int32_t dash, int32_t gap, int32_t phase)
+      : nDash(dash), nGap(gap), nPhase(phase) {}
 
-    CPVT_Dash(int32_t dash, int32_t gap, int32_t phase) : nDash(dash), nGap(gap), nPhase(phase)
-    {}
+  int32_t nDash;
 
-    int32_t                    nDash;
+  int32_t nGap;
 
-    int32_t                    nGap;
-
-    int32_t                    nPhase;
+  int32_t nPhase;
 };
-#define CT_TRANSPARENT         0
-#define        CT_GRAY                         1
-#define        CT_RGB                          2
-#define        CT_CMYK                         3
+#define CT_TRANSPARENT 0
+#define CT_GRAY 1
+#define CT_RGB 2
+#define CT_CMYK 3
 struct CPVT_Color {
-
-    CPVT_Color(int32_t type = 0, FX_FLOAT color1 = 0.0f, FX_FLOAT color2 = 0.0f, FX_FLOAT color3 = 0.0f, FX_FLOAT color4 = 0.0f)
-        : nColorType(type), fColor1(color1), fColor2(color2), fColor3(color3), fColor4(color4)
-    {}
-
-    int32_t                    nColorType;
-    FX_FLOAT                   fColor1;
-    FX_FLOAT                   fColor2;
-    FX_FLOAT                   fColor3;
-    FX_FLOAT                   fColor4;
+  CPVT_Color(int32_t type = 0,
+             FX_FLOAT color1 = 0.0f,
+             FX_FLOAT color2 = 0.0f,
+             FX_FLOAT color3 = 0.0f,
+             FX_FLOAT color4 = 0.0f)
+      : nColorType(type),
+        fColor1(color1),
+        fColor2(color2),
+        fColor3(color3),
+        fColor4(color4) {}
+
+  int32_t nColorType;
+  FX_FLOAT fColor1;
+  FX_FLOAT fColor2;
+  FX_FLOAT fColor3;
+  FX_FLOAT fColor4;
 };
-class CPVT_Provider : public IPDF_VariableText_Provider
-{
-public:
+class CPVT_Provider : public IPDF_VariableText_Provider {
+ public:
+  CPVT_Provider(IPVT_FontMap* pFontMap);
 
-    CPVT_Provider(IPVT_FontMap * pFontMap);
+  virtual ~CPVT_Provider();
 
-    virtual ~CPVT_Provider();
+  int32_t GetCharWidth(int32_t nFontIndex, FX_WORD word, int32_t nWordStyle);
 
-    int32_t                                            GetCharWidth(int32_t nFontIndex, FX_WORD word, int32_t nWordStyle);
+  int32_t GetTypeAscent(int32_t nFontIndex);
 
-    int32_t                                            GetTypeAscent(int32_t nFontIndex);
+  int32_t GetTypeDescent(int32_t nFontIndex);
 
-    int32_t                                            GetTypeDescent(int32_t nFontIndex);
+  int32_t GetWordFontIndex(FX_WORD word, int32_t charset, int32_t nFontIndex);
 
-    int32_t                                            GetWordFontIndex(FX_WORD word, int32_t charset, int32_t nFontIndex);
+  FX_BOOL IsLatinWord(FX_WORD word);
 
-    FX_BOOL                                                    IsLatinWord(FX_WORD word);
+  int32_t GetDefaultFontIndex();
 
-    int32_t                                            GetDefaultFontIndex();
-private:
-
-    IPVT_FontMap *     m_pFontMap;
+ private:
+  IPVT_FontMap* m_pFontMap;
 };
-#define PBS_SOLID                      0
-#define PBS_DASH                       1
-#define PBS_BEVELED                    2
-#define PBS_INSET                      3
-#define PBS_UNDERLINED         4
-class CPVT_GenerateAP
-{
-public:
-
-    static FX_BOOL                                                     GenerateTextFieldAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict);
-
-    static FX_BOOL                                                     GenerateComboBoxAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict);
-
-    static FX_BOOL                                                     GenerateListBoxAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict);
-
-    static CFX_ByteString                                      GenerateEditAP(IPVT_FontMap * pFontMap, IPDF_VariableText_Iterator * pIterator,
-            const CPDF_Point & ptOffset, FX_BOOL bContinuous, FX_WORD SubWord = 0, const CPVT_WordRange * pVisible = NULL);
-
-    static CFX_ByteString                                      GenerateBorderAP(const CPDF_Rect & rect, FX_FLOAT fWidth,
-            const CPVT_Color & color, const CPVT_Color & crLeftTop, const CPVT_Color & crRightBottom,
-            int32_t nStyle, const CPVT_Dash & dash);
-
-    static CFX_ByteString                                      GenerateColorAP(const CPVT_Color & color, const FX_BOOL & bFillOrStroke);
+#define PBS_SOLID 0
+#define PBS_DASH 1
+#define PBS_BEVELED 2
+#define PBS_INSET 3
+#define PBS_UNDERLINED 4
+class CPVT_GenerateAP {
+ public:
+  static FX_BOOL GenerateTextFieldAP(CPDF_Document* pDoc,
+                                     CPDF_Dictionary* pAnnotDict);
+
+  static FX_BOOL GenerateComboBoxAP(CPDF_Document* pDoc,
+                                    CPDF_Dictionary* pAnnotDict);
+
+  static FX_BOOL GenerateListBoxAP(CPDF_Document* pDoc,
+                                   CPDF_Dictionary* pAnnotDict);
+
+  static CFX_ByteString GenerateEditAP(IPVT_FontMap* pFontMap,
+                                       IPDF_VariableText_Iterator* pIterator,
+                                       const CPDF_Point& ptOffset,
+                                       FX_BOOL bContinuous,
+                                       FX_WORD SubWord = 0,
+                                       const CPVT_WordRange* pVisible = NULL);
+
+  static CFX_ByteString GenerateBorderAP(const CPDF_Rect& rect,
+                                         FX_FLOAT fWidth,
+                                         const CPVT_Color& color,
+                                         const CPVT_Color& crLeftTop,
+                                         const CPVT_Color& crRightBottom,
+                                         int32_t nStyle,
+                                         const CPVT_Dash& dash);
+
+  static CFX_ByteString GenerateColorAP(const CPVT_Color& color,
+                                        const FX_BOOL& bFillOrStroke);
 };
 
 #endif  // CORE_INCLUDE_FPDFDOC_FPDF_AP_H_
index fc9d3bc..18dc7aa 100644 (file)
@@ -42,1663 +42,1220 @@ class CPDF_TextObject;
 class CPDF_ViewerPreferences;
 class CXML_Element;
 
-class CPDF_NameTree
-{
-public:
+class CPDF_NameTree {
+ public:
+  CPDF_NameTree(CPDF_Dictionary* pRoot) { m_pRoot = pRoot; }
 
-    CPDF_NameTree(CPDF_Dictionary* pRoot)
-    {
-        m_pRoot = pRoot;
-    }
+  CPDF_NameTree(CPDF_Document* pDoc, const CFX_ByteStringC& category);
 
-    CPDF_NameTree(CPDF_Document* pDoc, const CFX_ByteStringC& category);
+  CPDF_Object* LookupValue(int nIndex, CFX_ByteString& csName) const;
 
-    CPDF_Object*               LookupValue(int nIndex, CFX_ByteString& csName) const;
+  CPDF_Object* LookupValue(const CFX_ByteString& csName) const;
 
-    CPDF_Object*               LookupValue(const CFX_ByteString& csName) const;
+  CPDF_Array* LookupNamedDest(CPDF_Document* pDoc,
+                              const CFX_ByteStringC& sName);
 
-    CPDF_Array*                        LookupNamedDest(CPDF_Document* pDoc, const CFX_ByteStringC& sName);
+  int GetIndex(const CFX_ByteString& csName) const;
 
-    int                                        GetIndex(const CFX_ByteString& csName) const;
+  int GetCount() const;
 
-    int                                        GetCount() const;
+  CPDF_Dictionary* GetRoot() const { return m_pRoot; }
 
-
-    CPDF_Dictionary*   GetRoot() const
-    {
-        return m_pRoot;
-    }
-
-protected:
-
-    CPDF_Dictionary*           m_pRoot;
+ protected:
+  CPDF_Dictionary* m_pRoot;
 };
-class CPDF_BookmarkTree
-{
-public:
-    CPDF_BookmarkTree(CPDF_Document* pDoc) : m_pDocument(pDoc) {}
+class CPDF_BookmarkTree {
+ public:
+  CPDF_BookmarkTree(CPDF_Document* pDoc) : m_pDocument(pDoc) {}
 
-    CPDF_Bookmark              GetFirstChild(const CPDF_Bookmark& parent) const;
+  CPDF_Bookmark GetFirstChild(const CPDF_Bookmark& parent) const;
 
-    CPDF_Bookmark              GetNextSibling(const CPDF_Bookmark& bookmark) const;
+  CPDF_Bookmark GetNextSibling(const CPDF_Bookmark& bookmark) const;
 
-    CPDF_Document*             GetDocument() const { return m_pDocument; }
+  CPDF_Document* GetDocument() const { return m_pDocument; }
 
-protected:
-    CPDF_Document*             m_pDocument;
+ protected:
+  CPDF_Document* m_pDocument;
 };
-#define PDFBOOKMARK_ITALIC                     1
-#define PDFBOOKMARK_BOLD                       2
-class CPDF_Bookmark
-{
-public:
-
-    CPDF_Bookmark() : m_pDict(NULL) {}
+#define PDFBOOKMARK_ITALIC 1
+#define PDFBOOKMARK_BOLD 2
+class CPDF_Bookmark {
+ public:
+  CPDF_Bookmark() : m_pDict(NULL) {}
 
-    explicit CPDF_Bookmark(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
+  explicit CPDF_Bookmark(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
 
-    CPDF_Dictionary* GetDict() const { return m_pDict; }
+  CPDF_Dictionary* GetDict() const { return m_pDict; }
 
-    operator bool() const { return m_pDict != NULL; }
+  operator bool() const { return m_pDict != NULL; }
 
-    FX_DWORD                   GetColorRef() const;
+  FX_DWORD GetColorRef() const;
 
-    FX_DWORD                   GetFontStyle() const;
+  FX_DWORD GetFontStyle() const;
 
-    CFX_WideString             GetTitle() const;
+  CFX_WideString GetTitle() const;
 
-    CPDF_Dest                  GetDest(CPDF_Document* pDocument) const;
+  CPDF_Dest GetDest(CPDF_Document* pDocument) const;
 
-    CPDF_Action                        GetAction() const;
+  CPDF_Action GetAction() const;
 
-    CPDF_Dictionary*   m_pDict;
+  CPDF_Dictionary* m_pDict;
 };
-#define PDFZOOM_XYZ                                    1
-#define PDFZOOM_FITPAGE                                2
-#define PDFZOOM_FITHORZ                                3
-#define PDFZOOM_FITVERT                                4
-#define PDFZOOM_FITRECT                                5
-#define PDFZOOM_FITBBOX                                6
-#define PDFZOOM_FITBHORZ                       7
-#define PDFZOOM_FITBVERT                       8
-class CPDF_Dest
-{
-public:
-    CPDF_Dest() : m_pObj(nullptr) { }
-    explicit CPDF_Dest(CPDF_Object* pObj) : m_pObj(pObj) { }
-
-    operator bool () const { return m_pObj != NULL; }
-    CPDF_Object* GetObject() const { return m_pObj; }
-
-    CFX_ByteString             GetRemoteName();
-    int                                        GetPageIndex(CPDF_Document* pDoc);
-    FX_DWORD                   GetPageObjNum();
-    int                                        GetZoomMode();
-    FX_FLOAT                   GetParam(int index);
-
-protected:
-    CPDF_Object*               m_pObj;
+#define PDFZOOM_XYZ 1
+#define PDFZOOM_FITPAGE 2
+#define PDFZOOM_FITHORZ 3
+#define PDFZOOM_FITVERT 4
+#define PDFZOOM_FITRECT 5
+#define PDFZOOM_FITBBOX 6
+#define PDFZOOM_FITBHORZ 7
+#define PDFZOOM_FITBVERT 8
+class CPDF_Dest {
+ public:
+  CPDF_Dest() : m_pObj(nullptr) {}
+  explicit CPDF_Dest(CPDF_Object* pObj) : m_pObj(pObj) {}
+
+  operator bool() const { return m_pObj != NULL; }
+  CPDF_Object* GetObject() const { return m_pObj; }
+
+  CFX_ByteString GetRemoteName();
+  int GetPageIndex(CPDF_Document* pDoc);
+  FX_DWORD GetPageObjNum();
+  int GetZoomMode();
+  FX_FLOAT GetParam(int index);
+
+ protected:
+  CPDF_Object* m_pObj;
 };
-class CPDF_OCContext : public IPDF_OCContext
-{
-public:
+class CPDF_OCContext : public IPDF_OCContext {
+ public:
+  enum UsageType { View = 0, Design, Print, Export };
 
-    enum UsageType {
-        View = 0,
-        Design,
-        Print,
-        Export
-    };
+  CPDF_OCContext(CPDF_Document* pDoc, UsageType eUsageType = View);
 
-    CPDF_OCContext(CPDF_Document *pDoc, UsageType eUsageType = View);
+  virtual ~CPDF_OCContext();
 
-    virtual ~CPDF_OCContext();
+  CPDF_Document* GetDocument() const { return m_pDocument; }
 
-    CPDF_Document*     GetDocument() const
-    {
-        return m_pDocument;
-    }
+  UsageType GetUsageType() const { return m_eUsageType; }
 
-    UsageType          GetUsageType() const
-    {
-        return m_eUsageType;
-    }
+  FX_BOOL CheckOCGVisible(const CPDF_Dictionary* pOCGDict);
 
-    FX_BOOL                    CheckOCGVisible(const CPDF_Dictionary *pOCGDict);
+  void ResetOCContext();
 
-    void                       ResetOCContext();
-protected:
+ protected:
+  FX_BOOL LoadOCGStateFromConfig(const CFX_ByteStringC& csConfig,
+                                 const CPDF_Dictionary* pOCGDict,
+                                 FX_BOOL& bValidConfig) const;
 
-    FX_BOOL                    LoadOCGStateFromConfig(const CFX_ByteStringC& csConfig, const CPDF_Dictionary *pOCGDict, FX_BOOL &bValidConfig) const;
+  FX_BOOL LoadOCGState(const CPDF_Dictionary* pOCGDict) const;
 
-    FX_BOOL                    LoadOCGState(const CPDF_Dictionary *pOCGDict) const;
+  FX_BOOL GetOCGVisible(const CPDF_Dictionary* pOCGDict);
 
-    FX_BOOL                    GetOCGVisible(const CPDF_Dictionary *pOCGDict);
+  FX_BOOL GetOCGVE(CPDF_Array* pExpression,
+                   FX_BOOL bFromConfig,
+                   int nLevel = 0);
 
-    FX_BOOL                    GetOCGVE(CPDF_Array *pExpression, FX_BOOL bFromConfig, int nLevel = 0);
+  FX_BOOL LoadOCMDState(const CPDF_Dictionary* pOCMDDict, FX_BOOL bFromConfig);
 
-    FX_BOOL                    LoadOCMDState(const CPDF_Dictionary *pOCMDDict, FX_BOOL bFromConfig);
+  CPDF_Document* m_pDocument;
 
-    CPDF_Document              *m_pDocument;
+  UsageType m_eUsageType;
 
-    UsageType                  m_eUsageType;
-
-    std::map<const CPDF_Dictionary*, FX_BOOL> m_OCGStates;
+  std::map<const CPDF_Dictionary*, FX_BOOL> m_OCGStates;
 };
-class CPDF_LWinParam
-{
-public:
-
-    CPDF_LWinParam(CPDF_Dictionary* pDict)
-    {
-        m_pDict = pDict;
-    }
-
-    operator CPDF_Dictionary* () const
-    {
-        return m_pDict;
-    }
-
-    inline CFX_ByteString      GetFileName()
-    {
-        return m_pDict->GetString("F");
-    }
+class CPDF_LWinParam {
+ public:
+  CPDF_LWinParam(CPDF_Dictionary* pDict) { m_pDict = pDict; }
 
+  operator CPDF_Dictionary*() const { return m_pDict; }
 
-    inline CFX_ByteString      GetDefaultDirectory()
-    {
-        return m_pDict->GetString("D");
-    }
+  inline CFX_ByteString GetFileName() { return m_pDict->GetString("F"); }
 
+  inline CFX_ByteString GetDefaultDirectory() {
+    return m_pDict->GetString("D");
+  }
 
-    inline CFX_ByteString      GetOperation()
-    {
-        return m_pDict->GetString("O");
-    }
+  inline CFX_ByteString GetOperation() { return m_pDict->GetString("O"); }
 
+  inline CFX_ByteString GetParameter() { return m_pDict->GetString("P"); }
 
-    inline CFX_ByteString      GetParameter()
-    {
-        return m_pDict->GetString("P");
-    }
-
-    CPDF_Dictionary*           m_pDict;
+  CPDF_Dictionary* m_pDict;
 };
-class CPDF_ActionFields
-{
-public:
-
-    CPDF_ActionFields(const CPDF_Action* pAction)
-    {
-        m_pAction = (CPDF_Action*)pAction;
-    }
+class CPDF_ActionFields {
+ public:
+  CPDF_ActionFields(const CPDF_Action* pAction) {
+    m_pAction = (CPDF_Action*)pAction;
+  }
 
-    operator CPDF_Action*() const
-    {
-        return m_pAction;
-    }
+  operator CPDF_Action*() const { return m_pAction; }
 
-    FX_DWORD                           GetFieldsCount() const;
+  FX_DWORD GetFieldsCount() const;
 
-    void                                       GetAllFields(CFX_PtrArray& fieldObjects) const;
+  void GetAllFields(CFX_PtrArray& fieldObjects) const;
 
-    CPDF_Object*                       GetField(FX_DWORD iIndex) const;
+  CPDF_Object* GetField(FX_DWORD iIndex) const;
 
-    CPDF_Action*                       m_pAction;
+  CPDF_Action* m_pAction;
 };
 
-#define PDFNAMED_NEXTPAGE              1
-#define PDFNAMED_PREVPAGE              2
-#define PDFNAMED_FIRSTPAGE             3
-#define PDFNAMED_LASTPAGE              4
-#define PDFJS_MAXLENGTH                        64
-class CPDF_Action
-{
-public:
-    enum ActionType {
-        Unknown = 0,
-        GoTo,
-        GoToR,
-        GoToE,
-        Launch,
-        Thread,
-        URI,
-        Sound,
-        Movie,
-        Hide,
-        Named,
-        SubmitForm,
-        ResetForm,
-        ImportData,
-        JavaScript,
-        SetOCGState,
-        Rendition,
-        Trans,
-        GoTo3DView
-    };
-
-    CPDF_Action() : m_pDict(nullptr) { }
-    explicit CPDF_Action(CPDF_Dictionary* pDict) : m_pDict(pDict) { }
-
-    operator bool () const { return m_pDict != NULL; }
-
-    CPDF_Dictionary* GetDict() const { return m_pDict; }
-
-    CFX_ByteString             GetTypeName() const
-    {
-        return m_pDict->GetString("S");
-    }
-
-    ActionType                 GetType() const;
-
-    CPDF_Dest                  GetDest(CPDF_Document* pDoc) const;
-
-    CFX_WideString             GetFilePath() const;
-
-    FX_BOOL                            GetNewWindow() const
-    {
-        return m_pDict->GetBoolean("NewWindow");
-    }
-
-    CPDF_LWinParam             GetWinParam() const;
-
-    CFX_ByteString             GetURI(CPDF_Document* pDoc) const;
-
-    FX_BOOL                            GetMouseMap() const
-    {
-        return m_pDict->GetBoolean("IsMap");
-    }
-
-    CPDF_ActionFields  GetWidgets() const
-    {
-        return this;
-    }
-
-    FX_BOOL                            GetHideStatus() const
-    {
-        return m_pDict->GetBoolean("H", TRUE);
-    }
-
-    CFX_ByteString             GetNamedAction() const
-    {
-        return m_pDict->GetString("N");
-    }
-
-    FX_DWORD                   GetFlags() const
-    {
-        return m_pDict->GetInteger("Flags");
-    }
-
-    CFX_WideString             GetJavaScript() const;
-
-    CPDF_Dictionary*   GetAnnot() const;
-
-    int32_t                            GetOperationType() const;
-
-    CPDF_Stream*               GetSoundStream() const
-    {
-        return m_pDict->GetStream("Sound");
-    }
-
-    FX_FLOAT                   GetVolume() const
-    {
-        return m_pDict->GetNumber("Volume");
-    }
-
-    FX_BOOL                            IsSynchronous() const
-    {
-        return m_pDict->GetBoolean("Synchronous");
-    }
-
-    FX_BOOL                            IsRepeat() const
-    {
-        return m_pDict->GetBoolean("Repeat");
-    }
-
-    FX_BOOL                            IsMixPlay() const
-    {
-        return m_pDict->GetBoolean("Mix");
-    }
-
-    FX_DWORD                   GetSubActionsCount() const;
-
-    CPDF_Action                        GetSubAction(FX_DWORD iIndex) const;
+#define PDFNAMED_NEXTPAGE 1
+#define PDFNAMED_PREVPAGE 2
+#define PDFNAMED_FIRSTPAGE 3
+#define PDFNAMED_LASTPAGE 4
+#define PDFJS_MAXLENGTH 64
+class CPDF_Action {
+ public:
+  enum ActionType {
+    Unknown = 0,
+    GoTo,
+    GoToR,
+    GoToE,
+    Launch,
+    Thread,
+    URI,
+    Sound,
+    Movie,
+    Hide,
+    Named,
+    SubmitForm,
+    ResetForm,
+    ImportData,
+    JavaScript,
+    SetOCGState,
+    Rendition,
+    Trans,
+    GoTo3DView
+  };
 
-protected:
-    CPDF_Dictionary*   m_pDict;
-};
-class CPDF_AAction
-{
-public:
-
-    CPDF_AAction(CPDF_Dictionary* pDict = NULL)
-    {
-        m_pDict = pDict;
-    }
-
-    operator CPDF_Dictionary*()        const
-    {
-        return m_pDict;
-    }
-
-    enum AActionType {
-        CursorEnter = 0,
-        CursorExit,
-        ButtonDown,
-        ButtonUp,
-        GetFocus,
-        LoseFocus,
-        PageOpen,
-        PageClose,
-        PageVisible,
-        PageInvisible,
-        OpenPage,
-        ClosePage,
-        KeyStroke,
-        Format,
-        Validate,
-        Calculate,
-        CloseDocument,
-        SaveDocument,
-        DocumentSaved,
-        PrintDocument,
-        DocumentPrinted
-    };
-
-    FX_BOOL                            ActionExist(AActionType eType) const;
-
-    CPDF_Action                        GetAction(AActionType eType) const;
-
-    FX_POSITION                        GetStartPos() const;
-
-    CPDF_Action                        GetNextAction(FX_POSITION& pos, AActionType& eType) const;
-
-    CPDF_Dictionary*   m_pDict;
-};
-class CPDF_DocJSActions
-{
-public:
-    CPDF_DocJSActions(CPDF_Document* pDoc);
+  CPDF_Action() : m_pDict(nullptr) {}
+  explicit CPDF_Action(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
 
+  operator bool() const { return m_pDict != NULL; }
 
-    int                                        CountJSActions() const;
+  CPDF_Dictionary* GetDict() const { return m_pDict; }
 
-    CPDF_Action                        GetJSAction(int index, CFX_ByteString& csName) const;
+  CFX_ByteString GetTypeName() const { return m_pDict->GetString("S"); }
 
-    CPDF_Action                        GetJSAction(const CFX_ByteString& csName) const;
+  ActionType GetType() const;
 
-    int                                        FindJSAction(const CFX_ByteString& csName) const;
+  CPDF_Dest GetDest(CPDF_Document* pDoc) const;
 
+  CFX_WideString GetFilePath() const;
 
-    CPDF_Document*             GetDocument() const
-    {
-        return m_pDocument;
-    }
+  FX_BOOL GetNewWindow() const { return m_pDict->GetBoolean("NewWindow"); }
 
-protected:
+  CPDF_LWinParam GetWinParam() const;
 
-    CPDF_Document*             m_pDocument;
-};
-class CPDF_FileSpec
-{
-public:
+  CFX_ByteString GetURI(CPDF_Document* pDoc) const;
 
-    CPDF_FileSpec();
+  FX_BOOL GetMouseMap() const { return m_pDict->GetBoolean("IsMap"); }
 
-    CPDF_FileSpec(CPDF_Object *pObj)
-    {
-        m_pObj = pObj;
-    }
+  CPDF_ActionFields GetWidgets() const { return this; }
 
-    operator CPDF_Object*() const
-    {
-        return m_pObj;
-    }
+  FX_BOOL GetHideStatus() const { return m_pDict->GetBoolean("H", TRUE); }
 
-    FX_BOOL                    IsURL() const;
+  CFX_ByteString GetNamedAction() const { return m_pDict->GetString("N"); }
 
-    FX_BOOL                    GetFileName(CFX_WideString &wsFileName) const;
+  FX_DWORD GetFlags() const { return m_pDict->GetInteger("Flags"); }
 
-    CPDF_Stream*       GetFileStream() const;
+  CFX_WideString GetJavaScript() const;
 
-    void                       SetFileName(const CFX_WideStringC& wsFileName, FX_BOOL bURL = FALSE);
-protected:
+  CPDF_Dictionary* GetAnnot() const;
 
-    CPDF_Object                *m_pObj;
-};
-class CPDF_LinkList
-{
-public:
+  int32_t GetOperationType() const;
 
-    CPDF_LinkList(CPDF_Document* pDoc)
-    {
-        m_pDocument = pDoc;
-    }
+  CPDF_Stream* GetSoundStream() const { return m_pDict->GetStream("Sound"); }
 
-    ~CPDF_LinkList();
+  FX_FLOAT GetVolume() const { return m_pDict->GetNumber("Volume"); }
 
-    CPDF_Link                  GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y);
+  FX_BOOL IsSynchronous() const { return m_pDict->GetBoolean("Synchronous"); }
 
-    int                                        CountLinks(CPDF_Page* pPage);
+  FX_BOOL IsRepeat() const { return m_pDict->GetBoolean("Repeat"); }
 
-    CPDF_Link                  GetLink(CPDF_Page* pPage, int index);
+  FX_BOOL IsMixPlay() const { return m_pDict->GetBoolean("Mix"); }
 
-    CPDF_Document*             GetDocument() const
-    {
-        return m_pDocument;
-    }
-protected:
+  FX_DWORD GetSubAc