Full Code of coolwanglu/PDFium.js for AI

master 60c057d03713 cached
1309 files
28.6 MB
7.6M tokens
17042 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (30,315K chars total). Download the full file to get everything.
Repository: coolwanglu/PDFium.js
Branch: master
Commit: 60c057d03713
Files: 1309
Total size: 28.6 MB

Directory structure:
gitextract_judhqioc/

├── .gitattributes
├── .gitignore
├── AUTHORS
├── BUILD.gn
├── LICENSE
├── README
├── README.md
├── TODO
├── build/
│   ├── all.gyp
│   ├── gyp_pdfium
│   ├── gyp_pdfium.py
│   └── standalone.gypi
├── build.sh
├── codereview.settings
├── core/
│   ├── include/
│   │   ├── fdrm/
│   │   │   └── fx_crypt.h
│   │   ├── fpdfapi/
│   │   │   ├── fpdf_module.h
│   │   │   ├── fpdf_objects.h
│   │   │   ├── fpdf_page.h
│   │   │   ├── fpdf_pageobj.h
│   │   │   ├── fpdf_parser.h
│   │   │   ├── fpdf_render.h
│   │   │   ├── fpdf_resource.h
│   │   │   ├── fpdf_serial.h
│   │   │   └── fpdfapi.h
│   │   ├── fpdfdoc/
│   │   │   ├── fpdf_ap.h
│   │   │   ├── fpdf_doc.h
│   │   │   ├── fpdf_tagged.h
│   │   │   └── fpdf_vt.h
│   │   ├── fpdftext/
│   │   │   └── fpdf_text.h
│   │   ├── fxcodec/
│   │   │   ├── fx_codec.h
│   │   │   ├── fx_codec_def.h
│   │   │   └── fx_codec_provider.h
│   │   ├── fxcrt/
│   │   │   ├── fx_arb.h
│   │   │   ├── fx_basic.h
│   │   │   ├── fx_coordinates.h
│   │   │   ├── fx_ext.h
│   │   │   ├── fx_memory.h
│   │   │   ├── fx_stream.h
│   │   │   ├── fx_string.h
│   │   │   ├── fx_system.h
│   │   │   ├── fx_ucd.h
│   │   │   └── fx_xml.h
│   │   ├── fxge/
│   │   │   ├── fpf.h
│   │   │   ├── fx_dib.h
│   │   │   ├── fx_font.h
│   │   │   ├── fx_freetype.h
│   │   │   ├── fx_ge.h
│   │   │   ├── fx_ge_apple.h
│   │   │   └── fx_ge_win32.h
│   │   ├── reflow/
│   │   │   ├── fpdf_layout.h
│   │   │   └── reflowengine.h
│   │   └── thirdparties/
│   │       ├── freetype/
│   │       │   ├── foxitnames.h
│   │       │   ├── freetype/
│   │       │   │   ├── config/
│   │       │   │   │   ├── ftconfig.h
│   │       │   │   │   ├── ftheader.h
│   │       │   │   │   ├── ftmodule.h
│   │       │   │   │   ├── ftoption.h
│   │       │   │   │   └── ftstdlib.h
│   │       │   │   ├── freetype.h
│   │       │   │   ├── ftadvanc.h
│   │       │   │   ├── ftautoh.h
│   │       │   │   ├── ftbbox.h
│   │       │   │   ├── ftbdf.h
│   │       │   │   ├── ftbitmap.h
│   │       │   │   ├── ftbzip2.h
│   │       │   │   ├── ftcache.h
│   │       │   │   ├── ftcffdrv.h
│   │       │   │   ├── ftcid.h
│   │       │   │   ├── fterrdef.h
│   │       │   │   ├── fterrors.h
│   │       │   │   ├── ftgasp.h
│   │       │   │   ├── ftglyph.h
│   │       │   │   ├── ftgxval.h
│   │       │   │   ├── ftgzip.h
│   │       │   │   ├── ftimage.h
│   │       │   │   ├── ftincrem.h
│   │       │   │   ├── ftlcdfil.h
│   │       │   │   ├── ftlist.h
│   │       │   │   ├── ftlzw.h
│   │       │   │   ├── ftmac.h
│   │       │   │   ├── ftmm.h
│   │       │   │   ├── ftmodapi.h
│   │       │   │   ├── ftmoderr.h
│   │       │   │   ├── ftotval.h
│   │       │   │   ├── ftoutln.h
│   │       │   │   ├── ftpfr.h
│   │       │   │   ├── ftrender.h
│   │       │   │   ├── ftsizes.h
│   │       │   │   ├── ftsnames.h
│   │       │   │   ├── ftstroke.h
│   │       │   │   ├── ftsynth.h
│   │       │   │   ├── ftsystem.h
│   │       │   │   ├── fttrigon.h
│   │       │   │   ├── ftttdrv.h
│   │       │   │   ├── fttypes.h
│   │       │   │   ├── ftwinfnt.h
│   │       │   │   ├── ftxf86.h
│   │       │   │   ├── internal/
│   │       │   │   │   ├── autohint.h
│   │       │   │   │   ├── ftcalc.h
│   │       │   │   │   ├── ftdebug.h
│   │       │   │   │   ├── ftdriver.h
│   │       │   │   │   ├── ftgloadr.h
│   │       │   │   │   ├── ftmemory.h
│   │       │   │   │   ├── ftobjs.h
│   │       │   │   │   ├── ftpic.h
│   │       │   │   │   ├── ftrfork.h
│   │       │   │   │   ├── ftserv.h
│   │       │   │   │   ├── ftstream.h
│   │       │   │   │   ├── fttrace.h
│   │       │   │   │   ├── ftvalid.h
│   │       │   │   │   ├── internal.h
│   │       │   │   │   ├── psaux.h
│   │       │   │   │   ├── pshints.h
│   │       │   │   │   ├── services/
│   │       │   │   │   │   ├── svbdf.h
│   │       │   │   │   │   ├── svcid.h
│   │       │   │   │   │   ├── svgldict.h
│   │       │   │   │   │   ├── svgxval.h
│   │       │   │   │   │   ├── svkern.h
│   │       │   │   │   │   ├── svmm.h
│   │       │   │   │   │   ├── svotval.h
│   │       │   │   │   │   ├── svpfr.h
│   │       │   │   │   │   ├── svpostnm.h
│   │       │   │   │   │   ├── svprop.h
│   │       │   │   │   │   ├── svpscmap.h
│   │       │   │   │   │   ├── svpsinfo.h
│   │       │   │   │   │   ├── svsfnt.h
│   │       │   │   │   │   ├── svttcmap.h
│   │       │   │   │   │   ├── svtteng.h
│   │       │   │   │   │   ├── svttglyf.h
│   │       │   │   │   │   ├── svwinfnt.h
│   │       │   │   │   │   └── svxf86nm.h
│   │       │   │   │   ├── sfnt.h
│   │       │   │   │   ├── t1types.h
│   │       │   │   │   └── tttypes.h
│   │       │   │   ├── t1tables.h
│   │       │   │   ├── ttnameid.h
│   │       │   │   ├── tttables.h
│   │       │   │   ├── tttags.h
│   │       │   │   └── ttunpat.h
│   │       │   └── ft2build.h
│   │       ├── libjpeg/
│   │       │   ├── jconfig.h
│   │       │   ├── jerror.h
│   │       │   ├── jmorecfg.h
│   │       │   ├── jpegint.h
│   │       │   └── jpeglib.h
│   │       └── zlib/
│   │           ├── zconf.h
│   │           └── zlib.h
│   └── src/
│       ├── fdrm/
│       │   └── crypto/
│       │       ├── fx_crypt.cpp
│       │       ├── fx_crypt_aes.cpp
│       │       └── fx_crypt_sha.cpp
│       ├── fpdfapi/
│       │   ├── fpdf_basic_module.cpp
│       │   ├── fpdf_cmaps/
│       │   │   ├── CNS1/
│       │   │   │   ├── Adobe-CNS1-UCS2_5.cpp
│       │   │   │   ├── B5pc-H_0.cpp
│       │   │   │   ├── B5pc-V_0.cpp
│       │   │   │   ├── CNS-EUC-H_0.cpp
│       │   │   │   ├── CNS-EUC-V_0.cpp
│       │   │   │   ├── ETen-B5-H_0.cpp
│       │   │   │   ├── ETen-B5-V_0.cpp
│       │   │   │   ├── ETenms-B5-H_0.cpp
│       │   │   │   ├── ETenms-B5-V_0.cpp
│       │   │   │   ├── HKscs-B5-H_5.cpp
│       │   │   │   ├── HKscs-B5-V_5.cpp
│       │   │   │   ├── UniCNS-UCS2-H_3.cpp
│       │   │   │   ├── UniCNS-UCS2-V_3.cpp
│       │   │   │   ├── UniCNS-UTF16-H_0.cpp
│       │   │   │   └── cmaps_cns1.cpp
│       │   │   ├── GB1/
│       │   │   │   ├── Adobe-GB1-UCS2_5.cpp
│       │   │   │   ├── GB-EUC-H_0.cpp
│       │   │   │   ├── GB-EUC-V_0.cpp
│       │   │   │   ├── GBK-EUC-H_2.cpp
│       │   │   │   ├── GBK-EUC-V_2.cpp
│       │   │   │   ├── GBK2K-H_5.cpp
│       │   │   │   ├── GBK2K-V_5.cpp
│       │   │   │   ├── GBKp-EUC-H_2.cpp
│       │   │   │   ├── GBKp-EUC-V_2.cpp
│       │   │   │   ├── GBpc-EUC-H_0.cpp
│       │   │   │   ├── GBpc-EUC-V_0.cpp
│       │   │   │   ├── UniGB-UCS2-H_4.cpp
│       │   │   │   ├── UniGB-UCS2-V_4.cpp
│       │   │   │   └── cmaps_gb1.cpp
│       │   │   ├── Japan1/
│       │   │   │   ├── 83pv-RKSJ-H_1.cpp
│       │   │   │   ├── 90ms-RKSJ-H_2.cpp
│       │   │   │   ├── 90ms-RKSJ-V_2.cpp
│       │   │   │   ├── 90msp-RKSJ-H_2.cpp
│       │   │   │   ├── 90msp-RKSJ-V_2.cpp
│       │   │   │   ├── 90pv-RKSJ-H_1.cpp
│       │   │   │   ├── Add-RKSJ-H_1.cpp
│       │   │   │   ├── Add-RKSJ-V_1.cpp
│       │   │   │   ├── Adobe-Japan1-UCS2_4.cpp
│       │   │   │   ├── EUC-H_1.cpp
│       │   │   │   ├── EUC-V_1.cpp
│       │   │   │   ├── Ext-RKSJ-H_2.cpp
│       │   │   │   ├── Ext-RKSJ-V_2.cpp
│       │   │   │   ├── H_1.cpp
│       │   │   │   ├── UniJIS-UCS2-HW-H_4.cpp
│       │   │   │   ├── UniJIS-UCS2-HW-V_4.cpp
│       │   │   │   ├── UniJIS-UCS2-H_4.cpp
│       │   │   │   ├── UniJIS-UCS2-V_4.cpp
│       │   │   │   ├── UniJIS-UTF16-H_5.cpp
│       │   │   │   ├── UniJIS-UTF16-V_5.cpp
│       │   │   │   ├── V_1.cpp
│       │   │   │   └── cmaps_japan1.cpp
│       │   │   ├── Korea1/
│       │   │   │   ├── Adobe-Korea1-UCS2_2.cpp
│       │   │   │   ├── KSC-EUC-H_0.cpp
│       │   │   │   ├── KSC-EUC-V_0.cpp
│       │   │   │   ├── KSCms-UHC-HW-H_1.cpp
│       │   │   │   ├── KSCms-UHC-HW-V_1.cpp
│       │   │   │   ├── KSCms-UHC-H_1.cpp
│       │   │   │   ├── KSCms-UHC-V_1.cpp
│       │   │   │   ├── KSCpc-EUC-H_0.cpp
│       │   │   │   ├── UniKS-UCS2-H_1.cpp
│       │   │   │   ├── UniKS-UCS2-V_1.cpp
│       │   │   │   ├── UniKS-UTF16-H_0.cpp
│       │   │   │   └── cmaps_korea1.cpp
│       │   │   ├── cmap_int.h
│       │   │   └── fpdf_cmaps.cpp
│       │   ├── fpdf_edit/
│       │   │   ├── editint.h
│       │   │   ├── fpdf_edit_content.cpp
│       │   │   ├── fpdf_edit_create.cpp
│       │   │   ├── fpdf_edit_doc.cpp
│       │   │   └── fpdf_edit_image.cpp
│       │   ├── fpdf_font/
│       │   │   ├── common.h
│       │   │   ├── font_int.h
│       │   │   ├── fpdf_font.cpp
│       │   │   ├── fpdf_font_charset.cpp
│       │   │   ├── fpdf_font_cid.cpp
│       │   │   ├── fpdf_font_utility.cpp
│       │   │   ├── ttgsubtable.cpp
│       │   │   └── ttgsubtable.h
│       │   ├── fpdf_page/
│       │   │   ├── fpdf_page.cpp
│       │   │   ├── fpdf_page_colors.cpp
│       │   │   ├── fpdf_page_doc.cpp
│       │   │   ├── fpdf_page_func.cpp
│       │   │   ├── fpdf_page_graph_state.cpp
│       │   │   ├── fpdf_page_image.cpp
│       │   │   ├── fpdf_page_parser.cpp
│       │   │   ├── fpdf_page_parser_new.cpp
│       │   │   ├── fpdf_page_parser_old.cpp
│       │   │   ├── fpdf_page_path.cpp
│       │   │   ├── fpdf_page_pattern.cpp
│       │   │   └── pageint.h
│       │   ├── fpdf_parser/
│       │   │   ├── filters_int.h
│       │   │   ├── fpdf_parser_decode.cpp
│       │   │   ├── fpdf_parser_document.cpp
│       │   │   ├── fpdf_parser_encrypt.cpp
│       │   │   ├── fpdf_parser_fdf.cpp
│       │   │   ├── fpdf_parser_filters.cpp
│       │   │   ├── fpdf_parser_objects.cpp
│       │   │   ├── fpdf_parser_parser.cpp
│       │   │   └── fpdf_parser_utility.cpp
│       │   └── fpdf_render/
│       │       ├── fpdf_render.cpp
│       │       ├── fpdf_render_cache.cpp
│       │       ├── fpdf_render_image.cpp
│       │       ├── fpdf_render_loadimage.cpp
│       │       ├── fpdf_render_pattern.cpp
│       │       ├── fpdf_render_text.cpp
│       │       └── render_int.h
│       ├── fpdfdoc/
│       │   ├── doc_action.cpp
│       │   ├── doc_annot.cpp
│       │   ├── doc_ap.cpp
│       │   ├── doc_basic.cpp
│       │   ├── doc_bookmark.cpp
│       │   ├── doc_form.cpp
│       │   ├── doc_formcontrol.cpp
│       │   ├── doc_formfield.cpp
│       │   ├── doc_link.cpp
│       │   ├── doc_metadata.cpp
│       │   ├── doc_ocg.cpp
│       │   ├── doc_tagged.cpp
│       │   ├── doc_utils.cpp
│       │   ├── doc_viewerPreferences.cpp
│       │   ├── doc_vt.cpp
│       │   ├── doc_vtmodule.cpp
│       │   ├── pdf_vt.h
│       │   └── tagged_int.h
│       ├── fpdftext/
│       │   ├── fpdf_text.cpp
│       │   ├── fpdf_text_int.cpp
│       │   ├── fpdf_text_search.cpp
│       │   ├── text_int.h
│       │   ├── txtproc.h
│       │   ├── unicodenormalization.cpp
│       │   └── unicodenormalizationdata.cpp
│       ├── fx_freetype.h
│       ├── fx_jpeglib.h
│       ├── fx_zlib.h
│       ├── fxcodec/
│       │   ├── codec/
│       │   │   ├── codec_int.h
│       │   │   ├── fx_codec.cpp
│       │   │   ├── fx_codec_fax.cpp
│       │   │   ├── fx_codec_flate.cpp
│       │   │   ├── fx_codec_icc.cpp
│       │   │   ├── fx_codec_jbig.cpp
│       │   │   ├── fx_codec_jbig_enc.cpp
│       │   │   ├── fx_codec_jpeg.cpp
│       │   │   └── fx_codec_jpx_opj.cpp
│       │   ├── fx_libopenjpeg/
│       │   │   ├── include/
│       │   │   │   └── fx_openjpeg.h
│       │   │   ├── libopenjpeg20/
│       │   │   │   ├── CMakeLists.txt
│       │   │   │   ├── bio.c
│       │   │   │   ├── bio.h
│       │   │   │   ├── cio.c
│       │   │   │   ├── cio.h
│       │   │   │   ├── dwt.c
│       │   │   │   ├── dwt.h
│       │   │   │   ├── event.c
│       │   │   │   ├── event.h
│       │   │   │   ├── function_list.c
│       │   │   │   ├── function_list.h
│       │   │   │   ├── image.c
│       │   │   │   ├── image.h
│       │   │   │   ├── indexbox_manager.h
│       │   │   │   ├── invert.c
│       │   │   │   ├── invert.h
│       │   │   │   ├── j2k.c
│       │   │   │   ├── j2k.h
│       │   │   │   ├── jp2.c
│       │   │   │   ├── jp2.h
│       │   │   │   ├── mct.c
│       │   │   │   ├── mct.h
│       │   │   │   ├── mqc.c
│       │   │   │   ├── mqc.h
│       │   │   │   ├── openjpeg.c
│       │   │   │   ├── openjpeg.h
│       │   │   │   ├── opj_clock.c
│       │   │   │   ├── opj_clock.h
│       │   │   │   ├── opj_codec.h
│       │   │   │   ├── opj_config.h
│       │   │   │   ├── opj_config.h.cmake.in
│       │   │   │   ├── opj_config_private.h
│       │   │   │   ├── opj_includes.h
│       │   │   │   ├── opj_intmath.h
│       │   │   │   ├── opj_inttypes.h
│       │   │   │   ├── opj_malloc.h
│       │   │   │   ├── opj_stdint.h
│       │   │   │   ├── pi.c
│       │   │   │   ├── pi.h
│       │   │   │   ├── raw.c
│       │   │   │   ├── raw.h
│       │   │   │   ├── t1.c
│       │   │   │   ├── t1.h
│       │   │   │   ├── t1_generate_luts.c
│       │   │   │   ├── t1_luts.h
│       │   │   │   ├── t2.c
│       │   │   │   ├── t2.h
│       │   │   │   ├── tcd.c
│       │   │   │   ├── tcd.h
│       │   │   │   ├── tgt.c
│       │   │   │   └── tgt.h
│       │   │   └── src/
│       │   │       ├── fx_bio.c
│       │   │       ├── fx_cio.c
│       │   │       ├── fx_dwt.c
│       │   │       ├── fx_event.c
│       │   │       ├── fx_function_list.c
│       │   │       ├── fx_image.c
│       │   │       ├── fx_invert.c
│       │   │       ├── fx_j2k.c
│       │   │       ├── fx_j2k_lib.c
│       │   │       ├── fx_jpt.c
│       │   │       ├── fx_mct.c
│       │   │       ├── fx_mqc.c
│       │   │       ├── fx_openjpeg.c
│       │   │       ├── fx_openjpeg_jp2.c
│       │   │       ├── fx_opj_clock.c
│       │   │       ├── fx_pi.c
│       │   │       ├── fx_raw.c
│       │   │       ├── fx_t1.c
│       │   │       ├── fx_t1_generate_luts.c
│       │   │       ├── fx_t2.c
│       │   │       ├── fx_tcd.c
│       │   │       └── fx_tgt.c
│       │   ├── fx_zlib/
│       │   │   ├── include/
│       │   │   │   └── fx_zlib.h
│       │   │   ├── src/
│       │   │   │   ├── fx_zlib_adler32.c
│       │   │   │   ├── fx_zlib_compress.c
│       │   │   │   ├── fx_zlib_crc32.c
│       │   │   │   ├── fx_zlib_deflate.c
│       │   │   │   ├── fx_zlib_gzclose.c
│       │   │   │   ├── fx_zlib_gzlib.c
│       │   │   │   ├── fx_zlib_gzread.c
│       │   │   │   ├── fx_zlib_gzwrite.c
│       │   │   │   ├── fx_zlib_infback.c
│       │   │   │   ├── fx_zlib_inffast.c
│       │   │   │   ├── fx_zlib_inflate.c
│       │   │   │   ├── fx_zlib_inftrees.c
│       │   │   │   ├── fx_zlib_trees.c
│       │   │   │   ├── fx_zlib_uncompr.c
│       │   │   │   └── fx_zlib_zutil.c
│       │   │   └── zlib_v128/
│       │   │       ├── crc32.h
│       │   │       ├── deflate.h
│       │   │       ├── fx_zlib_adler32.c
│       │   │       ├── fx_zlib_compress.c
│       │   │       ├── fx_zlib_crc32.c
│       │   │       ├── fx_zlib_deflate.c
│       │   │       ├── fx_zlib_infback.c
│       │   │       ├── fx_zlib_inffast.c
│       │   │       ├── fx_zlib_inflate.c
│       │   │       ├── fx_zlib_inftrees.c
│       │   │       ├── fx_zlib_trees.c
│       │   │       ├── fx_zlib_uncompr.c
│       │   │       ├── fx_zlib_zutil.c
│       │   │       ├── gzclose.c
│       │   │       ├── gzguts.h
│       │   │       ├── gzlib.c
│       │   │       ├── gzread.c
│       │   │       ├── gzwrite.c
│       │   │       ├── inffast.h
│       │   │       ├── inffixed.h
│       │   │       ├── inflate.h
│       │   │       ├── inftrees.h
│       │   │       ├── trees.h
│       │   │       ├── zconf.h
│       │   │       ├── zlib.h
│       │   │       └── zutil.h
│       │   ├── jbig2/
│       │   │   ├── JBig2_ArithDecoder.h
│       │   │   ├── JBig2_ArithIntDecoder.cpp
│       │   │   ├── JBig2_ArithIntDecoder.h
│       │   │   ├── JBig2_ArithQe.h
│       │   │   ├── JBig2_BitStream.h
│       │   │   ├── JBig2_Context.cpp
│       │   │   ├── JBig2_Context.h
│       │   │   ├── JBig2_Define.h
│       │   │   ├── JBig2_GeneralDecoder.cpp
│       │   │   ├── JBig2_GeneralDecoder.h
│       │   │   ├── JBig2_HuffmanDecoder.cpp
│       │   │   ├── JBig2_HuffmanDecoder.h
│       │   │   ├── JBig2_HuffmanTable.cpp
│       │   │   ├── JBig2_HuffmanTable.h
│       │   │   ├── JBig2_HuffmanTable_Standard.h
│       │   │   ├── JBig2_Image.cpp
│       │   │   ├── JBig2_Image.h
│       │   │   ├── JBig2_List.h
│       │   │   ├── JBig2_Module.h
│       │   │   ├── JBig2_Object.cpp
│       │   │   ├── JBig2_Object.h
│       │   │   ├── JBig2_Page.h
│       │   │   ├── JBig2_PatternDict.cpp
│       │   │   ├── JBig2_PatternDict.h
│       │   │   ├── JBig2_Segment.cpp
│       │   │   ├── JBig2_Segment.h
│       │   │   ├── JBig2_SymbolDict.cpp
│       │   │   └── JBig2_SymbolDict.h
│       │   ├── lcms2/
│       │   │   ├── include/
│       │   │   │   ├── fx_lcms2.h
│       │   │   │   └── fx_lcms2_plugin.h
│       │   │   ├── lcms2-2.6/
│       │   │   │   ├── include/
│       │   │   │   │   ├── lcms2.h
│       │   │   │   │   └── lcms2_plugin.h
│       │   │   │   └── src/
│       │   │   │       ├── cmscam02.c
│       │   │   │       ├── cmscgats.c
│       │   │   │       ├── cmscnvrt.c
│       │   │   │       ├── cmserr.c
│       │   │   │       ├── cmsgamma.c
│       │   │   │       ├── cmsgmt.c
│       │   │   │       ├── cmshalf.c
│       │   │   │       ├── cmsintrp.c
│       │   │   │       ├── cmsio0.c
│       │   │   │       ├── cmsio1.c
│       │   │   │       ├── cmslut.c
│       │   │   │       ├── cmsmd5.c
│       │   │   │       ├── cmsmtrx.c
│       │   │   │       ├── cmsnamed.c
│       │   │   │       ├── cmsopt.c
│       │   │   │       ├── cmspack.c
│       │   │   │       ├── cmspcs.c
│       │   │   │       ├── cmsplugin.c
│       │   │   │       ├── cmsps2.c
│       │   │   │       ├── cmssamp.c
│       │   │   │       ├── cmssm.c
│       │   │   │       ├── cmstypes.c
│       │   │   │       ├── cmsvirt.c
│       │   │   │       ├── cmswtpnt.c
│       │   │   │       ├── cmsxform.c
│       │   │   │       └── lcms2_internal.h
│       │   │   └── src/
│       │   │       ├── fx_cmscam02.c
│       │   │       ├── fx_cmscgats.c
│       │   │       ├── fx_cmscnvrt.c
│       │   │       ├── fx_cmserr.c
│       │   │       ├── fx_cmsgamma.c
│       │   │       ├── fx_cmsgmt.c
│       │   │       ├── fx_cmshalf.c
│       │   │       ├── fx_cmsintrp.c
│       │   │       ├── fx_cmsio0.c
│       │   │       ├── fx_cmsio1.c
│       │   │       ├── fx_cmslut.c
│       │   │       ├── fx_cmsmd5.c
│       │   │       ├── fx_cmsmtrx.c
│       │   │       ├── fx_cmsnamed.c
│       │   │       ├── fx_cmsopt.c
│       │   │       ├── fx_cmspack.c
│       │   │       ├── fx_cmspcs.c
│       │   │       ├── fx_cmsplugin.c
│       │   │       ├── fx_cmsps2.c
│       │   │       ├── fx_cmssamp.c
│       │   │       ├── fx_cmssm.c
│       │   │       ├── fx_cmstypes.c
│       │   │       ├── fx_cmsvirt.c
│       │   │       ├── fx_cmswtpnt.c
│       │   │       └── fx_cmsxform.c
│       │   └── libjpeg/
│       │       ├── cderror.h
│       │       ├── cdjpeg.h
│       │       ├── fpdfapi_jcapimin.c
│       │       ├── fpdfapi_jcapistd.c
│       │       ├── fpdfapi_jccoefct.c
│       │       ├── fpdfapi_jccolor.c
│       │       ├── fpdfapi_jcdctmgr.c
│       │       ├── fpdfapi_jchuff.c
│       │       ├── fpdfapi_jcinit.c
│       │       ├── fpdfapi_jcmainct.c
│       │       ├── fpdfapi_jcmarker.c
│       │       ├── fpdfapi_jcmaster.c
│       │       ├── fpdfapi_jcomapi.c
│       │       ├── fpdfapi_jcparam.c
│       │       ├── fpdfapi_jcphuff.c
│       │       ├── fpdfapi_jcprepct.c
│       │       ├── fpdfapi_jcsample.c
│       │       ├── fpdfapi_jctrans.c
│       │       ├── fpdfapi_jdapimin.c
│       │       ├── fpdfapi_jdapistd.c
│       │       ├── fpdfapi_jdcoefct.c
│       │       ├── fpdfapi_jdcolor.c
│       │       ├── fpdfapi_jddctmgr.c
│       │       ├── fpdfapi_jdhuff.c
│       │       ├── fpdfapi_jdinput.c
│       │       ├── fpdfapi_jdmainct.c
│       │       ├── fpdfapi_jdmarker.c
│       │       ├── fpdfapi_jdmaster.c
│       │       ├── fpdfapi_jdmerge.c
│       │       ├── fpdfapi_jdphuff.c
│       │       ├── fpdfapi_jdpostct.c
│       │       ├── fpdfapi_jdsample.c
│       │       ├── fpdfapi_jdtrans.c
│       │       ├── fpdfapi_jerror.c
│       │       ├── fpdfapi_jfdctfst.c
│       │       ├── fpdfapi_jfdctint.c
│       │       ├── fpdfapi_jidctfst.c
│       │       ├── fpdfapi_jidctint.c
│       │       ├── fpdfapi_jidctred.c
│       │       ├── fpdfapi_jmemmgr.c
│       │       ├── fpdfapi_jmemnobs.c
│       │       ├── fpdfapi_jutils.c
│       │       ├── jchuff.h
│       │       ├── jconfig.h
│       │       ├── jdct.h
│       │       ├── jdhuff.h
│       │       ├── jerror.h
│       │       ├── jinclude.h
│       │       ├── jmemsys.h
│       │       ├── jmorecfg.h
│       │       ├── jpegint.h
│       │       ├── jpeglib.h
│       │       ├── jversion.h
│       │       ├── makefile
│       │       └── transupp.h
│       ├── fxcrt/
│       │   ├── extension.h
│       │   ├── fx_arabic.cpp
│       │   ├── fx_arabic.h
│       │   ├── fx_basic_array.cpp
│       │   ├── fx_basic_bstring.cpp
│       │   ├── fx_basic_buffer.cpp
│       │   ├── fx_basic_coords.cpp
│       │   ├── fx_basic_gcc.cpp
│       │   ├── fx_basic_list.cpp
│       │   ├── fx_basic_maps.cpp
│       │   ├── fx_basic_memmgr.cpp
│       │   ├── fx_basic_plex.cpp
│       │   ├── fx_basic_utf.cpp
│       │   ├── fx_basic_util.cpp
│       │   ├── fx_basic_wstring.cpp
│       │   ├── fx_extension.cpp
│       │   ├── fx_ucddata.cpp
│       │   ├── fx_unicode.cpp
│       │   ├── fx_xml_composer.cpp
│       │   ├── fx_xml_parser.cpp
│       │   ├── fxcrt_platforms.cpp
│       │   ├── fxcrt_platforms.h
│       │   ├── fxcrt_posix.cpp
│       │   ├── fxcrt_posix.h
│       │   ├── fxcrt_windows.cpp
│       │   ├── fxcrt_windows.h
│       │   ├── plex.h
│       │   └── xml_int.h
│       ├── fxge/
│       │   ├── agg/
│       │   │   ├── agg23/
│       │   │   │   ├── agg_array.h
│       │   │   │   ├── agg_basics.h
│       │   │   │   ├── agg_clip_liang_barsky.h
│       │   │   │   ├── agg_color_gray.h
│       │   │   │   ├── agg_conv_adaptor_vcgen.h
│       │   │   │   ├── agg_conv_dash.h
│       │   │   │   ├── agg_conv_stroke.h
│       │   │   │   ├── agg_curves.h
│       │   │   │   ├── agg_math.h
│       │   │   │   ├── agg_math_stroke.h
│       │   │   │   ├── agg_path_storage.h
│       │   │   │   ├── agg_pixfmt_gray.h
│       │   │   │   ├── agg_rasterizer_scanline_aa.h
│       │   │   │   ├── agg_render_scanlines.h
│       │   │   │   ├── agg_renderer_base.h
│       │   │   │   ├── agg_renderer_scanline.h
│       │   │   │   ├── agg_rendering_buffer.h
│       │   │   │   ├── agg_scanline_u.h
│       │   │   │   ├── agg_shorten_path.h
│       │   │   │   ├── agg_vcgen_dash.h
│       │   │   │   ├── agg_vcgen_stroke.h
│       │   │   │   ├── agg_vertex_sequence.h
│       │   │   │   ├── fx_agg_curves.cpp
│       │   │   │   ├── fx_agg_driver.cpp
│       │   │   │   ├── fx_agg_path_storage.cpp
│       │   │   │   ├── fx_agg_rasterizer_scanline_aa.cpp
│       │   │   │   ├── fx_agg_vcgen_dash.cpp
│       │   │   │   └── fx_agg_vcgen_stroke.cpp
│       │   │   ├── include/
│       │   │   │   ├── fx_agg_driver.h
│       │   │   │   ├── fxfx_agg_basics.h
│       │   │   │   ├── fxfx_agg_clip_liang_barsky.h
│       │   │   │   ├── fxfx_agg_conv_dash.h
│       │   │   │   ├── fxfx_agg_conv_stroke.h
│       │   │   │   ├── fxfx_agg_curves.h
│       │   │   │   ├── fxfx_agg_path_storage.h
│       │   │   │   ├── fxfx_agg_rasterizer_scanline_aa.h
│       │   │   │   ├── fxfx_agg_renderer_scanline.h
│       │   │   │   ├── fxfx_agg_rendering_buffer.h
│       │   │   │   └── fxfx_agg_scanline_u.h
│       │   │   └── src/
│       │   │       ├── fxfx_agg_curves.cpp
│       │   │       ├── fxfx_agg_driver.cpp
│       │   │       ├── fxfx_agg_path_storage.cpp
│       │   │       ├── fxfx_agg_rasterizer_scanline_aa.cpp
│       │   │       ├── fxfx_agg_vcgen_dash.cpp
│       │   │       └── fxfx_agg_vcgen_stroke.cpp
│       │   ├── android/
│       │   │   ├── fpf_skiafont.cpp
│       │   │   ├── fpf_skiafont.h
│       │   │   ├── fpf_skiafontmgr.cpp
│       │   │   ├── fpf_skiafontmgr.h
│       │   │   ├── fpf_skiamodule.cpp
│       │   │   ├── fpf_skiamodule.h
│       │   │   ├── fx_android_font.cpp
│       │   │   ├── fx_android_font.h
│       │   │   ├── fx_android_imp.cpp
│       │   │   └── fx_fpf.h
│       │   ├── apple/
│       │   │   ├── apple_int.h
│       │   │   ├── fx_apple_platform.cpp
│       │   │   ├── fx_mac_imp.cpp
│       │   │   └── fx_quartz_device.cpp
│       │   ├── dib/
│       │   │   ├── dib_int.h
│       │   │   ├── fx_dib_composite.cpp
│       │   │   ├── fx_dib_convert.cpp
│       │   │   ├── fx_dib_engine.cpp
│       │   │   ├── fx_dib_main.cpp
│       │   │   └── fx_dib_transform.cpp
│       │   ├── fontdata/
│       │   │   └── chromefontdata/
│       │   │       ├── FoxitDingbats.c
│       │   │       ├── FoxitFixed.c
│       │   │       ├── FoxitFixedBold.c
│       │   │       ├── FoxitFixedBoldItalic.c
│       │   │       ├── FoxitFixedItalic.c
│       │   │       ├── FoxitSans.c
│       │   │       ├── FoxitSansBold.c
│       │   │       ├── FoxitSansBoldItalic.c
│       │   │       ├── FoxitSansItalic.c
│       │   │       ├── FoxitSansMM.c
│       │   │       ├── FoxitSerif.c
│       │   │       ├── FoxitSerifBold.c
│       │   │       ├── FoxitSerifBoldItalic.c
│       │   │       ├── FoxitSerifItalic.c
│       │   │       ├── FoxitSerifMM.c
│       │   │       └── FoxitSymbol.c
│       │   ├── fx_freetype/
│       │   │   ├── fxft2.5.01/
│       │   │   │   ├── include/
│       │   │   │   │   ├── foxitnames.h
│       │   │   │   │   ├── freetype/
│       │   │   │   │   │   ├── config/
│       │   │   │   │   │   │   ├── ftconfig.h
│       │   │   │   │   │   │   ├── ftheader.h
│       │   │   │   │   │   │   ├── ftmodule.h
│       │   │   │   │   │   │   ├── ftoption.h
│       │   │   │   │   │   │   └── ftstdlib.h
│       │   │   │   │   │   ├── freetype.h
│       │   │   │   │   │   ├── ftadvanc.h
│       │   │   │   │   │   ├── ftautoh.h
│       │   │   │   │   │   ├── ftbbox.h
│       │   │   │   │   │   ├── ftbdf.h
│       │   │   │   │   │   ├── ftbitmap.h
│       │   │   │   │   │   ├── ftbzip2.h
│       │   │   │   │   │   ├── ftcache.h
│       │   │   │   │   │   ├── ftcffdrv.h
│       │   │   │   │   │   ├── ftcid.h
│       │   │   │   │   │   ├── fterrdef.h
│       │   │   │   │   │   ├── fterrors.h
│       │   │   │   │   │   ├── ftgasp.h
│       │   │   │   │   │   ├── ftglyph.h
│       │   │   │   │   │   ├── ftgxval.h
│       │   │   │   │   │   ├── ftgzip.h
│       │   │   │   │   │   ├── ftimage.h
│       │   │   │   │   │   ├── ftincrem.h
│       │   │   │   │   │   ├── ftlcdfil.h
│       │   │   │   │   │   ├── ftlist.h
│       │   │   │   │   │   ├── ftlzw.h
│       │   │   │   │   │   ├── ftmac.h
│       │   │   │   │   │   ├── ftmm.h
│       │   │   │   │   │   ├── ftmodapi.h
│       │   │   │   │   │   ├── ftmoderr.h
│       │   │   │   │   │   ├── ftotval.h
│       │   │   │   │   │   ├── ftoutln.h
│       │   │   │   │   │   ├── ftpfr.h
│       │   │   │   │   │   ├── ftrender.h
│       │   │   │   │   │   ├── ftsizes.h
│       │   │   │   │   │   ├── ftsnames.h
│       │   │   │   │   │   ├── ftstroke.h
│       │   │   │   │   │   ├── ftsynth.h
│       │   │   │   │   │   ├── ftsystem.h
│       │   │   │   │   │   ├── fttrigon.h
│       │   │   │   │   │   ├── ftttdrv.h
│       │   │   │   │   │   ├── fttypes.h
│       │   │   │   │   │   ├── ftwinfnt.h
│       │   │   │   │   │   ├── ftxf86.h
│       │   │   │   │   │   ├── internal/
│       │   │   │   │   │   │   ├── autohint.h
│       │   │   │   │   │   │   ├── ftcalc.h
│       │   │   │   │   │   │   ├── ftdebug.h
│       │   │   │   │   │   │   ├── ftdriver.h
│       │   │   │   │   │   │   ├── ftgloadr.h
│       │   │   │   │   │   │   ├── ftmemory.h
│       │   │   │   │   │   │   ├── ftobjs.h
│       │   │   │   │   │   │   ├── ftpic.h
│       │   │   │   │   │   │   ├── ftrfork.h
│       │   │   │   │   │   │   ├── ftserv.h
│       │   │   │   │   │   │   ├── ftstream.h
│       │   │   │   │   │   │   ├── fttrace.h
│       │   │   │   │   │   │   ├── ftvalid.h
│       │   │   │   │   │   │   ├── internal.h
│       │   │   │   │   │   │   ├── psaux.h
│       │   │   │   │   │   │   ├── pshints.h
│       │   │   │   │   │   │   ├── services/
│       │   │   │   │   │   │   │   ├── svbdf.h
│       │   │   │   │   │   │   │   ├── svcid.h
│       │   │   │   │   │   │   │   ├── svgldict.h
│       │   │   │   │   │   │   │   ├── svgxval.h
│       │   │   │   │   │   │   │   ├── svkern.h
│       │   │   │   │   │   │   │   ├── svmm.h
│       │   │   │   │   │   │   │   ├── svotval.h
│       │   │   │   │   │   │   │   ├── svpfr.h
│       │   │   │   │   │   │   │   ├── svpostnm.h
│       │   │   │   │   │   │   │   ├── svprop.h
│       │   │   │   │   │   │   │   ├── svpscmap.h
│       │   │   │   │   │   │   │   ├── svpsinfo.h
│       │   │   │   │   │   │   │   ├── svsfnt.h
│       │   │   │   │   │   │   │   ├── svttcmap.h
│       │   │   │   │   │   │   │   ├── svtteng.h
│       │   │   │   │   │   │   │   ├── svttglyf.h
│       │   │   │   │   │   │   │   ├── svwinfnt.h
│       │   │   │   │   │   │   │   └── svxf86nm.h
│       │   │   │   │   │   │   ├── sfnt.h
│       │   │   │   │   │   │   ├── t1types.h
│       │   │   │   │   │   │   └── tttypes.h
│       │   │   │   │   │   ├── t1tables.h
│       │   │   │   │   │   ├── ttnameid.h
│       │   │   │   │   │   ├── tttables.h
│       │   │   │   │   │   ├── tttags.h
│       │   │   │   │   │   └── ttunpat.h
│       │   │   │   │   └── ft2build.h
│       │   │   │   └── src/
│       │   │   │       ├── base/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── basepic.c
│       │   │   │       │   ├── basepic.h
│       │   │   │       │   ├── ftadvanc.c
│       │   │   │       │   ├── ftapi.c
│       │   │   │       │   ├── ftbase.h
│       │   │   │       │   ├── ftbbox.c
│       │   │   │       │   ├── ftbdf.c
│       │   │   │       │   ├── ftcalc.c
│       │   │   │       │   ├── ftcid.c
│       │   │   │       │   ├── ftdbgmem.c
│       │   │   │       │   ├── ftdebug.c
│       │   │   │       │   ├── ftfstype.c
│       │   │   │       │   ├── ftgasp.c
│       │   │   │       │   ├── ftgloadr.c
│       │   │   │       │   ├── ftgxval.c
│       │   │   │       │   ├── ftmac.c
│       │   │   │       │   ├── ftobjs.c
│       │   │   │       │   ├── ftotval.c
│       │   │   │       │   ├── ftoutln.c
│       │   │   │       │   ├── ftpatent.c
│       │   │   │       │   ├── ftpfr.c
│       │   │   │       │   ├── ftpic.c
│       │   │   │       │   ├── ftrfork.c
│       │   │   │       │   ├── ftsnames.c
│       │   │   │       │   ├── ftstream.c
│       │   │   │       │   ├── ftstroke.c
│       │   │   │       │   ├── ftsynth.c
│       │   │   │       │   ├── fttrigon.c
│       │   │   │       │   ├── fttype1.c
│       │   │   │       │   ├── ftutil.c
│       │   │   │       │   ├── ftwinfnt.c
│       │   │   │       │   ├── ftxf86.c
│       │   │   │       │   ├── fxft_ftbase.c
│       │   │   │       │   ├── fxft_ftbitmap.c
│       │   │   │       │   ├── fxft_ftglyph.c
│       │   │   │       │   ├── fxft_ftinit.c
│       │   │   │       │   ├── fxft_ftlcdfil.c
│       │   │   │       │   ├── fxft_ftmm.c
│       │   │   │       │   ├── fxft_ftsystem.c
│       │   │   │       │   ├── md5.c
│       │   │   │       │   └── md5.h
│       │   │   │       ├── cff/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── cf2arrst.c
│       │   │   │       │   ├── cf2arrst.h
│       │   │   │       │   ├── cf2blues.c
│       │   │   │       │   ├── cf2blues.h
│       │   │   │       │   ├── cf2error.c
│       │   │   │       │   ├── cf2error.h
│       │   │   │       │   ├── cf2fixed.h
│       │   │   │       │   ├── cf2font.c
│       │   │   │       │   ├── cf2font.h
│       │   │   │       │   ├── cf2ft.c
│       │   │   │       │   ├── cf2ft.h
│       │   │   │       │   ├── cf2glue.h
│       │   │   │       │   ├── cf2hints.c
│       │   │   │       │   ├── cf2hints.h
│       │   │   │       │   ├── cf2intrp.c
│       │   │   │       │   ├── cf2intrp.h
│       │   │   │       │   ├── cf2read.c
│       │   │   │       │   ├── cf2read.h
│       │   │   │       │   ├── cf2stack.c
│       │   │   │       │   ├── cf2stack.h
│       │   │   │       │   ├── cf2types.h
│       │   │   │       │   ├── cffcmap.c
│       │   │   │       │   ├── cffcmap.h
│       │   │   │       │   ├── cffdrivr.c
│       │   │   │       │   ├── cffdrivr.h
│       │   │   │       │   ├── cfferrs.h
│       │   │   │       │   ├── cffgload.c
│       │   │   │       │   ├── cffgload.h
│       │   │   │       │   ├── cffload.c
│       │   │   │       │   ├── cffload.h
│       │   │   │       │   ├── cffobjs.c
│       │   │   │       │   ├── cffobjs.h
│       │   │   │       │   ├── cffparse.c
│       │   │   │       │   ├── cffparse.h
│       │   │   │       │   ├── cffpic.c
│       │   │   │       │   ├── cffpic.h
│       │   │   │       │   ├── cfftoken.h
│       │   │   │       │   ├── cfftypes.h
│       │   │   │       │   └── fxft_cff.c
│       │   │   │       ├── cid/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── ciderrs.h
│       │   │   │       │   ├── cidgload.c
│       │   │   │       │   ├── cidgload.h
│       │   │   │       │   ├── cidload.c
│       │   │   │       │   ├── cidload.h
│       │   │   │       │   ├── cidobjs.c
│       │   │   │       │   ├── cidobjs.h
│       │   │   │       │   ├── cidparse.c
│       │   │   │       │   ├── cidparse.h
│       │   │   │       │   ├── cidriver.c
│       │   │   │       │   ├── cidriver.h
│       │   │   │       │   ├── cidtoken.h
│       │   │   │       │   └── fxft_type1cid.c
│       │   │   │       ├── psaux/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── afmparse.c
│       │   │   │       │   ├── afmparse.h
│       │   │   │       │   ├── fxft_psaux.c
│       │   │   │       │   ├── psauxerr.h
│       │   │   │       │   ├── psauxmod.c
│       │   │   │       │   ├── psauxmod.h
│       │   │   │       │   ├── psconv.c
│       │   │   │       │   ├── psconv.h
│       │   │   │       │   ├── psobjs.c
│       │   │   │       │   ├── psobjs.h
│       │   │   │       │   ├── t1cmap.c
│       │   │   │       │   ├── t1cmap.h
│       │   │   │       │   ├── t1decode.c
│       │   │   │       │   └── t1decode.h
│       │   │   │       ├── pshinter/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_pshinter.c
│       │   │   │       │   ├── pshalgo.c
│       │   │   │       │   ├── pshalgo.h
│       │   │   │       │   ├── pshglob.c
│       │   │   │       │   ├── pshglob.h
│       │   │   │       │   ├── pshmod.c
│       │   │   │       │   ├── pshmod.h
│       │   │   │       │   ├── pshnterr.h
│       │   │   │       │   ├── pshpic.c
│       │   │   │       │   ├── pshpic.h
│       │   │   │       │   ├── pshrec.c
│       │   │   │       │   └── pshrec.h
│       │   │   │       ├── psnames/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_psmodule.c
│       │   │   │       │   ├── psmodule.h
│       │   │   │       │   ├── psnamerr.h
│       │   │   │       │   ├── psnames.c
│       │   │   │       │   ├── pspic.c
│       │   │   │       │   ├── pspic.h
│       │   │   │       │   └── pstables.h
│       │   │   │       ├── raster/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── ftmisc.h
│       │   │   │       │   ├── ftraster.c
│       │   │   │       │   ├── ftraster.h
│       │   │   │       │   ├── ftrend1.c
│       │   │   │       │   ├── ftrend1.h
│       │   │   │       │   ├── fxft_raster.c
│       │   │   │       │   ├── rasterrs.h
│       │   │   │       │   ├── rastpic.c
│       │   │   │       │   └── rastpic.h
│       │   │   │       ├── sfnt/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_sfnt.c
│       │   │   │       │   ├── pngshim.c
│       │   │   │       │   ├── pngshim.h
│       │   │   │       │   ├── sfdriver.c
│       │   │   │       │   ├── sfdriver.h
│       │   │   │       │   ├── sferrors.h
│       │   │   │       │   ├── sfntpic.c
│       │   │   │       │   ├── sfntpic.h
│       │   │   │       │   ├── sfobjs.c
│       │   │   │       │   ├── sfobjs.h
│       │   │   │       │   ├── ttbdf.c
│       │   │   │       │   ├── ttbdf.h
│       │   │   │       │   ├── ttcmap.c
│       │   │   │       │   ├── ttcmap.h
│       │   │   │       │   ├── ttcmapc.h
│       │   │   │       │   ├── ttkern.c
│       │   │   │       │   ├── ttkern.h
│       │   │   │       │   ├── ttload.c
│       │   │   │       │   ├── ttload.h
│       │   │   │       │   ├── ttmtx.c
│       │   │   │       │   ├── ttmtx.h
│       │   │   │       │   ├── ttpost.c
│       │   │   │       │   ├── ttpost.h
│       │   │   │       │   ├── ttsbit.c
│       │   │   │       │   └── ttsbit.h
│       │   │   │       ├── smooth/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── ftgrays.c
│       │   │   │       │   ├── ftgrays.h
│       │   │   │       │   ├── ftsmerrs.h
│       │   │   │       │   ├── ftsmooth.c
│       │   │   │       │   ├── ftsmooth.h
│       │   │   │       │   ├── ftspic.c
│       │   │   │       │   ├── ftspic.h
│       │   │   │       │   └── fxft_smooth.c
│       │   │   │       ├── truetype/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_truetype.c
│       │   │   │       │   ├── ttdriver.c
│       │   │   │       │   ├── ttdriver.h
│       │   │   │       │   ├── tterrors.h
│       │   │   │       │   ├── ttgload.c
│       │   │   │       │   ├── ttgload.h
│       │   │   │       │   ├── ttgxvar.c
│       │   │   │       │   ├── ttgxvar.h
│       │   │   │       │   ├── ttinterp.c
│       │   │   │       │   ├── ttinterp.h
│       │   │   │       │   ├── ttobjs.c
│       │   │   │       │   ├── ttobjs.h
│       │   │   │       │   ├── ttpic.c
│       │   │   │       │   ├── ttpic.h
│       │   │   │       │   ├── ttpload.c
│       │   │   │       │   ├── ttpload.h
│       │   │   │       │   ├── ttsubpix.c
│       │   │   │       │   └── ttsubpix.h
│       │   │   │       └── type1/
│       │   │   │           ├── Jamfile
│       │   │   │           ├── fxft_type1.c
│       │   │   │           ├── t1afm.c
│       │   │   │           ├── t1afm.h
│       │   │   │           ├── t1driver.c
│       │   │   │           ├── t1driver.h
│       │   │   │           ├── t1errors.h
│       │   │   │           ├── t1gload.c
│       │   │   │           ├── t1gload.h
│       │   │   │           ├── t1load.c
│       │   │   │           ├── t1load.h
│       │   │   │           ├── t1objs.c
│       │   │   │           ├── t1objs.h
│       │   │   │           ├── t1parse.c
│       │   │   │           ├── t1parse.h
│       │   │   │           └── t1tokens.h
│       │   │   ├── include/
│       │   │   │   ├── fxft_cffobjs.h
│       │   │   │   ├── fxft_cfftypes.h
│       │   │   │   ├── fxft_freetype.h
│       │   │   │   ├── fxft_ft2build.h
│       │   │   │   ├── fxft_ftmm.h
│       │   │   │   ├── fxft_ftobjs.h
│       │   │   │   ├── fxft_ftotval.h
│       │   │   │   ├── fxft_ftoutln.h
│       │   │   │   ├── fxft_ftstream.h
│       │   │   │   ├── fxft_tttables.h
│       │   │   │   └── fxft_tttypes.h
│       │   │   └── src/
│       │   │       ├── fxft_cff.c
│       │   │       ├── fxft_ftbase.c
│       │   │       ├── fxft_ftbitmap.c
│       │   │       ├── fxft_ftglyph.c
│       │   │       ├── fxft_ftinit.c
│       │   │       ├── fxft_ftlcdfil.c
│       │   │       ├── fxft_ftmm.c
│       │   │       ├── fxft_ftsystem.c
│       │   │       ├── fxft_psaux.c
│       │   │       ├── fxft_pshinter.c
│       │   │       ├── fxft_psmodule.c
│       │   │       ├── fxft_raster.c
│       │   │       ├── fxft_sfnt.c
│       │   │       ├── fxft_smooth.c
│       │   │       ├── fxft_truetype.c
│       │   │       ├── fxft_type1.c
│       │   │       └── fxft_type1cid.c
│       │   ├── ge/
│       │   │   ├── fx_ge.cpp
│       │   │   ├── fx_ge_device.cpp
│       │   │   ├── fx_ge_font.cpp
│       │   │   ├── fx_ge_fontmap.cpp
│       │   │   ├── fx_ge_linux.cpp
│       │   │   ├── fx_ge_path.cpp
│       │   │   ├── fx_ge_ps.cpp
│       │   │   ├── fx_ge_text.cpp
│       │   │   └── text_int.h
│       │   ├── skia/
│       │   │   ├── fx_skia_blitter_new.cpp
│       │   │   ├── fx_skia_blitter_new.h
│       │   │   ├── fx_skia_device.cpp
│       │   │   └── fx_skia_device.h
│       │   └── win32/
│       │       ├── dwrite_int.h
│       │       ├── fx_win32_device.cpp
│       │       ├── fx_win32_dib.cpp
│       │       ├── fx_win32_dwrite.cpp
│       │       ├── fx_win32_gdipext.cpp
│       │       ├── fx_win32_print.cpp
│       │       └── win32_int.h
│       └── reflow/
│           ├── autoreflow.cpp
│           ├── autoreflow.h
│           ├── layoutprocessor_reflow.cpp
│           ├── layoutprovider_taggedpdf.cpp
│           ├── layoutprovider_taggedpdf.h
│           ├── reflowedpage.cpp
│           ├── reflowedpage.h
│           ├── reflowedtextpage.cpp
│           ├── reflowedtextpage.h
│           └── reflowengine.cpp
├── fpdfsdk/
│   ├── include/
│   │   ├── formfiller/
│   │   │   ├── FFL_CBA_Fontmap.h
│   │   │   ├── FFL_CheckBox.h
│   │   │   ├── FFL_ComboBox.h
│   │   │   ├── FFL_FormFiller.h
│   │   │   ├── FFL_IFormFiller.h
│   │   │   ├── FFL_ListBox.h
│   │   │   ├── FFL_Notify.h
│   │   │   ├── FFL_PushButton.h
│   │   │   ├── FFL_RadioButton.h
│   │   │   ├── FFL_TextField.h
│   │   │   ├── FFL_Utils.h
│   │   │   └── FormFiller.h
│   │   ├── fpdf_dataavail.h
│   │   ├── fpdf_ext.h
│   │   ├── fpdf_flatten.h
│   │   ├── fpdf_fwlevent.h
│   │   ├── fpdf_progressive.h
│   │   ├── fpdf_searchex.h
│   │   ├── fpdf_sysfontinfo.h
│   │   ├── fpdf_transformpage.h
│   │   ├── fpdfdoc.h
│   │   ├── fpdfedit.h
│   │   ├── fpdfformfill.h
│   │   ├── fpdfoom.h
│   │   ├── fpdfppo.h
│   │   ├── fpdfsave.h
│   │   ├── fpdftext.h
│   │   ├── fpdfview.h
│   │   ├── fsdk_actionhandler.h
│   │   ├── fsdk_annothandler.h
│   │   ├── fsdk_baseannot.h
│   │   ├── fsdk_baseform.h
│   │   ├── fsdk_common.h
│   │   ├── fsdk_define.h
│   │   ├── fsdk_mgr.h
│   │   ├── fsdk_rendercontext.h
│   │   ├── fx_systemhandler.h
│   │   ├── fxedit/
│   │   │   ├── fx_edit.h
│   │   │   ├── fxet_edit.h
│   │   │   ├── fxet_list.h
│   │   │   └── fxet_stub.h
│   │   ├── javascript/
│   │   │   ├── Consts.h
│   │   │   ├── Document.h
│   │   │   ├── Field.h
│   │   │   ├── IJavaScript.h
│   │   │   ├── Icon.h
│   │   │   ├── JS_Console.h
│   │   │   ├── JS_Context.h
│   │   │   ├── JS_Define.h
│   │   │   ├── JS_EventHandler.h
│   │   │   ├── JS_GlobalData.h
│   │   │   ├── JS_Module.h
│   │   │   ├── JS_Object.h
│   │   │   ├── JS_Runtime.h
│   │   │   ├── JS_Value.h
│   │   │   ├── JavaScript.h
│   │   │   ├── PublicMethods.h
│   │   │   ├── app.h
│   │   │   ├── color.h
│   │   │   ├── console.h
│   │   │   ├── event.h
│   │   │   ├── global.h
│   │   │   ├── report.h
│   │   │   ├── resource.h
│   │   │   └── util.h
│   │   ├── jsapi/
│   │   │   └── fxjs_v8.h
│   │   └── pdfwindow/
│   │       ├── IPDFWindow.h
│   │       ├── PDFWindow.h
│   │       ├── PWL_Button.h
│   │       ├── PWL_Caret.h
│   │       ├── PWL_ComboBox.h
│   │       ├── PWL_Edit.h
│   │       ├── PWL_EditCtrl.h
│   │       ├── PWL_FontMap.h
│   │       ├── PWL_Icon.h
│   │       ├── PWL_IconList.h
│   │       ├── PWL_Label.h
│   │       ├── PWL_ListBox.h
│   │       ├── PWL_ListCtrl.h
│   │       ├── PWL_Note.h
│   │       ├── PWL_ScrollBar.h
│   │       ├── PWL_Signature.h
│   │       ├── PWL_SpecialButton.h
│   │       ├── PWL_Utils.h
│   │       └── PWL_Wnd.h
│   └── src/
│       ├── formfiller/
│       │   ├── FFL_CBA_Fontmap.cpp
│       │   ├── FFL_CheckBox.cpp
│       │   ├── FFL_ComboBox.cpp
│       │   ├── FFL_FormFiller.cpp
│       │   ├── FFL_IFormFiller.cpp
│       │   ├── FFL_ListBox.cpp
│       │   ├── FFL_Notify.cpp
│       │   ├── FFL_PushButton.cpp
│       │   ├── FFL_RadioButton.cpp
│       │   ├── FFL_TextField.cpp
│       │   └── FFL_Utils.cpp
│       ├── fpdf_dataavail.cpp
│       ├── fpdf_ext.cpp
│       ├── fpdf_flatten.cpp
│       ├── fpdf_progressive.cpp
│       ├── fpdf_searchex.cpp
│       ├── fpdf_sysfontinfo.cpp
│       ├── fpdf_transformpage.cpp
│       ├── fpdfdoc.cpp
│       ├── fpdfeditimg.cpp
│       ├── fpdfeditpage.cpp
│       ├── fpdfformfill.cpp
│       ├── fpdfoom.cpp
│       ├── fpdfppo.cpp
│       ├── fpdfsave.cpp
│       ├── fpdfsdkdll.rc
│       ├── fpdftext.cpp
│       ├── fpdfview.cpp
│       ├── fsdk_actionhandler.cpp
│       ├── fsdk_annothandler.cpp
│       ├── fsdk_baseannot.cpp
│       ├── fsdk_baseform.cpp
│       ├── fsdk_mgr.cpp
│       ├── fsdk_rendercontext.cpp
│       ├── fxedit/
│       │   ├── fxet_ap.cpp
│       │   ├── fxet_edit.cpp
│       │   ├── fxet_list.cpp
│       │   ├── fxet_module.cpp
│       │   └── fxet_pageobjs.cpp
│       ├── javascript/
│       │   ├── Consts.cpp
│       │   ├── Document.cpp
│       │   ├── Field.cpp
│       │   ├── Icon.cpp
│       │   ├── JS_Context.cpp
│       │   ├── JS_EventHandler.cpp
│       │   ├── JS_GlobalData.cpp
│       │   ├── JS_Object.cpp
│       │   ├── JS_Runtime.cpp
│       │   ├── JS_Value.cpp
│       │   ├── PublicMethods.cpp
│       │   ├── app.cpp
│       │   ├── color.cpp
│       │   ├── console.cpp
│       │   ├── event.cpp
│       │   ├── global.cpp
│       │   ├── report.cpp
│       │   └── util.cpp
│       ├── jsapi/
│       │   └── fxjs_v8.cpp
│       ├── pdfwindow/
│       │   ├── PWL_Button.cpp
│       │   ├── PWL_Caret.cpp
│       │   ├── PWL_ComboBox.cpp
│       │   ├── PWL_Edit.cpp
│       │   ├── PWL_EditCtrl.cpp
│       │   ├── PWL_FontMap.cpp
│       │   ├── PWL_Icon.cpp
│       │   ├── PWL_IconList.cpp
│       │   ├── PWL_Label.cpp
│       │   ├── PWL_ListBox.cpp
│       │   ├── PWL_ListCtrl.cpp
│       │   ├── PWL_Note.cpp
│       │   ├── PWL_ScrollBar.cpp
│       │   ├── PWL_Signature.cpp
│       │   ├── PWL_SpecialButton.cpp
│       │   ├── PWL_Utils.cpp
│       │   └── PWL_Wnd.cpp
│       └── resource.h
├── pdfium.gyp
├── pdfium.js/
│   ├── pdfium.js.cc
│   ├── pdfium.js.gyp
│   └── pdfium.js.lib.js
├── samples/
│   ├── pdfium_test.cc
│   └── samples.gyp
├── third_party/
│   ├── logging.h
│   ├── macros.h
│   ├── numerics/
│   │   ├── OWNERS
│   │   ├── safe_conversions.h
│   │   ├── safe_conversions_impl.h
│   │   ├── safe_math.h
│   │   └── safe_math_impl.h
│   └── template_util.h
└── web/
    ├── index.html
    ├── pdfium.css
    ├── pdfium.js
    ├── pdfium.js.mem
    ├── pdfjs.html
    └── viewer/
        ├── compatibility.js
        ├── debugger.js
        ├── images/
        │   ├── grab.cur
        │   └── grabbing.cur
        ├── index.html
        ├── l10n.js
        ├── locale/
        │   ├── ach/
        │   │   └── viewer.properties
        │   ├── af/
        │   │   └── viewer.properties
        │   ├── ak/
        │   │   └── viewer.properties
        │   ├── an/
        │   │   └── viewer.properties
        │   ├── ar/
        │   │   └── viewer.properties
        │   ├── as/
        │   │   └── viewer.properties
        │   ├── ast/
        │   │   └── viewer.properties
        │   ├── az/
        │   │   └── viewer.properties
        │   ├── be/
        │   │   └── viewer.properties
        │   ├── bg/
        │   │   └── viewer.properties
        │   ├── bn-BD/
        │   │   └── viewer.properties
        │   ├── bn-IN/
        │   │   └── viewer.properties
        │   ├── br/
        │   │   └── viewer.properties
        │   ├── bs/
        │   │   └── viewer.properties
        │   ├── ca/
        │   │   └── viewer.properties
        │   ├── cs/
        │   │   └── viewer.properties
        │   ├── csb/
        │   │   └── viewer.properties
        │   ├── cy/
        │   │   └── viewer.properties
        │   ├── da/
        │   │   └── viewer.properties
        │   ├── de/
        │   │   └── viewer.properties
        │   ├── el/
        │   │   └── viewer.properties
        │   ├── en-GB/
        │   │   └── viewer.properties
        │   ├── en-US/
        │   │   └── viewer.properties
        │   ├── en-ZA/
        │   │   └── viewer.properties
        │   ├── eo/
        │   │   └── viewer.properties
        │   ├── es-AR/
        │   │   └── viewer.properties
        │   ├── es-CL/
        │   │   └── viewer.properties
        │   ├── es-ES/
        │   │   └── viewer.properties
        │   ├── es-MX/
        │   │   └── viewer.properties
        │   ├── et/
        │   │   └── viewer.properties
        │   ├── eu/
        │   │   └── viewer.properties
        │   ├── fa/
        │   │   └── viewer.properties
        │   ├── ff/
        │   │   └── viewer.properties
        │   ├── fi/
        │   │   └── viewer.properties
        │   ├── fr/
        │   │   └── viewer.properties
        │   ├── fy-NL/
        │   │   └── viewer.properties
        │   ├── ga-IE/
        │   │   └── viewer.properties
        │   ├── gd/
        │   │   └── viewer.properties
        │   ├── gl/
        │   │   └── viewer.properties
        │   ├── gu-IN/
        │   │   └── viewer.properties
        │   ├── he/
        │   │   └── viewer.properties
        │   ├── hi-IN/
        │   │   └── viewer.properties
        │   ├── hr/
        │   │   └── viewer.properties
        │   ├── hu/
        │   │   └── viewer.properties
        │   ├── hy-AM/
        │   │   └── viewer.properties
        │   ├── id/
        │   │   └── viewer.properties
        │   ├── is/
        │   │   └── viewer.properties
        │   ├── it/
        │   │   └── viewer.properties
        │   ├── ja/
        │   │   └── viewer.properties
        │   ├── ka/
        │   │   └── viewer.properties
        │   ├── kk/
        │   │   └── viewer.properties
        │   ├── km/
        │   │   └── viewer.properties
        │   ├── kn/
        │   │   └── viewer.properties
        │   ├── ko/
        │   │   └── viewer.properties
        │   ├── ku/
        │   │   └── viewer.properties
        │   ├── lg/
        │   │   └── viewer.properties
        │   ├── lij/
        │   │   └── viewer.properties
        │   ├── locale.properties
        │   ├── lt/
        │   │   └── viewer.properties
        │   ├── lv/
        │   │   └── viewer.properties
        │   ├── mai/
        │   │   └── viewer.properties
        │   ├── mk/
        │   │   └── viewer.properties
        │   ├── ml/
        │   │   └── viewer.properties
        │   ├── mn/
        │   │   └── viewer.properties
        │   ├── mr/
        │   │   └── viewer.properties
        │   ├── ms/
        │   │   └── viewer.properties
        │   ├── my/
        │   │   └── viewer.properties
        │   ├── nb-NO/
        │   │   └── viewer.properties
        │   ├── nl/
        │   │   └── viewer.properties
        │   ├── nn-NO/
        │   │   └── viewer.properties
        │   ├── nso/
        │   │   └── viewer.properties
        │   ├── oc/
        │   │   └── viewer.properties
        │   ├── or/
        │   │   └── viewer.properties
        │   ├── pa-IN/
        │   │   └── viewer.properties
        │   ├── pl/
        │   │   └── viewer.properties
        │   ├── pt-BR/
        │   │   └── viewer.properties
        │   ├── pt-PT/
        │   │   └── viewer.properties
        │   ├── rm/
        │   │   └── viewer.properties
        │   ├── ro/
        │   │   └── viewer.properties
        │   ├── ru/
        │   │   └── viewer.properties
        │   ├── rw/
        │   │   └── viewer.properties
        │   ├── sah/
        │   │   └── viewer.properties
        │   ├── si/
        │   │   └── viewer.properties
        │   ├── sk/
        │   │   └── viewer.properties
        │   ├── sl/
        │   │   └── viewer.properties
        │   ├── son/
        │   │   └── viewer.properties
        │   ├── sq/
        │   │   └── viewer.properties
        │   ├── sr/
        │   │   └── viewer.properties
        │   ├── sv-SE/
        │   │   └── viewer.properties
        │   ├── sw/
        │   │   └── viewer.properties
        │   ├── ta/
        │   │   └── viewer.properties
        │   ├── ta-LK/
        │   │   └── viewer.properties
        │   ├── te/
        │   │   └── viewer.properties
        │   ├── th/
        │   │   └── viewer.properties
        │   ├── tl/
        │   │   └── viewer.properties
        │   ├── tn/
        │   │   └── viewer.properties
        │   ├── tr/
        │   │   └── viewer.properties
        │   ├── uk/
        │   │   └── viewer.properties
        │   ├── ur/
        │   │   └── viewer.properties
        │   ├── vi/
        │   │   └── viewer.properties
        │   ├── wo/
        │   │   └── viewer.properties
        │   ├── xh/
        │   │   └── viewer.properties
        │   ├── zh-CN/
        │   │   └── viewer.properties
        │   ├── zh-TW/
        │   │   └── viewer.properties
        │   └── zu/
        │       └── viewer.properties
        ├── pdfium.js.mem
        ├── pdfium.js.pdf.js
        ├── viewer.css
        └── viewer.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
* text=auto


================================================
FILE: .gitignore
================================================
/build/Debug
/build/Release
/build/gyp
/out
/v8
/xcodebuild
Makefile
.DS_Store
*.filters
*.mk
*.opensdf
*.pyc
*.sdf
*.sln
*.suo
*.user
*.vcxproj
*.xcodeproj

================================================
FILE: AUTHORS
================================================
# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#
# See python fnmatch module documentation for more information.

Andrey Khalyavin <halyavin@chromium.org>
Brett Wilson <brettw@chromium.org>
Chris Palmer <palmer@chromium.org>
Finnur Thorarinsson <finnur@chromium.org>
Jochen Eisinger <jochen@chromium.org>
John Abd-El-Malek <jam@chromium.org>
Julien Tinnes <jln@chromium.org>
Kostya Serebryany <kcc@chromium.org>
Lei Zhang <thestig@chromium.org>
Lucas Nihlen <luken@chromium.org>
Matt Giuca <mgiuca@chromium.org>
Michael Doppler <m.doppler@gmail.com>
Nico Weber <thakis@chromium.org>
Raymes Khoury <raymes@chromium.org>
Reid Kleckner <rnk@chromium.org>
Robert Sesek <rsesek@chromium.org>
Thomas Sepez <tsepez@chromium.org>

Foxit Software Inc <*@foxitsoftware.com>
Google Inc. <*@google.com>


================================================
FILE: BUILD.gn
================================================
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

pdf_use_skia = false

config("pdfium_config") {
  cflags = []
  defines = [
    "FOXIT_CHROME_BUILD",
    "_FXFT_VERSION_=2501",
    "_FPDFSDK_LIB",
    "_NO_GDIPLUS_",  # workaround text rendering issues on Windows
  ]

  if (pdf_use_skia) {
    defines += [ "_SKIA_SUPPORT_" ]
  }

  if (is_linux) {
    if (cpu_arch == "x64") {
      defines += [ "_FX_CPU_=_FX_X64_" ]
      cflags += [ "-fPIC" ]
    } else if (cpu_arch == "x86") {
      defines += [ "_FX_CPU_=_FX_X86_" ]
    }
  }

  if (is_win) {
    cflags += [
      "/wd4005",
      "/wd4018",
      "/wd4146",
      "/wd4333",
      "/wd4345",
    ]
  }
}

static_library("pdfium") {
  sources = [
    "fpdfsdk/include/fpdfdoc.h",
    "fpdfsdk/include/fpdfedit.h",
    "fpdfsdk/include/fpdfformfill.h",
    "fpdfsdk/include/fpdfoom.h",
    "fpdfsdk/include/fpdftext.h",
    "fpdfsdk/include/fpdfview.h",
    "fpdfsdk/include/fpdf_dataavail.h",
    "fpdfsdk/include/fpdf_flatten.h",
    "fpdfsdk/include/fpdf_progressive.h",
    "fpdfsdk/include/fpdf_searchex.h",
    "fpdfsdk/include/fpdf_sysfontinfo.h",
    "fpdfsdk/include/fpdf_ext.h",
    "fpdfsdk/include/fpdf_sysfontinfo.h",
    "fpdfsdk/include/fsdk_actionhandler.h",
    "fpdfsdk/include/fsdk_annothandler.h",
    "fpdfsdk/include/fsdk_baseannot.h",
    "fpdfsdk/include/fsdk_baseform.h",
    "fpdfsdk/src/fpdfdoc.cpp",
    "fpdfsdk/src/fpdfeditimg.cpp",
    "fpdfsdk/src/fpdfeditpage.cpp",
    "fpdfsdk/src/fpdfformfill.cpp",
    "fpdfsdk/src/fpdfoom.cpp",
    "fpdfsdk/src/fpdfppo.cpp",
    "fpdfsdk/src/fpdfsave.cpp",
    "fpdfsdk/src/fpdftext.cpp",
    "fpdfsdk/src/fpdfview.cpp",
    "fpdfsdk/src/fpdf_dataavail.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/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/fpdfsdkdll.rc",
    "fpdfsdk/src/resource.h",
    "fpdfsdk/include/fpdf_transformpage.h",
    "fpdfsdk/src/fpdf_transformpage.cpp",
  ]

  libs = []
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]

  deps = [
    ":safemath",
    ":fdrm",
    ":formfiller",
    ":fpdfapi",
    ":fpdfdoc",
    ":fpdftext",
    ":fxcodec",
    ":fxcrt",
    ":fxedit",
    ":fxge",
    ":javascript",
    ":jsapi",
    ":pdfwindow",
  ]

  if (is_win) {
    libs += [ "advapi32.lib", "gdi32.lib", "user32.lib" ]
  }

  if (is_mac) {
    libs += [ "AppKit.framework", "CoreFoundation.framework" ]
  }
}

# Targets below this are only visible within this file.
visibility = ":*"

component("safemath") {
  sources = [
    "third_party/logging.h",
    "third_party/macros.h",
    "third_party/template_util.h",
    "third_party/numerics/safe_conversions.h",
    "third_party/numerics/safe_conversions_impl.h",
    "third_party/numerics/safe_math.h",
    "third_party/numerics/safe_math_impl.h",
  ]
}

static_library("fdrm") {
  sources = [
    "core/include/fdrm/fx_crypt.h",
    "core/src/fdrm/crypto/fx_crypt.cpp",
    "core/src/fdrm/crypto/fx_crypt_aes.cpp",
    "core/src/fdrm/crypto/fx_crypt_sha.cpp",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("fpdfdoc") {
  sources = [
    "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/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_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",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}


static_library("fpdfapi") {
  sources = [
    "core/include/fpdfapi/fpdfapi.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/src/fpdfapi/fpdf_basic_module.cpp",
    "core/src/fpdfapi/fpdf_cmaps/cmap_int.h",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/B5pc-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/B5pc-V_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.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-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/ETen-B5-V_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/ETenms-B5-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/ETenms-B5-V_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-H_5.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-V_5.cpp",
    "core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UCS2-H_3.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/fpdf_cmaps.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/Adobe-GB1-UCS2_5.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GB-EUC-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GB-EUC-V_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBK-EUC-H_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBK-EUC-V_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-H_5.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-V_5.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBKp-EUC-H_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBKp-EUC-V_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBpc-EUC-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/GBpc-EUC-V_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/UniGB-UCS2-H_4.cpp",
    "core/src/fpdfapi/fpdf_cmaps/GB1/UniGB-UCS2-V_4.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/83pv-RKSJ-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/90ms-RKSJ-H_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/90ms-RKSJ-V_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/90msp-RKSJ-H_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/90msp-RKSJ-V_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/90pv-RKSJ-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/Add-RKSJ-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/Add-RKSJ-V_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/cmaps_japan1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/EUC-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/EUC-V_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/Ext-RKSJ-H_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/Ext-RKSJ-V_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-V_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/V_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/Adobe-Korea1-UCS2_2.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/cmaps_korea1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSC-EUC-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSC-EUC-V_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-HW-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-HW-V_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSCms-UHC-V_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/KSCpc-EUC-H_0.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UCS2-H_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UCS2-V_1.cpp",
    "core/src/fpdfapi/fpdf_cmaps/Korea1/UniKS-UTF16-H_0.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/common.h",
    "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/fpdf_font_utility.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_new.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_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_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",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("fpdftext") {
  sources = [
    "core/include/fpdftext/fpdf_text.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",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("fxcodec") {
  sources = [
    "core/include/fxcodec/fx_codec.h",
    "core/include/fxcodec/fx_codec_def.h",
    "core/include/fxcodec/fx_codec_provider.h",
    "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/fx_libopenjpeg/include/fx_openjpeg.h",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_bio.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_cio.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_dwt.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_event.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_function_list.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_image.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_invert.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_j2k.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_j2k_lib.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_jpt.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_mct.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_mqc.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_openjpeg.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_openjpeg_jp2.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_opj_clock.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_pi.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_raw.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_t1.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_t1_generate_luts.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_t2.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_tcd.c",
    "core/src/fxcodec/fx_libopenjpeg/src/fx_tgt.c",
    "core/src/fxcodec/fx_zlib/include/fx_zlib.h",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_adler32.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_compress.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_crc32.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_deflate.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_gzclose.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_gzlib.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_gzread.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_gzwrite.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_infback.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_inffast.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_inflate.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_inftrees.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_trees.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_uncompr.c",
    "core/src/fxcodec/fx_zlib/src/fx_zlib_zutil.c",
    "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/fxcodec/lcms2/src/fx_cmscam02.c",
    "core/src/fxcodec/lcms2/src/fx_cmscgats.c",
    "core/src/fxcodec/lcms2/src/fx_cmscnvrt.c",
    "core/src/fxcodec/lcms2/src/fx_cmserr.c",
    "core/src/fxcodec/lcms2/src/fx_cmsgamma.c",
    "core/src/fxcodec/lcms2/src/fx_cmsgmt.c",
    "core/src/fxcodec/lcms2/src/fx_cmshalf.c",
    "core/src/fxcodec/lcms2/src/fx_cmsintrp.c",
    "core/src/fxcodec/lcms2/src/fx_cmsio0.c",
    "core/src/fxcodec/lcms2/src/fx_cmsio1.c",
    "core/src/fxcodec/lcms2/src/fx_cmslut.c",
    "core/src/fxcodec/lcms2/src/fx_cmsmd5.c",
    "core/src/fxcodec/lcms2/src/fx_cmsmtrx.c",
    "core/src/fxcodec/lcms2/src/fx_cmsnamed.c",
    "core/src/fxcodec/lcms2/src/fx_cmsopt.c",
    "core/src/fxcodec/lcms2/src/fx_cmspack.c",
    "core/src/fxcodec/lcms2/src/fx_cmspcs.c",
    "core/src/fxcodec/lcms2/src/fx_cmsplugin.c",
    "core/src/fxcodec/lcms2/src/fx_cmsps2.c",
    "core/src/fxcodec/lcms2/src/fx_cmssamp.c",
    "core/src/fxcodec/lcms2/src/fx_cmssm.c",
    "core/src/fxcodec/lcms2/src/fx_cmstypes.c",
    "core/src/fxcodec/lcms2/src/fx_cmsvirt.c",
    "core/src/fxcodec/lcms2/src/fx_cmswtpnt.c",
    "core/src/fxcodec/lcms2/src/fx_cmsxform.c",
    "core/src/fxcodec/libjpeg/cderror.h",
    "core/src/fxcodec/libjpeg/cdjpeg.h",
    "core/src/fxcodec/libjpeg/fpdfapi_jcapimin.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcapistd.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jccoefct.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jccolor.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcdctmgr.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jchuff.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcinit.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcmainct.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcmarker.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcmaster.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcomapi.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcparam.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcphuff.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcprepct.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jcsample.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jctrans.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdapimin.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdapistd.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdcoefct.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdcolor.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jddctmgr.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdhuff.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdinput.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdmainct.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdmarker.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdmaster.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdmerge.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdphuff.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdpostct.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdsample.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jdtrans.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jerror.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jfdctfst.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jfdctint.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jidctfst.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jidctint.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jidctred.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jmemmgr.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jmemnobs.c",
    "core/src/fxcodec/libjpeg/fpdfapi_jutils.c",
    "core/src/fxcodec/libjpeg/jchuff.h",
    "core/src/fxcodec/libjpeg/jconfig.h",
    "core/src/fxcodec/libjpeg/jdct.h",
    "core/src/fxcodec/libjpeg/jdhuff.h",
    "core/src/fxcodec/libjpeg/jerror.h",
    "core/src/fxcodec/libjpeg/jinclude.h",
    "core/src/fxcodec/libjpeg/jmemsys.h",
    "core/src/fxcodec/libjpeg/jmorecfg.h",
    "core/src/fxcodec/libjpeg/jpegint.h",
    "core/src/fxcodec/libjpeg/jpeglib.h",
    "core/src/fxcodec/libjpeg/jversion.h",
    "core/src/fxcodec/libjpeg/makefile",
    "core/src/fxcodec/libjpeg/transupp.h",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }

  if (is_posix) {
    # core/src/fxcodec/fx_libopenjpeg/src/fx_mct.c does an pointer-to-int
    # conversion to check that an address is 16-bit aligned (benign).
    cflags_c = [ "-Wno-pointer-to-int-cast" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("fxcrt") {
  sources = [
    "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/src/fxcrt/extension.h",
    "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/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_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_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_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/plex.h",
    "core/src/fxcrt/xml_int.h",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("fxge") {
  sources = [
    "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/fxge/agg/include/fxfx_agg_basics.h",
    "core/src/fxge/agg/include/fxfx_agg_clip_liang_barsky.h",
    "core/src/fxge/agg/include/fxfx_agg_conv_dash.h",
    "core/src/fxge/agg/include/fxfx_agg_conv_stroke.h",
    "core/src/fxge/agg/include/fxfx_agg_curves.h",
    "core/src/fxge/agg/include/fxfx_agg_path_storage.h",
    "core/src/fxge/agg/include/fxfx_agg_rasterizer_scanline_aa.h",
    "core/src/fxge/agg/include/fxfx_agg_renderer_scanline.h",
    "core/src/fxge/agg/include/fxfx_agg_rendering_buffer.h",
    "core/src/fxge/agg/include/fxfx_agg_scanline_u.h",
    "core/src/fxge/agg/include/fx_agg_driver.h",
    "core/src/fxge/agg/src/fxfx_agg_curves.cpp",
    "core/src/fxge/agg/src/fxfx_agg_driver.cpp",
    "core/src/fxge/agg/src/fxfx_agg_path_storage.cpp",
    "core/src/fxge/agg/src/fxfx_agg_rasterizer_scanline_aa.cpp",
    "core/src/fxge/agg/src/fxfx_agg_vcgen_dash.cpp",
    "core/src/fxge/agg/src/fxfx_agg_vcgen_stroke.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/android/fx_fpf.h",
    "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/fontdata/chromefontdata/FoxitDingbats.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitFixed.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitFixedBold.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitFixedBoldItalic.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitFixedItalic.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSans.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSansBold.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSansBoldItalic.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSansItalic.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSansMM.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSerif.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSerifBold.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSerifBoldItalic.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSerifItalic.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSerifMM.c",
    "core/src/fxge/fontdata/chromefontdata/FoxitSymbol.c",
    "core/src/fxge/fx_freetype/include/fxft_cffobjs.h",
    "core/src/fxge/fx_freetype/include/fxft_cfftypes.h",
    "core/src/fxge/fx_freetype/include/fxft_freetype.h",
    "core/src/fxge/fx_freetype/include/fxft_ft2build.h",
    "core/src/fxge/fx_freetype/include/fxft_ftmm.h",
    "core/src/fxge/fx_freetype/include/fxft_ftobjs.h",
    "core/src/fxge/fx_freetype/include/fxft_ftotval.h",
    "core/src/fxge/fx_freetype/include/fxft_ftoutln.h",
    "core/src/fxge/fx_freetype/include/fxft_ftstream.h",
    "core/src/fxge/fx_freetype/include/fxft_tttables.h",
    "core/src/fxge/fx_freetype/include/fxft_tttypes.h",
    "core/src/fxge/fx_freetype/src/fxft_cff.c",
    "core/src/fxge/fx_freetype/src/fxft_ftbase.c",
    "core/src/fxge/fx_freetype/src/fxft_ftbitmap.c",
    "core/src/fxge/fx_freetype/src/fxft_ftglyph.c",
    "core/src/fxge/fx_freetype/src/fxft_ftinit.c",
    "core/src/fxge/fx_freetype/src/fxft_ftlcdfil.c",
    "core/src/fxge/fx_freetype/src/fxft_ftmm.c",
    "core/src/fxge/fx_freetype/src/fxft_ftsystem.c",
    "core/src/fxge/fx_freetype/src/fxft_psaux.c",
    "core/src/fxge/fx_freetype/src/fxft_pshinter.c",
    "core/src/fxge/fx_freetype/src/fxft_psmodule.c",
    "core/src/fxge/fx_freetype/src/fxft_raster.c",
    "core/src/fxge/fx_freetype/src/fxft_sfnt.c",
    "core/src/fxge/fx_freetype/src/fxft_smooth.c",
    "core/src/fxge/fx_freetype/src/fxft_truetype.c",
    "core/src/fxge/fx_freetype/src/fxft_type1.c",
    "core/src/fxge/fx_freetype/src/fxft_type1cid.c",
    "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",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]

  if (pdf_use_skia) {
    sources = [
      "core/src/fxge/skia/fx_skia_blitter_new.cpp",
      "core/src/fxge/skia/fx_skia_device.cpp",
    ]
    include_dirs = [
      "//third_party/skia/include/config",
      "//third_party/skia/include/core",
      "//third_party/skia/include/effects",
      "//third_party/skia/include/images",
      "//third_party/skia/include/lazy",
      "//third_party/skia/include/pathops",
      "//third_party/skia/include/utils",
      "//third_party/skia/src/core",
    ]
    deps = [ "//skia" ]
  }

  if (is_win) {
    sources += [
      "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",
    ]
    configs -= [
      "//build/config/win:lean_and_mean",
      "//build/config/win:nominmax",
    ]
  }
}

static_library("fxedit") {
  sources = [
    "fpdfsdk/include/fxedit/fx_edit.h",
    "fpdfsdk/include/fxedit/fxet_edit.h",
    "fpdfsdk/include/fxedit/fxet_list.h",
    "fpdfsdk/include/fxedit/fxet_stub.h",
    "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",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("pdfwindow") {
  sources = [
    "fpdfsdk/include/pdfwindow/IPDFWindow.h",
    "fpdfsdk/include/pdfwindow/PDFWindow.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/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",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}

static_library("javascript") {
  sources = [
    "fpdfsdk/include/javascript/app.h",
    "fpdfsdk/include/javascript/color.h",
    "fpdfsdk/include/javascript/console.h",
    "fpdfsdk/include/javascript/Consts.h",
    "fpdfsdk/include/javascript/Document.h",
    "fpdfsdk/include/javascript/event.h",
    "fpdfsdk/include/javascript/Field.h",
    "fpdfsdk/include/javascript/global.h",
    "fpdfsdk/include/javascript/Icon.h",
    "fpdfsdk/include/javascript/IJavaScript.h",
    "fpdfsdk/include/javascript/JavaScript.h",
    "fpdfsdk/include/javascript/JS_Console.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_Module.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/report.h",
    "fpdfsdk/include/javascript/resource.h",
    "fpdfsdk/include/javascript/util.h",
    "fpdfsdk/src/javascript/app.cpp",
    "fpdfsdk/src/javascript/color.cpp",
    "fpdfsdk/src/javascript/console.cpp",
    "fpdfsdk/src/javascript/Consts.cpp",
    "fpdfsdk/src/javascript/Document.cpp",
    "fpdfsdk/src/javascript/event.cpp",
    "fpdfsdk/src/javascript/Field.cpp",
    "fpdfsdk/src/javascript/global.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/report.cpp",
    "fpdfsdk/src/javascript/util.cpp",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
  include_dirs = [
    "//v8",
    "//v8/include",
  ]
  deps = [
    "//v8",
  ]
  forward_dependent_configs_from = [ "//v8" ]
}

static_library("jsapi") {
  sources = [
    "fpdfsdk/include/jsapi/fxjs_v8.h",
    "fpdfsdk/src/jsapi/fxjs_v8.cpp",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
  include_dirs = [
    "//v8",
    "//v8/include",
  ]
  deps = [
    "//v8",
  ]
  forward_dependent_configs_from = [ "//v8" ]
}

static_library("formfiller") {
  sources = [
    "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/formfiller/FormFiller.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",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  if (is_posix) {
    configs -= [ "//build/config/gcc:no_exceptions" ]
  }
  configs += [ ":pdfium_config", "//build/config/compiler:no_chromium_code" ]
}


================================================
FILE: LICENSE
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//    * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//    * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//    * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: README
================================================
For build instructions visit https://code.google.com/p/pdfium/wiki/Build

================================================
FILE: README.md
================================================
### PDFium.js

PDFium ported to JS with Emscripten

[Online Demo](http://coolwanglu.github.io/PDFium.js/)

[Experimental PDF Reader](http://coolwanglu.github.io/PDFium.js/viewer/) using UI framework from [PDF.js](https://github.com/mozilla/pdf.js)


================================================
FILE: TODO
================================================
- Support XHR files
- Paint PDF to image directly, avoid allocating
- Worker, for smooth scrolling


================================================
FILE: build/all.gyp
================================================
# Copyright 2014 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

{
  'targets': [
    {
      'target_name': 'All',
      'type': 'none',
      'dependencies': [
        '../samples/samples.gyp:*',
        '../pdfium.js/pdfium.js.gyp:*',
      ],
    }
  ]
}


================================================
FILE: build/gyp_pdfium
================================================
#!/usr/bin/env python
#
# Copyright 2014 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This script is wrapper for PDFium that adds some support for how GYP
# is invoked by PDFium beyond what can be done in the gclient hooks.

import os
import platform
import sys

script_dir = os.path.dirname(os.path.realpath(__file__))
pdfium_root = os.path.abspath(os.path.join(script_dir, os.pardir))

sys.path.insert(0, os.path.join(pdfium_root, 'build', 'gyp', 'pylib'))
import gyp


def run_gyp(args):
  rc = gyp.main(args)
  if rc != 0:
    print 'Error running GYP'
    sys.exit(rc)


def main():
  args = sys.argv[1:]
  args.append(os.path.join(script_dir, 'all.gyp'))
  
  args.append('-I')
  args.append(os.path.join(pdfium_root, 'build', 'standalone.gypi'))
  
  args.extend(['-D', 'gyp_output_dir=out'])

  # Set the GYP DEPTH variable to the root of the PDFium project.
  args.append('--depth=' + os.path.relpath(pdfium_root))

  print 'Updating projects from gyp files...'
  sys.stdout.flush()

  run_gyp(args)


if __name__ == '__main__':
  sys.exit(main())

================================================
FILE: build/gyp_pdfium.py
================================================
# Copyright 2014 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import os

path = os.path.abspath(os.path.split(__file__)[0])
execfile(os.path.join(path, 'gyp_pdfium'))


================================================
FILE: build/standalone.gypi
================================================
# Copyright 2014 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Definitions to be used when building stand-alone PDFium binaries.

{
  'variables': {
    'component%': 'static_library',
    'clang%': 0,
    'msvs_multi_core_compile%': '1',
    'variables': {
      'variables': {
        'variables': {
          'conditions': [
            ['OS=="linux" or OS=="mac"', {
              # This handles the Unix platforms we generally deal with.
              # Anything else gets passed through, which probably won't work
              # very well; such hosts should pass an explicit target_arch
              # to gyp.
              'host_arch%':
                '<!(uname -m | sed -e "s/i.86/ia32/;\
                                       s/x86_64/x64/;\
                                       s/amd64/x64/;\
                                       s/arm.*/arm/;\
                                       s/aarch64/arm64/;\
                                       s/mips.*/mipsel/")',
            }, {
              # OS!="linux" and OS!="mac"
              'host_arch%': 'ia32',
            }],
          ],
        },
        'host_arch%': '<(host_arch)',
        'target_arch%': '<(host_arch)',
      },
      'host_arch%': '<(host_arch)',
      'target_arch%': '<(target_arch)',
    },
    # These two are needed by V8.
    'host_arch%': '<(host_arch)',
    'target_arch%': '<(target_arch)',
    'werror%': '-Werror',
    'v8_optimized_debug%': 0,
    'icu_gyp_path': '../v8/third_party/icu/icu.gyp',
    'conditions': [
      ['OS == "win"', {
        'os_posix%': 0,
      }, {
        'os_posix%': 1,
      }],
    ],
  },
  'target_defaults': {
    'default_configuration': 'Debug',
    'configurations': {
      'Debug': {
        'cflags': [
          '-g',
          '-O0',          
          '-fdata-sections',
          '-ffunction-sections',
        ],
        'msvs_settings': {
          'VCCLCompilerTool': {
            'Optimization': '0',
            'conditions': [
              ['component=="shared_library"', {
                'RuntimeLibrary': '3',  # /MDd
              }, {
                'RuntimeLibrary': '1',  # /MTd
              }],
            ],
          },
          'VCLinkerTool': {
            'LinkIncremental': '2',
          },
        },
        'xcode_settings': {
          'GCC_OPTIMIZATION_LEVEL': '0',  # -O0
        },
      },
      'Release': {
        'cflags': [
          '-fno-strict-aliasing',
        ],
        'xcode_settings': {
          'GCC_OPTIMIZATION_LEVEL': '3',  # -O3
          'GCC_STRICT_ALIASING': 'NO',
        },
        'msvs_settings': {
          'VCCLCompilerTool': {
            'Optimization': '2',
            'InlineFunctionExpansion': '2',
            'EnableIntrinsicFunctions': 'true',
            'FavorSizeOrSpeed': '0',
            'StringPooling': 'true',
            'conditions': [
              ['component=="shared_library"', {
                'RuntimeLibrary': '2',  #/MD
              }, {
                'RuntimeLibrary': '0',  #/MT
              }],
            ],
          },
          'VCLinkerTool': {
            'LinkIncremental': '1',
            'OptimizeReferences': '2',
            'EnableCOMDATFolding': '2',
          },
        },
        'conditions': [
          ['OS=="linux"', {
            'cflags': [
              '-fdata-sections',
              '-ffunction-sections',
              '-Oz',
            ],
          }],
          ['OS=="android"', {
            'cflags!': [
              '-O3',
              '-Os',
            ],
            'cflags': [
              '-fdata-sections',
              '-ffunction-sections',
              '-O2',
            ],
          }],
        ],  # conditions
      },
      'Debug_x64': {
        'inherit_from': ['Debug'],
        'msvs_configuration_platform': 'x64',
      },
      'Release_x64': {
        'inherit_from': ['Release'],
        'msvs_configuration_platform': 'x64',
      },
    },
    'defines!': [
      'DEBUG',
    ],
    'cflags': [
      '-Wall',
      '-W',
      '-Wno-unused-parameter',
      '-pthread', '-fno-exceptions',
      '-fvisibility=hidden',
    ],
    'cflags_cc': [
      '-Wnon-virtual-dtor',
      '-fno-rtti',
    ],
    'ldflags': [
      '-pthread',
    ],
    'msvs_cygwin_dirs': ['<(DEPTH)/v8/third_party/cygwin'],
    'msvs_configuration_attributes': {
      'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
      'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
      'CharacterSet': '1',
    },
    'msvs_settings': {
      'VCCLCompilerTool': {
        'MinimalRebuild': 'false',
        'BufferSecurityCheck': 'true',
        'EnableFunctionLevelLinking': 'true',
        'RuntimeTypeInfo': 'false',
        'WarningLevel': '3',
        'WarnAsError': 'false',
        'DebugInformationFormat': '3',
        'Detect64BitPortabilityProblems': 'false',
        'conditions': [
          [ 'msvs_multi_core_compile', {
            'AdditionalOptions': ['/MP'],
          }],
          ['component=="shared_library"', {
            'ExceptionHandling': '1',  # /EHsc
          }, {
            'ExceptionHandling': '0',
          }],
        ],
      },
      'VCLibrarianTool': {
        'AdditionalOptions': ['/ignore:4221'],
      },
      'VCLinkerTool': {
        'GenerateDebugInformation': 'true',
        'LinkIncremental': '1',
        # SubSystem values:
        #   0 == not set
        #   1 == /SUBSYSTEM:CONSOLE
        #   2 == /SUBSYSTEM:WINDOWS
        'SubSystem': '1',
      },
    },
    'xcode_settings': {
      'ALWAYS_SEARCH_USER_PATHS': 'NO',
      'GCC_CW_ASM_SYNTAX': 'NO',                # No -fasm-blocks
      'GCC_DYNAMIC_NO_PIC': 'NO',               # No -mdynamic-no-pic
                                                # (Equivalent to -fPIC)
      'GCC_ENABLE_CPP_EXCEPTIONS': 'NO',        # -fno-exceptions
      'GCC_ENABLE_CPP_RTTI': 'NO',              # -fno-rtti
      'GCC_ENABLE_PASCAL_STRINGS': 'NO',        # No -mpascal-strings
      # GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
      'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
      'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',      # -fvisibility=hidden
      'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',     # -Werror
      'GCC_WARN_NON_VIRTUAL_DESTRUCTOR': 'YES', # -Wnon-virtual-dtor
      'SYMROOT': '<(DEPTH)/xcodebuild',
      'USE_HEADERMAP': 'NO',
      'OTHER_CFLAGS': [
        '-fno-strict-aliasing',
      ],
      'WARNING_CFLAGS': [
        '-Wall',
        '-Wendif-labels',
        '-W',
        '-Wno-unused-parameter',
      ],
    },
  },
  'conditions': [
    ['component=="shared_library"', {
      'cflags': [
        '-fPIC',
      ],
    }],
    ['OS=="win"', {
      'target_defaults': {
        'defines': [
          'NOMINMAX',
          '_CRT_SECURE_NO_DEPRECATE',
          '_CRT_NONSTDC_NO_DEPRECATE',
        ],
        'conditions': [
          ['component=="static_library"', {
            'defines': [
              '_HAS_EXCEPTIONS=0',
            ],
          }],
        ],
      },
    }],  # OS=="win"
    ['OS=="mac"', {
      'target_defaults': {
        'target_conditions': [
          ['_type!="static_library"', {
            'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
          }],
        ],  # target_conditions
      },  # target_defaults
    }],  # OS=="mac"
  ],
  'xcode_settings': {
    # See comment in Chromium's common.gypi for why this is needed.
    'SYMROOT': '<(DEPTH)/xcodebuild',
  }
}


================================================
FILE: build.sh
================================================
#!/bin/bash
set -e
[ -z $EM_DIR] && EM_DIR=~/src/emscripten

do_config() {
    build/gyp_pdfium
}

do_make() {
$EM_DIR/emmake make BUILDTYPE=Release -j8
}

do_link() {
mkdir web || true
$EM_DIR/em++ \
    -Oz \
    --llvm-lto 1 \
    --memory-init-file 1 \
    -s EXPORTED_FUNCTIONS="['_PDFiumJS_init', '_PDFiumJS_Doc_new', '_PDFiumJS_Doc_delete', '_PDFiumJS_Doc_get_page_count', '_PDFiumJS_Doc_get_page', '_PDFiumJS_Page_get_width', '_PDFiumJS_Page_get_height', '_PDFiumJS_Page_get_bitmap', '_PDFiumJS_Bitmap_get_buffer', '_PDFiumJS_Bitmap_get_stride', '_PDFiumJS_Bitmap_destroy', '_PDFiumJS_Page_destroy']" \
    --js-library pdfium.js/pdfium.js.lib.js \
    -o web/pdfium.js \
    -Wl,--start-group out/Release/obj.target/pdfium_js/pdfium.js/pdfium.js.o out/Release/obj.target/libpdfium.a out/Release/obj.target/libfdrm.a out/Release/obj.target/libfpdfdoc.a out/Release/obj.target/libfpdfapi.a out/Release/obj.target/libfpdftext.a out/Release/obj.target/libformfiller.a out/Release/obj.target/libfxcodec.a out/Release/obj.target/libfxcrt.a out/Release/obj.target/libfxedit.a out/Release/obj.target/libfxge.a out/Release/obj.target/libpdfwindow.a -Wl,--end-group

cp web/pdfium.js.mem web/viewer/
}

#do_config
#do_make
do_link



================================================
FILE: codereview.settings
================================================
# This file is used by gcl to get repository specific information.
CODE_REVIEW_SERVER: codereview.chromium.org
CC_LIST: pdfium-reviews@googlegroups.com
STATUS: http://chromium-status.appspot.com/status
TRY_ON_UPLOAD: False
VIEW_VC: https://pdfium.googlesource.com/pdfium/+/
GITCL_PREUPLOAD: http://src.chromium.org/viewvc/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD&root=chrome
GITCL_PREDCOMMIT: http://src.chromium.org/viewvc/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD&root=chrome


================================================
FILE: core/include/fdrm/fx_crypt.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FX_CRYPT_H_
#define _FX_CRYPT_H_
#ifdef __cplusplus
extern "C" {
#endif
void CRYPT_ArcFourCryptBlock(FX_LPBYTE data, FX_DWORD size, FX_LPCBYTE key, FX_DWORD keylen);
void CRYPT_ArcFourSetup(FX_LPVOID context, FX_LPCBYTE key, FX_DWORD length);
void CRYPT_ArcFourCrypt(FX_LPVOID context, FX_LPBYTE data, FX_DWORD size);
void CRYPT_AESSetKey(FX_LPVOID context, FX_DWORD blocklen, FX_LPCBYTE key, FX_DWORD keylen, FX_BOOL bEncrypt);
void CRYPT_AESSetIV(FX_LPVOID context, FX_LPCBYTE iv);
void CRYPT_AESDecrypt(FX_LPVOID context, FX_LPBYTE dest, FX_LPCBYTE src, FX_DWORD size);
void CRYPT_AESEncrypt(FX_LPVOID context, FX_LPBYTE dest, FX_LPCBYTE src, FX_DWORD size);
void CRYPT_MD5Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest[16]);
void CRYPT_MD5Start(FX_LPVOID context);
void CRYPT_MD5Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size);
void CRYPT_MD5Finish(FX_LPVOID context, FX_BYTE digest[16]);
void CRYPT_SHA1Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest[20]);
void CRYPT_SHA1Start(FX_LPVOID context);
void CRYPT_SHA1Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size);
void CRYPT_SHA1Finish(FX_LPVOID context, FX_BYTE digest[20]);
void CRYPT_SHA256Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest[32]);
void CRYPT_SHA256Start(FX_LPVOID context);
void CRYPT_SHA256Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size);
void CRYPT_SHA256Finish(FX_LPVOID context, FX_BYTE digest[32]);
void CRYPT_SHA384Start(FX_LPVOID context);
void CRYPT_SHA384Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size);
void CRYPT_SHA384Finish(FX_LPVOID context, FX_BYTE digest[48]);
void CRYPT_SHA384Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest[48]);
void CRYPT_SHA512Start(FX_LPVOID context);
void CRYPT_SHA512Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size);
void CRYPT_SHA512Finish(FX_LPVOID context, FX_BYTE digest[64]);
void CRYPT_SHA512Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest[64]);
void CRYPT_SetPubKeyDecryptor(FX_BOOL (*func)(FX_LPCBYTE pData, FX_DWORD size, FX_LPBYTE data_buf, FX_DWORD& data_len));
#ifdef __cplusplus
};
#endif
#endif


================================================
FILE: core/include/fpdfapi/fpdf_module.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_MODULE_
#define _FPDF_MODULE_
#ifndef _FXCRT_EXTENSION_
#include "../fxcrt/fx_ext.h"
#endif
class CPDF_ModuleMgr;
class CPDF_PageModuleDef;
class CPDF_RenderModuleDef;
class CPDF_SecurityHandler;
class CCodec_ModuleMgr;
class CPDF_Dictionary;
class ICodec_JpegModule;
class ICodec_JpxModule;
class ICodec_FaxModule;
class ICodec_Jbig2Module;
class ICodec_IccModule;
class ICodec_FlateModule;
#define ADDIN_NAME_CJK			"Eastern Asian Language Support"
#define ADDIN_NAME_DECODER		"JPEG2000 and JBIG2 Image Decoders"
class CPDF_ModuleMgr : public CFX_Object
{
public:

    static void	Create();

    static CPDF_ModuleMgr*	Get();

    static void	Destroy();



    void		SetCodecModule(CCodec_ModuleMgr* pModule)
    {
        m_pCodecModule = pModule;
    }
    CCodec_ModuleMgr*		GetCodecModule()
    {
        return m_pCodecModule;
    }

    void		InitPageModule();

    void		InitRenderModule();


    void		SetModulePath(FX_LPCSTR module_name, FX_LPCSTR path);

    CFX_ByteString GetModuleFilePath(FX_LPCSTR module_name, FX_LPCSTR name);

    void		SetDownloadCallback(FX_BOOL (*callback)(FX_LPCSTR module_name));

    FX_BOOL		DownloadModule(FX_LPCSTR module_name);

    void		NotifyModuleAvailable(FX_LPCSTR module_name);



    CPDF_RenderModuleDef*	GetRenderModule() const
    {
        return m_pRenderModule;
    }

    CPDF_PageModuleDef*		GetPageModule() const
    {
        return m_pPageModule;
    }




    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();

    void					RegisterSecurityHandler(FX_LPCSTR name, CPDF_SecurityHandler * (*CreateHandler)(void* param), void* param);

    CPDF_SecurityHandler*	CreateSecurityHandler(FX_LPCSTR name);

    void					SetPrivateData(FX_LPVOID module_id, FX_LPVOID pData, PD_CALLBACK_FREEDATA callback);

    FX_LPVOID				GetPrivateData(FX_LPVOID module_id);

    int						m_FileBufSize;
protected:

    CPDF_ModuleMgr();

    ~CPDF_ModuleMgr();
    void					Initialize();

    void					InitModules();



    CCodec_ModuleMgr*		m_pCodecModule;

    CPDF_RenderModuleDef*	m_pRenderModule;

    CPDF_PageModuleDef*		m_pPageModule;


    FX_BOOL (*m_pDownloadCallback)(FX_LPCSTR module_name);

    CFX_ByteString			m_DefaultModulePath;

    CFX_CMapByteStringToPtr	m_ModulePathList;

    CFX_MapByteStringToPtr	m_SecurityHandlerMap;

    CFX_PrivateData			m_privateData;
};
class CPDF_Document;
class CPDF_DocPageData;
class CPDF_FontGlobals;
class IPDF_FontMgr;
class IPDF_FontMapper;
class CPDF_ColorSpace;
class CPDF_PageModuleDef : public CFX_Object
{
public:
    virtual ~CPDF_PageModuleDef() {}

    virtual CPDF_DocPageData*	CreateDocData(CPDF_Document* pDoc)
    {
        return NULL;
    }

    virtual void				ReleaseDoc(CPDF_Document*) {}
    virtual void				ClearDoc(CPDF_Document*) {}

    virtual CPDF_FontGlobals*	GetFontGlobals()
    {
        return NULL;
    }

    virtual void				ClearStockFont(CPDF_Document* pDoc) {}

    virtual void				NotifyCJKAvailable() {}

    virtual CPDF_ColorSpace*	GetStockCS(int family)
    {
        return NULL;
    }
};
class CPDF_PageObjects;
class CFX_AffineMatrix;
class CPDF_RenderOptions;
class CPDF_Page;
class CPDF_DocRenderData;
class CPDF_PageRenderCache;
class CFX_BitmapDevice;
class CPDF_Stream;
class CFX_DIBSource;
class CPDF_RenderConfig;
class CPDF_Image;
class CPDF_RenderModuleDef : public CFX_Object
{
public:
    virtual ~CPDF_RenderModuleDef() {}

    virtual CPDF_DocRenderData*	CreateDocData(CPDF_Document* pDoc)
    {
        return NULL;
    }

    virtual void	DestroyDocData(CPDF_DocRenderData*) {}
    virtual void	ClearDocData(CPDF_DocRenderData*) {}

    virtual CPDF_DocRenderData* GetRenderData()
    {
        return NULL;
    }

    virtual CPDF_PageRenderCache*	CreatePageCache(CPDF_Page* pPage)
    {
        return NULL;
    }

    virtual void	DestroyPageCache(CPDF_PageRenderCache*) {}

    virtual void	NotifyDecoderAvailable() {}

    virtual CPDF_RenderConfig* GetConfig()
    {
        return NULL;
    }
};
#endif


================================================
FILE: core/include/fpdfapi/fpdf_objects.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_OBJECTS_
#define _FPDF_OBJECTS_
#ifndef _FXCRT_EXTENSION_
#include "../fxcrt/fx_ext.h"
#endif
class CPDF_Document;
class CPDF_IndirectObjects;
class CPDF_Null;
class CPDF_Boolean;
class CPDF_Number;
class CPDF_String;
class CPDF_Stream;
class CPDF_StreamAcc;
class CPDF_StreamFilter;
class CPDF_Array;
class CPDF_Dictionary;
class CPDF_Reference;
class IPDF_DocParser;
class IFX_FileRead;
class CPDF_CryptoHandler;
#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, FX_LPVOID pUserData);
class CPDF_Object : public CFX_Object
{
public:

    int						GetType() const
    {
        return m_Type;
    }

    FX_DWORD				GetObjNum() const
    {
        return m_ObjNum;
    }

    FX_DWORD                            GetGenNum() const
    {
        return m_GenNum;
    }

    FX_BOOL					IsIdentical(CPDF_Object* pObj) const;

    CPDF_Object*			Clone(FX_BOOL bDirect = FALSE) const;

    CPDF_Object*			CloneRef(CPDF_IndirectObjects* pObjs) const;

    CPDF_Object*			GetDirect() const;

    void					Release();

    CFX_ByteString			GetString() const;

    CFX_ByteStringC			GetConstString() const;

    CFX_WideString			GetUnicodeText(CFX_CharMap* pCharMap = NULL) const;

    FX_FLOAT				GetNumber() const;

    FX_FLOAT				GetNumber16() const;

    int						GetInteger() const;

    CPDF_Dictionary*		GetDict() const;

    CPDF_Array*				GetArray() const;

    void					SetString(const CFX_ByteString& str);

    void					SetUnicodeText(FX_LPCWSTR pUnicodes, int len = -1);

    int						GetDirectType() const;

    FX_BOOL					IsModified() const
    {
        return FALSE;
    }
protected:
    FX_DWORD				m_Type;
    CPDF_Object()
    {
        m_ObjNum = 0;
        m_GenNum = 0;
    }

    FX_DWORD 				m_ObjNum;
    FX_DWORD				m_GenNum;

    void					Destroy();


    ~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_Boolean : public CPDF_Object
{
public:

    static CPDF_Boolean*	Create(FX_BOOL value)
    {
        return FX_NEW CPDF_Boolean(value);
    }

    CPDF_Boolean()
    {
        m_Type = PDFOBJ_BOOLEAN;
    }

    CPDF_Boolean(FX_BOOL value)
    {
        m_Type = 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;
};
class CPDF_Number : public CPDF_Object
{
public:

    static CPDF_Number*		Create(int value)
    {
        return FX_NEW CPDF_Number(value);
    }

    static CPDF_Number*		Create(FX_FLOAT value)
    {
        return FX_NEW CPDF_Number(value);
    }

    static CPDF_Number*		Create(FX_BSTR str)
    {
        return FX_NEW CPDF_Number(str);
    }

    static CPDF_Number*		Create(FX_BOOL bInteger, void* pData)
    {
        return FX_NEW CPDF_Number(bInteger, pData);
    }

    CPDF_Number()
    {
        m_Type = PDFOBJ_NUMBER;
    }

    CPDF_Number(FX_BOOL bInteger, void* pData);

    CPDF_Number(int value);

    CPDF_Number(FX_FLOAT value);

    CPDF_Number(FX_BSTR str);

    FX_BOOL					Identical(CPDF_Number* pOther) const;

    CFX_ByteString			GetString() const;

    void					SetString(FX_BSTR str);

    FX_BOOL					IsInteger() const
    {
        return m_bInteger;
    }

    int						GetInteger() const
    {
        return m_bInteger ? m_Integer : (int)m_Float;
    }

    FX_FLOAT				GetNumber() const
    {
        return m_bInteger ? (FX_FLOAT)m_Integer : m_Float;
    }

    void					SetNumber(FX_FLOAT value);

    FX_FLOAT			GetNumber16() const
    {
        return GetNumber();
    }

    FX_FLOAT				GetFloat() const
    {
        return m_bInteger ? (FX_FLOAT)m_Integer : m_Float;
    }
protected:

    FX_BOOL					m_bInteger;

    union {

        int					m_Integer;

        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 FX_NEW CPDF_String(str, bHex);
    }

    static CPDF_String*		Create(const CFX_WideString& str)
    {
        return FX_NEW CPDF_String(str);
    }

    CPDF_String()
    {
        m_Type = PDFOBJ_STRING;
        m_bHex = FALSE;
    }

    CPDF_String(const CFX_ByteString& str, FX_BOOL bHex = FALSE) : m_String(str)
    {
        m_Type = PDFOBJ_STRING;
        m_bHex = bHex;
    }

    CPDF_String(const CFX_WideString& str);

    CFX_ByteString&			GetString()
    {
        return m_String;
    }

    FX_BOOL					Identical(CPDF_String* pOther) const
    {
        return m_String == pOther->m_String;
    }

    FX_BOOL					IsHex() const
    {
        return m_bHex;
    }
protected:

    CFX_ByteString			m_String;

    FX_BOOL					m_bHex;
    friend class			CPDF_Object;
};
class CPDF_Name : public CPDF_Object
{
public:

    static CPDF_Name*		Create(const CFX_ByteString& str)
    {
        return FX_NEW CPDF_Name(str);
    }

    static CPDF_Name*		Create(FX_BSTR str)
    {
        return FX_NEW CPDF_Name(str);
    }

    static CPDF_Name*		Create(FX_LPCSTR str)
    {
        return FX_NEW CPDF_Name(str);
    }

    CPDF_Name(const CFX_ByteString& str) : m_Name(str)
    {
        m_Type = PDFOBJ_NAME;
    }

    CPDF_Name(FX_BSTR str) : m_Name(str)
    {
        m_Type = PDFOBJ_NAME;
    }

    CPDF_Name(FX_LPCSTR str) : m_Name(str)
    {
        m_Type = PDFOBJ_NAME;
    }

    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 FX_NEW CPDF_Array();
    }

    CPDF_Array()
    {
        m_Type = PDFOBJ_ARRAY;
    }

    FX_DWORD				GetCount() const
    {
        return m_Objects.GetSize();
    }

    CPDF_Object*			GetElement(FX_DWORD index) const;

    CPDF_Object*			GetElementValue(FX_DWORD index) const;



    CFX_AffineMatrix		GetMatrix();

    CFX_FloatRect			GetRect();




    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_Stream*			GetStream(FX_DWORD index) const;

    CPDF_Array*				GetArray(FX_DWORD index) const;

    FX_FLOAT				GetFloat(FX_DWORD index) const
    {
        return GetNumber(index);
    }




    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					Add(CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);



    void					AddNumber(FX_FLOAT f);

    void					AddInteger(int i);

    void					AddString(const CFX_ByteString& str);

    void					AddName(const CFX_ByteString& str);

    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);
    }

    void					AddNumber16(FX_FLOAT value)
    {
        AddNumber(value);
    }

    FX_BOOL					Identical(CPDF_Array* pOther) const;
protected:

    ~CPDF_Array();

    CFX_PtrArray			m_Objects;
    friend class			CPDF_Object;
};
class CPDF_Dictionary : public CPDF_Object
{
public:

    static CPDF_Dictionary*	Create()
    {
        return FX_NEW CPDF_Dictionary();
    }

    CPDF_Dictionary()
    {
        m_Type = PDFOBJ_DICTIONARY;
    }



    CPDF_Object*			GetElement(FX_BSTR key) const;

    CPDF_Object*			GetElementValue(FX_BSTR key) const;





    CFX_ByteString			GetString(FX_BSTR key) const;

    CFX_ByteStringC			GetConstString(FX_BSTR key) const;

    CFX_ByteString			GetString(FX_BSTR key, FX_BSTR default_str) const;

    CFX_ByteStringC			GetConstString(FX_BSTR key, FX_BSTR default_str) const;

    CFX_WideString			GetUnicodeText(FX_BSTR key, CFX_CharMap* pCharMap = NULL) const;

    int						GetInteger(FX_BSTR key) const;

    int						GetInteger(FX_BSTR key, int default_int) const;

    FX_BOOL					GetBoolean(FX_BSTR key, FX_BOOL bDefault = FALSE) const;

    FX_FLOAT				GetNumber(FX_BSTR key) const;

    CPDF_Dictionary*		GetDict(FX_BSTR key) const;

    CPDF_Stream*			GetStream(FX_BSTR key) const;

    CPDF_Array*				GetArray(FX_BSTR key) const;

    CFX_FloatRect			GetRect(FX_BSTR key) const;

    CFX_AffineMatrix		GetMatrix(FX_BSTR key) const;

    FX_FLOAT				GetFloat(FX_BSTR key) const
    {
        return GetNumber(key);
    }


    FX_BOOL					KeyExist(FX_BSTR key) const;

    FX_POSITION				GetStartPos() const;

    CPDF_Object*			GetNextElement(FX_POSITION& pos, CFX_ByteString& key) const;

    void					SetAt(FX_BSTR key, CPDF_Object* pObj, CPDF_IndirectObjects* pObjs = NULL);



    void					SetAtName(FX_BSTR key, const CFX_ByteString& name);


    void					SetAtString(FX_BSTR key, const CFX_ByteString& string);


    void					SetAtInteger(FX_BSTR key, int i);


    void					SetAtNumber(FX_BSTR key, FX_FLOAT f);

    void					SetAtReference(FX_BSTR key, CPDF_IndirectObjects* pDoc, FX_DWORD objnum);

    void					SetAtReference(FX_BSTR key, CPDF_IndirectObjects* pDoc, CPDF_Object* obj)
    {
        SetAtReference(key, pDoc, obj->GetObjNum());
    }

    void					AddReference(FX_BSTR key, CPDF_IndirectObjects* pDoc, FX_DWORD objnum);

    void					AddReference(FX_BSTR key, CPDF_IndirectObjects* pDoc, CPDF_Object* obj)
    {
        AddReference(key, pDoc, obj->GetObjNum());
    }

    void					SetAtRect(FX_BSTR key, const CFX_FloatRect& rect);

    void					SetAtMatrix(FX_BSTR key, const CFX_AffineMatrix& matrix);

    void					SetAtBoolean(FX_BSTR key, FX_BOOL bValue);



    void					RemoveAt(FX_BSTR key);


    void					ReplaceKey(FX_BSTR oldkey, FX_BSTR newkey);

    FX_BOOL					Identical(CPDF_Dictionary* pDict) const;

    int						GetCount() const
    {
        return m_Map.GetCount();
    }

    void					AddValue(FX_BSTR key, CPDF_Object* pObj);
protected:

    ~CPDF_Dictionary();

    CFX_CMapByteStringToPtr	m_Map;

    friend class			CPDF_Object;
};
class CPDF_Stream : public CPDF_Object
{
public:

    static CPDF_Stream*		Create(FX_LPBYTE pData, FX_DWORD size, CPDF_Dictionary* pDict)
    {
        return FX_NEW CPDF_Stream(pData, size, pDict);
    }

    CPDF_Stream(FX_LPBYTE pData, FX_DWORD size, CPDF_Dictionary* pDict);

    CPDF_Dictionary*		GetDict() const
    {
        return m_pDict;
    }

    void					SetData(FX_LPCBYTE pData, FX_DWORD size, FX_BOOL bCompressed, FX_BOOL bKeepBuf);

    void					InitStream(FX_BYTE* pData, FX_DWORD size, CPDF_Dictionary* pDict);

    void					InitStream(IFX_FileRead *pFile, CPDF_Dictionary* pDict);

    FX_BOOL					Identical(CPDF_Stream* pOther) const;

    CPDF_StreamFilter*		GetStreamFilter(FX_BOOL bRaw = FALSE) const;



    FX_DWORD				GetRawSize() const
    {
        return m_dwSize;
    }

    FX_BOOL					ReadRawData(FX_FILESIZE start_pos, FX_LPBYTE pBuf, FX_DWORD buf_size) const;


    FX_BOOL					IsMemoryBased() const
    {
        return m_GenNum == (FX_DWORD) - 1;
    }

    CPDF_Stream*			Clone(FX_BOOL bDirect, FPDF_LPFCloneStreamCallback lpfCallback, FX_LPVOID pUserData) const;
protected:

    ~CPDF_Stream();

    CPDF_Dictionary*		m_pDict;

    FX_DWORD				m_dwSize;

    FX_DWORD				m_GenNum;

    union {

        FX_LPBYTE			m_pDataBuf;

        IFX_FileRead*		m_pFile;
    };

    FX_FILESIZE				m_FileOffset;

    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 CFX_Object
{
public:

    CPDF_StreamAcc();

    ~CPDF_StreamAcc();

    void					LoadAllData(const CPDF_Stream* pStream, FX_BOOL bRawAccess = FALSE,
                                        FX_DWORD estimated_size = 0, FX_BOOL bImageAcc = FALSE);

    const CPDF_Stream*		GetStream() const
    {
        return m_pStream;
    }

    CPDF_Dictionary*		GetDict() const
    {
        return m_pStream? m_pStream->GetDict() : NULL;
    }

    FX_LPCBYTE				GetData() const;

    FX_DWORD				GetSize() const;

    FX_LPBYTE				DetachData();

    const CFX_ByteString&	GetImageDecoder()
    {
        return m_ImageDecoder;
    }

    const CPDF_Dictionary*	GetImageParam()
    {
        return m_pImageParam;
    }
protected:

    FX_LPBYTE				m_pData;

    FX_DWORD				m_dwSize;

    FX_BOOL					m_bNewBuf;

    CFX_ByteString			m_ImageDecoder;

    CPDF_Dictionary*		m_pImageParam;

    const CPDF_Stream*		m_pStream;

    FX_LPBYTE				m_pSrcData;
};
CFX_DataFilter* FPDF_CreateFilter(FX_BSTR name, const CPDF_Dictionary* pParam, int width = 0, int height = 0);
#define FPDF_FILTER_BUFFER_SIZE		20480
class CPDF_StreamFilter : public CFX_Object
{
public:

    ~CPDF_StreamFilter();

    FX_DWORD			ReadBlock(FX_LPBYTE buffer, FX_DWORD size);

    FX_DWORD			GetSrcPos()
    {
        return m_SrcOffset;
    }

    const CPDF_Stream*	GetStream()
    {
        return m_pStream;
    }
protected:

    CPDF_StreamFilter() {}

    FX_DWORD			ReadLeftOver(FX_LPBYTE buffer, FX_DWORD buf_size);

    const CPDF_Stream*	m_pStream;

    CFX_DataFilter*		m_pFilter;

    CFX_BinaryBuf*		m_pBuffer;

    FX_DWORD			m_BufOffset;

    FX_DWORD			m_SrcOffset;

    FX_BYTE				m_SrcBuffer[FPDF_FILTER_BUFFER_SIZE];
    friend class CPDF_Stream;
};
class CPDF_Null : public CPDF_Object
{
public:

    static CPDF_Null*		Create()
    {
        return FX_NEW CPDF_Null();
    }

    CPDF_Null()
    {
        m_Type = PDFOBJ_NULL;
    }
};
class CPDF_Reference : public CPDF_Object
{
public:

    static CPDF_Reference*	Create(CPDF_IndirectObjects* pDoc, int objnum)
    {
        return FX_NEW CPDF_Reference(pDoc, objnum);
    }

    CPDF_Reference(CPDF_IndirectObjects* pDoc, int objnum)
    {
        m_Type = 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 CFX_Object
{
public:

    CPDF_IndirectObjects(IPDF_DocParser* pParser);

    ~CPDF_IndirectObjects();

    CPDF_Object*			GetIndirectObject(FX_DWORD objnum, struct PARSE_CONTEXT* pContext = NULL);

    int						GetIndirectType(FX_DWORD objnum);

    FX_DWORD				AddIndirectObject(CPDF_Object* pObj);

    void					ReleaseIndirectObject(FX_DWORD objnum);

    void					InsertIndirectObject(FX_DWORD objnum, CPDF_Object* pObj);

    FX_DWORD				GetLastObjNum() const;

    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:

    CFX_MapPtrToPtr			m_IndirectObjs;

    IPDF_DocParser*			m_pParser;

    FX_DWORD				m_LastObjNum;
};
#endif


================================================
FILE: core/include/fpdfapi/fpdf_page.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_PAGE_
#define _FPDF_PAGE_
#ifndef _FPDF_PARSER_
#include "fpdf_parser.h"
#endif
#ifndef _FPDF_RESOURCE_
#include "fpdf_resource.h"
#endif
#ifndef _FX_DIB_H_
#include "../fxge/fx_dib.h"
#endif
class CPDF_PageObjects;
class CPDF_Page;
class CPDF_Form;
class CPDF_ParseOptions;
class CPDF_PageObject;
class CPDF_PageRenderCache;
class CPDF_StreamFilter;
class CPDF_AllStates;
class CPDF_ContentParser;
class CPDF_StreamContentParser;
class CPDF_ResourceNaming;
#define PDFTRANS_GROUP			0x0100
#define PDFTRANS_ISOLATED		0x0200
#define PDFTRANS_KNOCKOUT		0x0400
#define PDF_CONTENT_NOT_PARSED	0
#define PDF_CONTENT_PARSING		1
#define PDF_CONTENT_PARSED		2
class CPDF_PageObjects : public CFX_Object
{
public:

    CPDF_PageObjects(FX_BOOL bReleaseMembers = TRUE);

    ~CPDF_PageObjects();




    void				ContinueParse(IFX_Pause* pPause);

    int					GetParseState() const
    {
        return m_ParseState;
    }

    FX_BOOL				IsParsed() const
    {
        return m_ParseState == PDF_CONTENT_PARSED;
    }

    int					EstimateParseProgress() const;




    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;

    CFX_PtrList			m_ObjectList;

    FX_BOOL				m_bBackgroundAlphaNeeded;

    FX_BOOL				m_bReleaseMembers;
    void				LoadTransInfo();
    void                ClearCacheObjects();

    CPDF_ContentParser*	m_pParser;

    FX_BOOL				m_ParseState;
};
class CPDF_Page : public CPDF_PageObjects, public CFX_PrivateData
{
public:

    CPDF_Page();

    ~CPDF_Page();

    void				Load(CPDF_Document* pDocument, CPDF_Dictionary* pPageDict, FX_BOOL bPageCache = TRUE);

    void				StartParse(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE);

    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(FX_BSTR name) const;



    CPDF_PageRenderCache*	GetRenderCache() const
    {
        return m_pPageRender;
    }

    void				ClearRenderCache();

protected:
    friend class		CPDF_ContentParser;

    FX_FLOAT			m_PageWidth;

    FX_FLOAT			m_PageHeight;

    CFX_AffineMatrix	m_PageMatrix;

    CPDF_PageRenderCache*	m_pPageRender;
};
class CPDF_ParseOptions : public CFX_Object
{
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 CFX_Object
{
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, FX_LPCBYTE 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


================================================
FILE: core/include/fpdfapi/fpdf_pageobj.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_PAGEOBJ_H_
#define _FPDF_PAGEOBJ_H_
#ifndef _FPDF_RESOURCE_
#include "fpdf_resource.h"
#endif
#ifndef _FX_GE_H_
#include "../fxge/fx_ge.h"
#endif
class CPDF_Path;
class CPDF_ClipPathData;
class CPDF_ClipPath;
class CPDF_ColorStateData;
class CPDF_ColorState;
class CPDF_GraphState;
class CPDF_TextStateData;
class CPDF_TextState;
class CPDF_GeneralStateData;
class CPDF_GeneralState;
class CPDF_ContentMarkItem;
class CPDF_ContentMark;
class CPDF_GraphicStates;
class CPDF_PageObject;
class CPDF_TextObject;
class CPDF_PathObject;
class CPDF_ImageObject;
class CPDF_ShadingObject;
class CPDF_FormObject;
class CPDF_InlineImages;
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 CFX_Object
{
public:

    CPDF_ClipPathData();

    CPDF_ClipPathData(const CPDF_ClipPathData&);

    ~CPDF_ClipPathData();

    void				SetCount(int path_count, int text_count);
public:

    int					m_PathCount;

    CPDF_Path*			m_pPathList;

    FX_BYTE*			m_pTypeList;

    int					m_TextCount;

    CPDF_TextObject**	m_pTextList;
};
class CPDF_ClipPath : public CFX_CountRef<CPDF_ClipPathData>
{
public:

    FX_DWORD			GetPathCount() const
    {
        return m_pObject->m_PathCount;
    }

    CPDF_Path			GetPath(int i) const
    {
        return m_pObject->m_pPathList[i];
    }

    int					GetClipType(int i) const
    {
        return m_pObject->m_pTypeList[i];
    }

    FX_DWORD			GetTextCount() const
    {
        return m_pObject->m_TextCount;
    }

    CPDF_TextObject*	GetText(int i) const
    {
        return m_pObject->m_pTextList[i];
    }

    CFX_FloatRect		GetClipBox() const;

    void				AppendPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);

    void				DeletePath(int layer_index);

    void				AppendTexts(CPDF_TextObject** pTexts, int count);

    void				Transform(const CFX_AffineMatrix& matrix);
};
class CPDF_ColorStateData : public CFX_Object
{
public:

    CPDF_ColorStateData() {}

    CPDF_ColorStateData(const CPDF_ColorStateData& src);

    void				Default();

    CPDF_Color			m_FillColor;

    FX_DWORD			m_FillRGB;

    CPDF_Color			m_StrokeColor;

    FX_DWORD			m_StrokeRGB;
};
class CPDF_ColorState : public CFX_CountRef<CPDF_ColorStateData>
{
public:

    CPDF_Color*			GetFillColor() const
    {
        return m_pObject ? &m_pObject->m_FillColor : NULL;
    }

    CPDF_Color*			GetStrokeColor() const
    {
        return m_pObject ? &m_pObject->m_StrokeColor : NULL;
    }

    void				SetFillColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);

    void				SetStrokeColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, int nValues);

    void				SetFillPattern(CPDF_Pattern* pattern, FX_FLOAT* pValue, int nValues);

    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:
};
class CPDF_TextStateData : public CFX_Object
{
public:

    CPDF_TextStateData();

    CPDF_TextStateData(const CPDF_TextStateData& src);

    ~CPDF_TextStateData();

    CPDF_Font*			m_pFont;

    FX_FLOAT			m_FontSize;

    FX_FLOAT			m_CharSpace;

    FX_FLOAT			m_WordSpace;

    FX_FLOAT		m_Matrix[4];

    int					m_TextMode;

    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*			GetMatrix() const
    {
        return m_pObject->m_Matrix;
    }



    FX_FLOAT			GetFontSizeV() const;

    FX_FLOAT			GetFontSizeH() const;

    FX_FLOAT			GetBaselineAngle() const;

    FX_FLOAT			GetShearAngle() const;

};
class CPDF_TransferFunc;
class CPDF_GeneralStateData : public CFX_Object
{
public:

    CPDF_GeneralStateData();

    CPDF_GeneralStateData(const CPDF_GeneralStateData& src);
    ~CPDF_GeneralStateData();

    void				SetBlendMode(FX_BSTR blend_mode);

    char				m_BlendMode[16];

    int					m_BlendType;

    CPDF_Object*		m_pSoftMask;

    FX_FLOAT			m_SMaskMatrix[6];

    FX_FLOAT			m_StrokeAlpha;

    FX_FLOAT			m_FillAlpha;

    CPDF_Object*		m_pTR;

    CPDF_TransferFunc*	m_pTransferFunc;

    CFX_Matrix			m_Matrix;

    int					m_RenderIntent;

    FX_BOOL				m_StrokeAdjust;

    FX_BOOL				m_AlphaSource;

    FX_BOOL				m_TextKnockout;

    FX_BOOL				m_StrokeOP;

    FX_BOOL				m_FillOP;

    int					m_OPMode;

    CPDF_Object*		m_pBG;

    CPDF_Object*		m_pUCR;

    CPDF_Object*		m_pHT;

    FX_FLOAT			m_Flatness;

    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_ContentMarkItem : public CFX_Object
{
public:

    typedef enum {
        None,
        PropertiesDict,
        DirectDict,
        MCID
    } ParamType;

    CPDF_ContentMarkItem();

    CPDF_ContentMarkItem(const CPDF_ContentMarkItem& src);

    ~CPDF_ContentMarkItem();

    inline const CFX_ByteString&	GetName() const
    {
        return m_MarkName;
    }

    inline ParamType	GetParamType() const
    {
        return m_ParamType;
    }

    inline void*		GetParam() const
    {
        return m_pParam;
    }

    inline FX_BOOL		HasMCID() const;

    inline void			SetName(const CFX_ByteString& name)
    {
        m_MarkName = name;
    }

    inline void			SetParam(ParamType type, void* param)
    {
        m_ParamType = type;
        m_pParam = param;
    }
private:

    CFX_ByteString		m_MarkName;

    ParamType			m_ParamType;

    void*				m_pParam;
};
class CPDF_ContentMarkData : public CFX_Object
{
public:

    CPDF_ContentMarkData() { }

    CPDF_ContentMarkData(const CPDF_ContentMarkData& src);

    inline int			CountItems() const
    {
        return m_Marks.GetSize();
    }

    inline CPDF_ContentMarkItem&	GetItem(int index) const
    {
        return m_Marks[index];
    }

    int					GetMCID() const;

    void				AddMark(const CFX_ByteString& name, CPDF_Dictionary* pDict, FX_BOOL bDictNeedClone);

    void				DeleteLastMark();
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;
    }

    FX_BOOL				HasMark(FX_BSTR mark) const;

    FX_BOOL				LookupMark(FX_BSTR 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_INLINES		6
class CPDF_GraphicStates : public CFX_Object
{
public:

    void				CopyStates(const CPDF_GraphicStates& src);

    void				DefaultStates();

    CPDF_ClipPath		m_ClipPath;

    CPDF_GraphState		m_GraphState;

    CPDF_ColorState		m_ColorState;

    CPDF_TextState		m_TextState;

    CPDF_GeneralState	m_GeneralState;
};
class CPDF_PageObject : public CPDF_GraphicStates
{
public:

    static CPDF_PageObject* Create(int type);

    void				Release();

    CPDF_PageObject*	Clone() const;

    void				Copy(const CPDF_PageObject* pSrcObject);

    virtual void		Transform(const CFX_AffineMatrix& matrix) = 0;



    void				RemoveClipPath();

    void				AppendClipPath(CPDF_Path path, int type, FX_BOOL bAutoMerge);

    void				CopyClipPath(CPDF_PageObject* pObj);

    void				TransformClipPath(CFX_AffineMatrix& matrix);

    void				TransformGeneralState(CFX_AffineMatrix& matrix);


    void				SetColorState(CPDF_ColorState state)
    {
        m_ColorState = state;
    }

    FX_RECT				GetBBox(const CFX_AffineMatrix* pMatrix) const;

    int					m_Type;

    FX_FLOAT			m_Left;

    FX_FLOAT			m_Right;

    FX_FLOAT			m_Top;

    FX_FLOAT			m_Bottom;

    CPDF_ContentMark	m_ContentMark;
protected:

    virtual void		CopyData(const CPDF_PageObject* pSrcObject) {}

    void				RecalcBBox();

    CPDF_PageObject() {}

    virtual ~CPDF_PageObject() {}
};
struct CPDF_TextObjectItem : public CFX_Object {

    FX_DWORD			m_CharCode;

    FX_FLOAT			m_OriginX;

    FX_FLOAT			m_OriginY;
};
class CPDF_TextObject : public CPDF_PageObject
{
public:

    CPDF_TextObject();

    virtual ~CPDF_TextObject();

    int					CountItems() const
    {
        return m_nChars;
    }

    void				GetItemInfo(int index, CPDF_TextObjectItem* pInfo) const;

    int					CountChars() 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;


    FX_FLOAT			GetCharWidth(FX_DWORD charcode) const;
    FX_FLOAT			GetSpaceCharWidth() const;

    FX_FLOAT			GetPosX() const
    {
        return m_PosX;
    }

    FX_FLOAT			GetPosY() const
    {
        return m_PosY;
    }

    void				GetTextMatrix(CFX_AffineMatrix* pMatrix) const;

    CPDF_Font*			GetFont() const
    {
        return m_TextState.GetFont();
    }

    FX_FLOAT			GetFontSize() const
    {
        return m_TextState.GetFontSize();
    }

    void				SetEmpty();

    void				SetText(const CFX_ByteString& text);

    void				SetText(CFX_ByteString* pStrs, FX_FLOAT* pKerning, int nSegs);

    void				SetText(int nChars, FX_DWORD* pCharCodes, FX_FLOAT* pKernings);

    void				SetPosition(FX_FLOAT x, FX_FLOAT y);

    void				SetTextState(CPDF_TextState TextState);
    virtual void		Transform(const CFX_AffineMatrix& matrix);

    void				CalcCharPos(FX_FLOAT* pPosArray) const;



    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				RecalcPositionData()
    {
        CalcPositionData(NULL, NULL, 1);
    }
protected:
    virtual void		CopyData(const CPDF_PageObject* pSrcObject);

    FX_FLOAT			m_PosX;

    FX_FLOAT			m_PosY;

    int					m_nChars;

    FX_DWORD*			m_pCharCodes;

    FX_FLOAT*		m_pCharPos;

    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);
    friend class		CPDF_StreamContentParser;
    friend class		CPDF_RenderStatus;
    friend class		CPDF_QuickDrawer;
    friend class		CPDF_TextRenderer;
    friend class		CTextPage;
    friend class		CPDF_ContentGenerator;
};
class CPDF_PathObject : public CPDF_PageObject
{
public:

    CPDF_PathObject()
    {
        m_Type = PDFPAGE_PATH;
    }

    virtual ~CPDF_PathObject() {}
    virtual void		Transform(const CFX_AffineMatrix& maxtrix);

    void				SetGraphState(CPDF_GraphState GraphState);

    CPDF_Path			m_Path;

    int					m_FillType;

    FX_BOOL				m_bStroke;

    CFX_AffineMatrix	m_Matrix;


    void				CalcBoundingBox();
protected:
    virtual void		CopyData(const CPDF_PageObject* pSrcObjet);
};
class CPDF_ImageObject : public CPDF_PageObject
{
public:

    CPDF_ImageObject();

    virtual ~CPDF_ImageObject();
    virtual void		Transform(const CFX_AffineMatrix& matrix);

    CPDF_Image*			m_pImage;

    CFX_AffineMatrix	m_Matrix;

    void				CalcBoundingBox();
private:
    virtual void		CopyData(const CPDF_PageObject* pSrcObjet);
};
class CPDF_ShadingObject : public CPDF_PageObject
{
public:

    CPDF_ShadingObject();

    virtual ~CPDF_ShadingObject();

    CPDF_ShadingPattern*	m_pShading;

    CFX_AffineMatrix	m_Matrix;

    CPDF_Page*			m_pPage;
    virtual void		Transform(const CFX_AffineMatrix& matrix);

    void				CalcBoundingBox();
protected:
    virtual void		CopyData(const CPDF_PageObject* pSrcObjet);
};
class CPDF_FormObject : public CPDF_PageObject
{
public:

    CPDF_FormObject()
    {
        m_Type = PDFPAGE_FORM;
        m_pForm = NULL;
    }

    virtual ~CPDF_FormObject();
    virtual void		Transform(const CFX_AffineMatrix& matrix);

    CPDF_Form*			m_pForm;

    CFX_AffineMatrix	m_FormMatrix;

    void				CalcBoundingBox();
protected:
    virtual void		CopyData(const CPDF_PageObject* pSrcObjet);
};
class CPDF_InlineImages : public CPDF_PageObject
{
public:

    CPDF_InlineImages();

    virtual ~CPDF_InlineImages();

    CPDF_Stream*		m_pStream;

    CFX_DIBitmap*		m_pBitmap;

    CFX_ArrayTemplate<CFX_AffineMatrix>	m_Matrices;

    void				AddMatrix(CFX_AffineMatrix& matrix);
protected:
    virtual void		Transform(const CFX_AffineMatrix& matrix) {}
    virtual void		CopyData(const CPDF_PageObject* pSrcObjet) {}
};
#endif


================================================
FILE: core/include/fpdfapi/fpdf_parser.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_PARSER_
#define _FPDF_PARSER_
#ifndef _FX_BASIC_H_
#include "../fxcrt/fx_ext.h"
#endif
#ifndef _FPDF_OBJECTS_
#include "fpdf_objects.h"
#endif
class CPDF_Document;
class IPDF_DocParser;
class CPDF_Parser;
class CPDF_SecurityHandler;
class CPDF_StandardSecurityHandler;
class CPDF_CryptoHandler;
class CPDF_Object;
class IFX_FileRead;
class CFDF_Document;
class CFDF_Parser;
class CFX_Font;
class CFX_AffineMatrix;
class CFX_FloatRect;
class CPDF_Point;
class CPDF_DocPageData;
class CPDF_DocRenderData;
class CPDF_ModuleMgr;
class CFX_DIBSource;
class CPDF_Font;
class CPDF_Image;
class CPDF_ColorSpace;
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
class IPDF_EnumPageHandler
{
public:

    virtual FX_BOOL EnumPage(CPDF_Dictionary* pPageDict) = 0;
};
class CPDF_Document : public CFX_PrivateData, public CPDF_IndirectObjects
{
public:

    CPDF_Document(IPDF_DocParser* pParser);

    CPDF_Document();

    ~CPDF_Document();

    IPDF_DocParser*			GetParser() const
    {
        return m_pParser;
    }

    CPDF_Dictionary*		GetRoot() const
    {
        return m_pRootDict;
    }

    CPDF_Dictionary*		GetInfo() const
    {
        return m_pInfoDict;
    }

    void					GetID(CFX_ByteString& id1, CFX_ByteString& id2) const
    {
        id1 = m_ID1;
        id2 = m_ID2;
    }

    int						GetPageCount() const;

    CPDF_Dictionary*		GetPage(int iPage);

    int						GetPageIndex(FX_DWORD objnum);

    void					EnumPages(IPDF_EnumPageHandler* pHandler);

    FX_DWORD				GetUserPermissions(FX_BOOL bCheckRevision = FALSE) const;

    FX_BOOL					IsOwner() const;



    CPDF_DocPageData*		GetPageData()
    {
        return GetValidatePageData();
    }

    void					ClearPageData();

    void					RemoveColorSpaceFromPageData(CPDF_Object* pObject);


    CPDF_DocRenderData*		GetRenderData()
    {
        return GetValidateRenderData();
    }

    void					ClearRenderData();

    void					ClearRenderFont();


    FX_BOOL					IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) const;




    CPDF_Font*				LoadFont(CPDF_Dictionary* pFontDict);

    CPDF_Font*				FindFont(CPDF_Dictionary* pFontDict);

    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, int nComponents);

#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);
#endif
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
    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);

    void					DeletePage(int iPage);

    void					LoadDoc();
    void					LoadAsynDoc(CPDF_Dictionary *pLinearized);
    void					LoadPages();
protected:

    CPDF_Dictionary*		m_pRootDict;

    CPDF_Dictionary*		m_pInfoDict;

    CFX_ByteString			m_ID1;

    CFX_ByteString			m_ID2;


    FX_BOOL					m_bLinearized;

    FX_DWORD				m_dwFirstPageNo;

    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;

};

#define PDFWORD_EOF			0
#define PDFWORD_NUMBER		1
#define PDFWORD_TEXT		2
#define PDFWORD_DELIMITER	3
#define PDFWORD_NAME		4
class CPDF_SimpleParser : public CFX_Object
{
public:

    CPDF_SimpleParser(FX_LPCBYTE pData, FX_DWORD dwSize);

    CPDF_SimpleParser(FX_BSTR str);

    CFX_ByteStringC		GetWord();

    FX_BOOL				SearchToken(FX_BSTR token);

    FX_BOOL				SkipWord(FX_BSTR token);

    FX_BOOL				FindTagPair(FX_BSTR start_token, FX_BSTR end_token,
                                    FX_DWORD& start_pos, FX_DWORD& end_pos);

    FX_BOOL				FindTagParam(FX_BSTR token, int nParams);

    FX_DWORD			GetPos()
    {
        return m_dwCurPos;
    }

    void				SetPos(FX_DWORD pos)
    {
        ASSERT(pos <= m_dwSize);
        m_dwCurPos = pos;
    }
private:

    void				ParseWord(FX_LPCBYTE& pStart, FX_DWORD& dwSize, int& type);

    FX_LPCBYTE			m_pData;

    FX_DWORD			m_dwSize;

    FX_DWORD			m_dwCurPos;
};
class CPDF_SyntaxParser : public CFX_Object
{
public:

    CPDF_SyntaxParser();

    ~CPDF_SyntaxParser();

    void				InitParser(IFX_FileRead* pFileAccess, FX_DWORD HeaderOffset);

    FX_FILESIZE			SavePos()
    {
        return m_Pos;
    }

    void				RestorePos(FX_FILESIZE pos)
    {
        m_Pos = pos;
    }

    CPDF_Object*		GetObject(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, FX_DWORD gennum, int level, struct PARSE_CONTEXT* pContext = NULL, FX_BOOL bDecrypt = TRUE);


    CPDF_Object*		GetObjectByStrict(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, FX_DWORD gennum, int level, struct PARSE_CONTEXT* pContext = NULL);

    int					GetDirectNum();

    CFX_ByteString		GetString(FX_DWORD objnum, FX_DWORD gennum);

    CFX_ByteString		GetName();

    CFX_ByteString		GetKeyword();

    void				GetBinary(FX_BYTE* buffer, FX_DWORD size);

    void				ToNextLine();

    void				ToNextWord();

    FX_BOOL				SearchWord(FX_BSTR word, FX_BOOL bWholeWord, FX_BOOL bForward, FX_FILESIZE limit);

    int					SearchMultiWord(FX_BSTR words, FX_BOOL bWholeWord, FX_FILESIZE limit);

    FX_FILESIZE			FindTag(FX_BSTR tag, FX_FILESIZE limit);

    void				SetEncrypt(CPDF_CryptoHandler* pCryptoHandler)
    {
        m_pCryptoHandler = pCryptoHandler;
    }

    FX_BOOL				IsEncrypted()
    {
        return m_pCryptoHandler != NULL;
    }

    FX_BOOL				GetCharAt(FX_FILESIZE pos, FX_BYTE& ch);

    FX_BOOL				ReadBlock(FX_BYTE* pBuf, FX_DWORD size);

    CFX_ByteString		GetNextWord(FX_BOOL& bIsNumber);
protected:

    virtual FX_BOOL				GetNextChar(FX_BYTE& ch);

    FX_BOOL				GetCharAtBackward(FX_FILESIZE pos, FX_BYTE& ch);

    void				GetNextWord();

    FX_BOOL				IsWholeWord(FX_FILESIZE startpos, FX_FILESIZE limit, FX_LPCBYTE tag, FX_DWORD taglen);

    CFX_ByteString		ReadString();

    CFX_ByteString		ReadHexString();

    CPDF_Stream*		ReadStream(CPDF_Dictionary* pDict, PARSE_CONTEXT* pContext, FX_DWORD objnum, FX_DWORD gennum);

    FX_FILESIZE			m_Pos;

    FX_BOOL				m_bFileStream;

    int					m_MetadataObjnum;

    IFX_FileRead*		m_pFileAccess;

    FX_DWORD			m_HeaderOffset;

    FX_FILESIZE			m_FileLen;

    FX_BYTE*			m_pFileBuf;

    FX_DWORD			m_BufSize;

    FX_FILESIZE			m_BufOffset;

    CPDF_CryptoHandler*	m_pCryptoHandler;

    FX_BYTE				m_WordBuffer[257];

    FX_DWORD			m_WordSize;

    FX_BOOL				m_bIsNumber;

    FX_FILESIZE			m_dwWordPos;
    friend class		CPDF_Parser;
    friend class		CPDF_DataAvail;
};

#define PDFPARSE_TYPEONLY	1
#define PDFPARSE_NOSTREAM	2
struct PARSE_CONTEXT {

    FX_BOOL		m_Flags;

    FX_FILESIZE	m_DictStart;

    FX_FILESIZE	m_DictEnd;

    FX_FILESIZE	m_DataStart;

    FX_FILESIZE	m_DataEnd;
};
class IPDF_DocParser : public CFX_Object
{
public:

    virtual FX_DWORD	GetRootObjNum() = 0;

    virtual FX_DWORD	GetInfoObjNum() = 0;

    virtual CPDF_Object*	ParseIndirectObject(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, PARSE_CONTEXT* pContext = NULL) = 0;

    virtual FX_DWORD	GetLastObjNum() = 0;

    virtual CPDF_Array*	GetIDArray() = 0;

    virtual CPDF_Dictionary*	GetEncryptDict() = 0;

    FX_BOOL				IsEncrypted()
    {
        return GetEncryptDict() != NULL;
    }

    virtual FX_DWORD	GetPermissions(FX_BOOL bCheckRevision = FALSE) = 0;

    virtual FX_BOOL		IsOwner() = 0;

    virtual FX_BOOL		IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) = 0;
};

#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 FX_FINAL : public IPDF_DocParser
{
public:

    CPDF_Parser();

    ~CPDF_Parser();

    FX_DWORD			StartParse(FX_LPCSTR filename, FX_BOOL bReParse = FALSE);

    FX_DWORD			StartParse(FX_LPCWSTR filename, FX_BOOL bReParse = FALSE);

    FX_DWORD			StartParse(IFX_FileRead* pFile, FX_BOOL bReParse = FALSE, FX_BOOL bOwnFileRead = TRUE);

    void				CloseParser(FX_BOOL bReParse = FALSE);

    virtual FX_DWORD	GetPermissions(FX_BOOL bCheckRevision = FALSE);

    virtual FX_BOOL		IsOwner();

    void				SetPassword(const FX_CHAR* password)
    {
        m_Password = password;
    }

    CFX_ByteString		GetPassword()
    {
        return m_Password;
    }

    CPDF_SecurityHandler* GetSecurityHandler()
    {
        return m_pSecurityHandler;
    }

    CPDF_CryptoHandler*	GetCryptoHandler()
    {
        return m_Syntax.m_pCryptoHandler;
    }

    void				SetSecurityHandler(CPDF_SecurityHandler* pSecurityHandler, FX_BOOL bForced = FALSE);

    CFX_ByteString		GetRecipient()
    {
        return m_bsRecipient;
    }

    CPDF_Dictionary*	GetTrailer()
    {
        return m_pTrailer;
    }

    FX_FILESIZE			GetLastXRefOffset()
    {
        return m_LastXRefOffset;
    }

    CPDF_Document*		GetDocument()
    {
        return m_pDocument;
    }
    CFX_ArrayTemplate<CPDF_Dictionary *> * GetOtherTrailers()
    {
        return &m_Trailers;
    }

    virtual FX_DWORD	GetRootObjNum();
    virtual FX_DWORD	GetInfoObjNum();
    virtual CPDF_Array*	GetIDArray();
    virtual CPDF_Dictionary*	GetEncryptDict()
    {
        return m_pEncryptDict;
    }
    virtual CPDF_Object*		ParseIndirectObject(CPDF_IndirectObjects* pObjList, FX_DWORD objnum, PARSE_CONTEXT* pContext = NULL);
    virtual FX_DWORD	GetLastObjNum();
    virtual FX_BOOL		IsFormStream(FX_DWORD objnum, FX_BOOL& bForm);

    FX_FILESIZE			GetObjectOffset(FX_DWORD objnum);

    FX_FILESIZE			GetObjectSize(FX_DWORD objnum);

    int					GetObjectVersion(FX_DWORD objnum)
    {
        return m_ObjVersion[objnum];
    }

    void				GetIndirectBinary(FX_DWORD objnum, FX_BYTE*& pBuffer, FX_DWORD& size);

    FX_BOOL				GetFileStreamOption()
    {
        return m_Syntax.m_bFileStream;
    }

    void				SetFileStreamOption(FX_BOOL b)
    {
        m_Syntax.m_bFileStream = b;
    }

    IFX_FileRead*		GetFileAccess() const
    {
        return m_Syntax.m_pFileAccess;
    }

    int					GetFileVersion() const
    {
        return m_FileVersion;
    }

    FX_BOOL				IsXRefStream() const
    {
        return m_bXRefStream;
    }
    CPDF_Object*		ParseIndirectObjectAt(CPDF_IndirectObjects* pObjList, FX_FILESIZE pos, FX_DWORD objnum,
            struct PARSE_CONTEXT* pContext);

    CPDF_Object*		ParseIndirectObjectAtByStrict(CPDF_IndirectObjects* pObjList, FX_FILESIZE pos, FX_DWORD objnum,
            struct PARSE_CONTEXT* pContext, FX_FILESIZE *pResultPos);

    FX_DWORD			StartAsynParse(IFX_FileRead* pFile, FX_BOOL bReParse = FALSE, FX_BOOL bOwnFileRead = TRUE);

    FX_DWORD			GetFirstPageNo()
    {
        return m_dwFirstPageNo;
    }
protected:

    CPDF_Document*		m_pDocument;

    CPDF_SyntaxParser	m_Syntax;
    FX_BOOL				m_bOwnFileRead;
    CPDF_Object*		ParseDirect(CPDF_Object* pObj);

    FX_BOOL				LoadAllCrossRefV4(FX_FILESIZE pos);

    FX_BOOL				LoadAllCrossRefV5(FX_FILESIZE pos);

    FX_BOOL				LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip, FX_BOOL bFirst);

    FX_BOOL				LoadCrossRefV5(FX_FILESIZE pos, FX_FILESIZE& prev, FX_BOOL bMainXRef);

    CPDF_Dictionary*	LoadTrailerV4();

    FX_BOOL				RebuildCrossRef();

    FX_DWORD			SetEncryptHandler();

    void				ReleaseEncryptHandler();

    FX_BOOL				LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);

    FX_BOOL				LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount);

    FX_BOOL				LoadLinearizedAllCrossRefV5(FX_FILESIZE pos);

    FX_DWORD			LoadLinearizedMainXRefTable();

    CFX_MapPtrToPtr		m_ObjectStreamMap;

    CPDF_StreamAcc*		GetObjectStream(FX_DWORD number);

    FX_BOOL				IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWORD offset);



    int					m_FileVersion;

    CPDF_Dictionary*	m_pTrailer;

    CPDF_Dictionary*	m_pEncryptDict;
    void SetEncryptDictionary(CPDF_Dictionary* pDict);

    FX_FILESIZE			m_LastXRefOffset;

    FX_BOOL				m_bXRefStream;


    CPDF_SecurityHandler*	m_pSecurityHandler;

    FX_BOOL					m_bForceUseSecurityHandler;

    CFX_ByteString			m_bsRecipient;

    CFX_ByteString		m_FilePath;

    CFX_ByteString		m_Password;

    CFX_FileSizeArray	m_CrossRef;

    CFX_ByteArray		m_V5Type;

    CFX_FileSizeArray	m_SortedOffset;

    CFX_WordArray		m_ObjVersion;
    CFX_ArrayTemplate<CPDF_Dictionary *>	m_Trailers;

    FX_BOOL				m_bVersionUpdated;

    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_Object
{
public:

    virtual ~CPDF_SecurityHandler() {}

    virtual FX_BOOL		OnInit(CPDF_Parser* pParser, CPDF_Dictionary* pEncryptDict) = 0;

    virtual FX_DWORD	GetPermissions() = 0;

    virtual FX_BOOL		IsOwner() = 0;

    virtual FX_BOOL		GetCryptInfo(int& cipher, FX_LPCBYTE& 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, FX_LPCBYTE& 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,
                                 FX_LPCBYTE user_pass, FX_DWORD user_size,
                                 FX_LPCBYTE owner_pass, FX_DWORD owner_size, FX_DWORD type = PDF_ENCRYPT_CONTENT);

    void				OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray,
                                 FX_LPCBYTE user_pass, FX_DWORD user_size, FX_DWORD type = PDF_ENCRYPT_CONTENT);

    CFX_ByteString		GetUserPassword(FX_LPCBYTE owner_pass, FX_DWORD pass_size);
    CFX_ByteString		GetUserPassword(FX_LPCBYTE owner_pass, FX_DWORD pass_size, FX_INT32 key_len);
    int					GetVersion()
    {
        return m_Version;
    }
    int					GetRevision()
    {
        return m_Revision;
    }

    int					CheckPassword(FX_LPCBYTE password, FX_DWORD pass_size, FX_BOOL bOwner, FX_LPBYTE key);
    int					CheckPassword(FX_LPCBYTE password, FX_DWORD pass_size, FX_BOOL bOwner, FX_LPBYTE 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(FX_LPCBYTE password, FX_DWORD pass_size,
                                          FX_BOOL bIgnoreEncryptMeta, FX_LPBYTE key, FX_INT32 key_len);

    FX_BOOL				CheckOwnerPassword(FX_LPCBYTE password, FX_DWORD pass_size, FX_LPBYTE key, FX_INT32 key_len);
    FX_BOOL				AES256_CheckPassword(FX_LPCBYTE password, FX_DWORD size, FX_BOOL bOwner, FX_LPBYTE key);
    void				AES256_SetPassword(CPDF_Dictionary* pEncryptDict, FX_LPCBYTE password, FX_DWORD size, FX_BOOL bOwner, FX_LPCBYTE key);
    void				AES256_SetPerms(CPDF_Dictionary* pEncryptDict, FX_DWORD permission, FX_BOOL bEncryptMetadata, FX_LPCBYTE key);
    void				OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray,
                                 FX_LPCBYTE user_pass, FX_DWORD user_size,
                                 FX_LPCBYTE owner_pass, FX_DWORD owner_size, FX_BOOL bDefault, FX_DWORD type);
    FX_BOOL				CheckSecurity(FX_INT32 key_len);

    FX_BOOL				m_bOwner;

    FX_DWORD			m_Permissions;

    int					m_Cipher;

    FX_BYTE				m_EncryptKey[32];

    int					m_KeyLen;
};
class CPDF_CryptoHandler : public CFX_Object
{
public:

    virtual ~CPDF_CryptoHandler() {}

    virtual FX_BOOL		Init(CPDF_Dictionary* pEncryptDict, CPDF_SecurityHandler* pSecurityHandler) = 0;

    virtual FX_DWORD	DecryptGetSize(FX_DWORD src_size) = 0;

    virtual FX_LPVOID	DecryptStart(FX_DWORD objnum, FX_DWORD gennum) = 0;

    virtual FX_BOOL		DecryptStream(FX_LPVOID context, FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf) = 0;

    virtual FX_BOOL		DecryptFinish(FX_LPVOID context, CFX_BinaryBuf& dest_buf) = 0;


    virtual FX_DWORD	EncryptGetSize(FX_DWORD objnum, FX_DWORD version, FX_LPCBYTE src_buf, FX_DWORD src_size) = 0;

    virtual FX_BOOL		EncryptContent(FX_DWORD objnum, FX_DWORD version, FX_LPCBYTE src_buf, FX_DWORD src_size,
                                       FX_LPBYTE dest_buf, FX_DWORD& dest_size) = 0;

    void				Decrypt(FX_DWORD objnum, FX_DWORD version, CFX_ByteString& str);
};
class CPDF_StandardCryptoHandler : public CPDF_CryptoHandler
{
public:

    CPDF_StandardCryptoHandler();

    virtual ~CPDF_StandardCryptoHandler();

    FX_BOOL				Init(int cipher, FX_LPCBYTE key, int keylen);
    virtual FX_BOOL		Init(CPDF_Dictionary* pEncryptDict, CPDF_SecurityHandler* pSecurityHandler);
    virtual FX_DWORD	DecryptGetSize(FX_DWORD src_size);
    virtual FX_LPVOID	DecryptStart(FX_DWORD objnum, FX_DWORD gennum);
    virtual FX_BOOL		DecryptStream(FX_LPVOID context, FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf);
    virtual FX_BOOL		DecryptFinish(FX_LPVOID context, CFX_BinaryBuf& dest_buf);
    virtual FX_DWORD	EncryptGetSize(FX_DWORD objnum, FX_DWORD version, FX_LPCBYTE src_buf, FX_DWORD src_size);
    virtual FX_BOOL		EncryptContent(FX_DWORD objnum, FX_DWORD version, FX_LPCBYTE src_buf, FX_DWORD src_size,
                                       FX_LPBYTE dest_buf, FX_DWORD& dest_size);
protected:

    virtual void		CryptBlock(FX_BOOL bEncrypt, FX_DWORD objnum, FX_DWORD gennum, FX_LPCBYTE src_buf, FX_DWORD src_size,
                                   FX_LPBYTE dest_buf, FX_DWORD& dest_size);
    virtual FX_LPVOID	CryptStart(FX_DWORD objnum, FX_DWORD gennum, FX_BOOL bEncrypt);
    virtual FX_BOOL		CryptStream(FX_LPVOID context, FX_LPCBYTE src_buf, FX_DWORD src_size, CFX_BinaryBuf& dest_buf, FX_BOOL bEncrypt);
    virtual FX_BOOL		CryptFinish(FX_LPVOID context, CFX_BinaryBuf& dest_buf, FX_BOOL bEncrypt);

    FX_BYTE				m_EncryptKey[32];

    int					m_KeyLen;

    int					m_Cipher;

    FX_LPBYTE			m_pAESContext;
};
class CPDF_Point : public CFX_Object
{
public:

    CPDF_Point(FX_FLOAT xx, FX_FLOAT yy)
    {
        x = xx;
        y = yy;
    }

    FX_FLOAT			x;

    FX_FLOAT			y;
};

#define CPDF_Rect		CFX_FloatRect
#define CPDF_Matrix		CFX_AffineMatrix
CFX_ByteString PDF_NameDecode(FX_BSTR 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 CFX_ByteString& str, CFX_CharMap* pCharMap = NULL);
CFX_WideString PDF_DecodeText(FX_LPCBYTE pData, FX_DWORD size, CFX_CharMap* pCharMap = NULL);
CFX_ByteString PDF_EncodeText(FX_LPCWSTR pString, int len = -1, CFX_CharMap* pCharMap = NULL);
FX_FLOAT PDF_ClipFloat(FX_FLOAT f);
class CFDF_Document : public CPDF_IndirectObjects
{
public:

    static CFDF_Document*	CreateNewDoc();

    static CFDF_Document*	ParseFile(FX_LPCSTR file_path);

    static CFDF_Document*	ParseFile(FX_LPCWSTR file_path);

    static CFDF_Document*	ParseFile(IFX_FileRead *pFile, FX_BOOL bOwnFile = FALSE);

    static CFDF_Document*	ParseMemory(FX_LPCBYTE pData, FX_DWORD size);

    ~CFDF_Document();

    FX_BOOL					WriteFile(FX_LPCSTR file_path) const;

    FX_BOOL					WriteFile(FX_LPCWSTR file_path) const;

    FX_BOOL					WriteFile(IFX_FileWrite *pFile) const;

    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;
};

CFX_WideString	FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec);
void			FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideString& fullpath);

void FlateEncode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
FX_DWORD FlateDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
FX_DWORD RunLengthDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& dest_buf, FX_DWORD& dest_size);
class CPDF_NumberTree : public CFX_Object
{
public:

    CPDF_NumberTree(CPDF_Dictionary* pRoot)
    {
        m_pRoot = pRoot;
    }

    CPDF_Object*		LookupValue(int num);
protected:

    CPDF_Dictionary*	m_pRoot;
};

class IFX_FileAvail
{
public:

    virtual FX_BOOL			IsDataAvail( FX_FILESIZE offset, FX_DWORD size) = 0;
};
class IFX_DownloadHints
{
public:

    virtual void			AddSegment(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:

    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 FX_INT32		IsFormAvail(IFX_DownloadHints *pHints) = 0;

    virtual FX_INT32		IsLinearizedPDF() = 0;

    virtual void				GetLinearizedMainXRefInfo(FX_FILESIZE *pPos, FX_DWORD *pSize) = 0;
};
class CPDF_SortObjNumArray : public CFX_Object
{
public:

    void AddObjNum(FX_DWORD dwObjNum);

    FX_BOOL Find(FX_DWORD dwObjNum);

    void RemoveAll()
    {
        m_number_array.RemoveAll();
    }
protected:

    FX_BOOL BinarySearch(FX_DWORD value, int &iNext);
protected:

    CFX_DWordArray			m_number_array;
};
enum PDF_PAGENODE_TYPE {
    PDF_PAGENODE_UNKOWN = 0,
    PDF_PAGENODE_PAGE,
    PDF_PAGENODE_PAGES,
    PDF_PAGENODE_ARRAY,
};
class CPDF_PageNode : public CFX_Object
{
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
};
class CPDF_DataAvail FX_FINAL : public CFX_Object, public IPDF_DataAvail
{
public:

    CPDF_DataAvail(IFX_FileAvail* pFileAvail, IFX_FileRead* pFileRead);
    ~CPDF_DataAvail();

    virtual FX_BOOL				IsDocAvail(IFX_DownloadHints* pHints);


    virtual void				SetDocument(CPDF_Document* pDoc);


    virtual FX_BOOL				IsPageAvail(int iPage, IFX_DownloadHints* pHints);

    virtual FX_INT32			IsFormAvail(IFX_DownloadHints *pHints);

    virtual FX_INT32			IsLinearizedPDF();

    virtual FX_BOOL				IsLinearized()
    {
        return m_bLinearized;
    }

    virtual void				GetLinearizedMainXRefInfo(FX_FILESIZE *pPos, FX_DWORD *pSize);
    IFX_FileRead*				GetFileRead() const
    {
        return m_pFileRead;
    }
    IFX_FileAvail*				GetFileAvail() const
    {
        return m_pFileAvail;
    }
protected:
    FX_DWORD					GetObjectSize(FX_DWORD objnum, FX_FILESIZE& offset);
    FX_BOOL						IsObjectsAvail(CFX_PtrArray& obj_array, FX_BOOL bParsePage, IFX_DownloadHints* pHints, CFX_PtrArray &ret_array);
    FX_BOOL						CheckDocStatus(IFX_DownloadHints *pHints);
    FX_BOOL						CheckHeader(IFX_DownloadHints* pHints);
    FX_BOOL						CheckFirstPage(IFX_DownloadHints *pHints);
    FX_BOOL						CheckEnd(IFX_DownloadHints *pHints);
    FX_BOOL						CheckCrossRef(IFX_DownloadHints* pHints);
    FX_BOOL						CheckCrossRefItem(IFX_DownloadHints *pHints);
    FX_BOOL						CheckTrailer(IFX_DownloadHints* pHints);
    FX_BOOL						CheckRoot(IFX_DownloadHints* pHints);
    FX_BOOL						CheckInfo(IFX_DownloadHints* pHints);
    FX_BOOL						CheckPages(IFX_DownloadHints* pHints);
    FX_BOOL						CheckPage(IFX_DownloadHints* pHints);
    FX_BOOL						CheckResources(IFX_DownloadHints* pHints);
    FX_BOOL						CheckAnnots(IFX_DownloadHints* pHints);
    FX_BOOL						CheckAcroForm(IFX_DownloadHints* pHints);
    FX_BOOL						CheckAcroFormSubObject(IFX_DownloadHints* pHints);
    FX_BOOL						CheckTrailerAppend(IFX_DownloadHints* pHints);
    FX_BOOL						CheckPageStatus(IFX_DownloadHints* pHints);
    FX_BOOL						CheckAllCrossRefStream(IFX_DownloadHints *pHints);

    FX_DWORD					CheckCrossRefStream(IFX_DownloadHints *pHints, FX_FILESIZE &xref_offset);
    FX_BOOL						IsLinearizedFile(FX_LPBYTE pData, FX_DWORD dwLen);
    void						SetStartOffset(FX_FILESIZE dwOffset);
    FX_BOOL						GetNextToken(CFX_ByteString &token);
    FX_BOOL						GetNextChar(FX_BYTE &ch);
    CPDF_Object	*				ParseIndirectObjectAt(FX_FILESIZE pos, FX_DWORD objnum);
    CPDF_Object	*				GetObject(FX_DWORD objnum, IFX_DownloadHints* pHints, FX_BOOL *pExistInFile);
    FX_BOOL						GetPageKids(CPDF_Parser *pParser, CPDF_Object *pPages);
    FX_BOOL						PreparePageItem();
    FX_BOOL						LoadPages(IFX_DownloadHints* pHints);
    FX_BOOL						LoadAllXref(IFX_DownloadHints* pHints);
    FX_BOOL						LoadAllFile(IFX_DownloadHints* pHints);
    FX_BOOL						CheckLinearizedData(IFX_DownloadHints* pHints);
    FX_BOOL						CheckFileResources(IFX_DownloadHints* pHints);
    FX_BOOL						CheckPageAnnots(int iPage, IFX_DownloadHints* pHints);

    FX_BOOL						CheckLinearizedFirstPage(int iPage, IFX_DownloadHints* pHints);
    FX_BOOL						HaveResourceAncestor(CPDF_Dictionary *pDict);
    FX_BOOL						CheckPage(FX_INT32 iPage, IFX_DownloadHints* pHints);
    FX_BOOL						LoadDocPages(IFX_DownloadHints* pHints);
    FX_BOOL						LoadDocPage(FX_INT32 iPage, IFX_DownloadHints* pHints);
    FX_BOOL						CheckPageNode(CPDF_PageNode &pageNodes, FX_INT32 iPage, FX_INT32 &iCount, IFX_DownloadHints* pHints);
    FX_BOOL						CheckUnkownPageNode(FX_DWORD dwPageNo, CPDF_PageNode *pPageNode, IFX_DownloadHints* pHints);
    FX_BOOL						CheckArrayPageNode(FX_DWORD dwPageNo, CPDF_PageNode *pPageNode, IFX_DownloadHints* pHints);
    FX_BOOL                     CheckPageCount(IFX_DownloadHints* pHints);
    FX_BOOL						IsFirstCheck(int iPage);
    void						ResetFirstCheck(int iPage);

    CPDF_Parser				m_parser;

    CPDF_SyntaxParser		m_syntaxParser;

    CPDF_Object				*m_pRoot;

    FX_DWORD				m_dwRootObjNum;

    FX_DWORD				m_dwInfoObjNum;

    CPDF_Object				*m_pLinearized;

    CPDF_Object				*m_pTrailer;

    FX_BOOL					m_bDocAvail;

    FX_FILESIZE				m_dwHeaderOffset;

    FX_FILESIZE				m_dwLastXRefOffset;

    FX_FILESIZE				m_dwXRefOffset;

    FX_FILESIZE				m_dwTrailerOffset;

    FX_FILESIZE				m_dwCurrentOffset;

    PDF_DATAAVAIL_STATUS	m_docStatus;

    IFX_FileAvail*			m_pFileAvail;

    IFX_FileRead*			m_pFileRead;

    FX_FILESIZE				m_dwFileLen;

    CPDF_Document*			m_pDocument;

    CPDF_SortObjNumArray	m_objnum_array;

    CFX_PtrArray			m_objs_array;

    FX_FILESIZE				m_Pos;

    FX_FILESIZE				m_bufferOffset;

    FX_DWORD				m_bufferSize;

    CFX_ByteString			m_WordBuf;

    FX_BYTE					m_WordBuffer[257];

    FX_DWORD				m_WordSize;

    FX_BYTE					m_bufferData[512];

    CFX_FileSizeArray		m_CrossOffset;

    CFX_DWordArray			m_XRefStreamList;

    CFX_DWordArray			m_PageObjList;

    FX_DWORD				m_PagesObjNum;

    FX_BOOL					m_bLinearized;

    FX_DWORD				m_dwFirstPageNo;

    FX_BOOL					m_bLinearedDataOK;

    FX_BOOL					m_bMainXRefLoad;

    FX_BOOL					m_bMainXRefLoadedOK;

    FX_BOOL					m_bPagesTreeLoad;

    FX_BOOL					m_bPagesLoad;

    CPDF_Parser *			m_pCurrentParser;

    FX_FILESIZE				m_dwCurrentXRefSteam;

    FX_BOOL					m_bAnnotsLoad;

    FX_BOOL					m_bHaveAcroForm;

    FX_DWORD				m_dwAcroFormObjNum;

    FX_BOOL					m_bAcroFormLoad;

    CPDF_Object	*			m_pAcroForm;

    CFX_PtrArray			m_arrayAcroforms;

    CPDF_Dictionary *		m_pPageDict;

    CPDF_Object *			m_pPageResource;

    FX_BOOL					m_bNeedDownLoadResource;

    FX_BOOL					m_bPageLoadedOK;

    FX_BOOL					m_bLinearizedFormParamLoad;

    CFX_PtrArray			m_PagesArray;

    FX_DWORD				m_dwEncryptObjNum;

    FX_FILESIZE				m_dwPrevXRefOffset;

    FX_BOOL					m_bTotalLoadPageTree;

    FX_BOOL					m_bCurPageDictLoadOK;

    CPDF_PageNode			m_pageNodes;

    CFX_CMapDWordToDWord *	m_pageMapCheckState;

    CFX_CMapDWordToDWord *	m_pagesLoadState;
};
#endif


================================================
FILE: core/include/fpdfapi/fpdf_render.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_RENDER_
#define _FPDF_RENDER_
#ifndef _FPDF_PAGE_
#include "fpdf_page.h"
#endif
#ifndef _FX_GE_H_
#include "../fxge/fx_ge.h"
#endif
class CPDF_RenderContext;
class CPDF_RenderOptions;
class CPDF_ImageCache;
class IPDF_OCContext;
class CPDF_QuickStretcher;
class CFX_PathData;
class CFX_GraphStateData;
class CFX_RenderDevice;
class CPDF_TextObject;
class CPDF_PathObject;
class CPDF_ImageObject;
class CPDF_ShadingObject;
class CPDF_FormObject;
class IPDF_OCContext
{
public:

    virtual ~IPDF_OCContext() {}

    virtual FX_BOOL	CheckOCGVisible(const CPDF_Dictionary* pOCG) = 0;

    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 CFX_Object
{
public:

    CPDF_RenderOptions();

    int				m_ColorMode;

    FX_COLORREF		m_BackColor;

    FX_COLORREF		m_ForeColor;

    FX_DWORD		m_Flags;

    int				m_Interpolation;

    FX_DWORD		m_AddFlags;

    IPDF_OCContext*	m_pOCContext;

    FX_DWORD		m_dwLimitCacheSize;

    int				m_HalftoneLimit;

    FX_ARGB			TranslateColor(FX_ARGB argb) const;
};
class CPDF_RenderContext : public CFX_Object
{
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();

    void			Clear();

    void			AppendObjectList(CPDF_PageObjects* pObjs, const CFX_AffineMatrix* pObject2Device);

    void			SetBackground(class IPDF_BackgroundDraw* pBackground);

    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_PageRenderCache*	GetPageCache() const
    {
        return m_pPageCache;
    }



    CPDF_Document*			m_pDocument;

    CPDF_Dictionary*		m_pPageResources;

    CPDF_PageRenderCache*	m_pPageCache;

protected:

    CFX_ArrayTemplate<struct _PDF_RenderItem>	m_ContentList;

    IPDF_BackgroundDraw*	m_pBackgroundDraw;

    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;
};
class IPDF_BackgroundDraw
{
public:

    virtual	void	OnDrawBackground(
        CFX_RenderDevice* pBitmapDevice,
        const CFX_AffineMatrix* pOriginal2Bitmap
    ) = 0;
};
class CPDF_ProgressiveRenderer : public CFX_Object
{
public:

    CPDF_ProgressiveRenderer();

    ~CPDF_ProgressiveRenderer();

    typedef enum {
        Ready,
        ToBeContinued,
        Done,
        Failed
    } RenderStatus;

    RenderStatus		GetStatus()
    {
        return m_Status;
    }



    void				Start(CPDF_RenderContext* pContext, CFX_RenderDevice* pDevice,
                              const CPDF_RenderOptions* pOptions, class IFX_Pause* pPause, FX_BOOL bDropObjects = FALSE);

    void				Continue(class IFX_Pause* pPause);


    int					EstimateProgress();

    void				Clear();
protected:

    RenderStatus		m_Status;

    CPDF_RenderContext*	m_pContext;

    CFX_RenderDevice*	m_pDevice;

    const CPDF_RenderOptions*	m_pOptions;

    FX_BOOL				m_bDropObjects;

    class CPDF_RenderStatus*	m_pRenderer;

    CFX_FloatRect		m_ClipRect;

    FX_DWORD			m_LayerIndex;

    FX_DWORD			m_ObjectIndex;

    FX_POSITION			m_ObjectPos;

    FX_POSITION			m_PrevLastPos;

    void				RenderStep();
};
class CPDF_TextRenderer : public CFX_Object
{
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 IPDF_PageImageCache
{
public:

    static IPDF_PageImageCache* Create();

    virtual ~IPDF_PageImageCache() {}

    virtual void		OutputPage(CFX_RenderDevice* pDevice, CPDF_Page* pPage,
                                   int pos_x, int pos_y, int size_x, int size_y, int rotate) = 0;

    virtual void		SetCacheLimit(FX_DWORD limit) = 0;
};
class CPDF_PageRenderCache : public CFX_Object
{
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(FX_INT32 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, FX_INT32 downsampleWidth = 0, FX_INT32 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,
            FX_INT32 downsampleWidth = 0, FX_INT32 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 CFX_Object
{
public:
    CPDF_RenderConfig();
    ~CPDF_RenderConfig();
    int					m_HalftoneLimit;
    int					m_RenderStepLimit;
};
#endif


================================================
FILE: core/include/fpdfapi/fpdf_resource.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_RESOURCE_
#define _FPDF_RESOURCE_
#ifndef _FPDF_PARSER_
#include "fpdf_parser.h"
#endif
#ifndef _FX_FONT_H_
#include "../fxge/fx_font.h"
#endif
class CPDF_Font;
class CPDF_Type1Font;
class CPDF_TrueTypeFont;
class CPDF_CIDFont;
class CPDF_Type3Font;
class CPDF_FontEncoding;
class CPDF_CMap;
class CPDF_CID2UnicodeMap;
class CPDF_ColorSpace;
class CPDF_Color;
class CPDF_Function;
class CPDF_Pattern;
class CPDF_TilingPattern;
class CPDF_ShadingPattern;
class CPDF_Image;
class CPDF_Face;
class CPDF_ToUnicodeMap;
class CFX_SubstFont;
class CFX_Font;
class CPDF_RenderContext;
class CPDF_Form;
class CPDF_ImageObject;
class CFX_DIBitmap;
typedef struct FT_FaceRec_* FXFT_Face;
class CFX_CTTGSUBTable;
class CPDF_Page;
#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
FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name);
CFX_ByteString PDF_AdobeNameFromUnicode(FX_WCHAR unicode);
class CPDF_Font : public CFX_Object
{
public:

    static CPDF_Font*		CreateFontF(CPDF_Document* pDoc, CPDF_Dictionary* pFontDict);

    static CPDF_Font*		GetStockFont(CPDF_Document* pDoc, FX_BSTR fontname);

    virtual ~CPDF_Font();




    int						GetFontType() const
    {
        return m_FontType;
    }

    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;
    }

    virtual FX_BOOL			IsVertWriting()const;




    CPDF_Type1Font*			GetType1Font() const
    {
        return m_FontType == PDFFONT_TYPE1 ? (CPDF_Type1Font*)(void*)this : NULL;
    }

    CPDF_TrueTypeFont*		GetTrueTypeFont() const
    {
        return m_FontType == PDFFONT_TRUETYPE ? (CPDF_TrueTypeFont*)(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;
    }

    virtual FX_BOOL			IsUnicodeCompatible() const
    {
        return FALSE;
    }

    CPDF_StreamAcc*			GetFontFile() const
    {
        return m_pFontFile;
    }

    CPDF_Dictionary*		GetFontDict() const
    {
        return m_pFontDict;
    }

    FX_BOOL					IsStandardFont() const;

    FXFT_Face				GetFace() const
    {
        return m_Font.GetFace();
    }



    virtual FX_DWORD		GetNextChar(FX_LPCSTR pString, int& offset) const
    {
        return (FX_BYTE)pString[offset++];
    }

    virtual int				CountChar(FX_LPCSTR pString, int size) const
    {
        return size;
    }

    void					AppendChar(CFX_ByteString& str, FX_DWORD charcode) const;

    virtual int				AppendChar(FX_LPSTR buf, FX_DWORD charcode) const
    {
        *buf = (FX_CHAR)charcode;
        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;

    CFX_CharMap*			GetCharMap()
    {
        return m_pCharMap;
    }

    CFX_ByteString			EncodeString(const CFX_WideString& str) const;

    CFX_WideString			DecodeString(const CFX_ByteString& str) const;




    void					GetFontBBox(FX_RECT& rect) const
    {
        rect = m_FontBBox;
    }

    int						GetTypeAscent() const
    {
        return m_Ascent;
    }

    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);

    virtual int				GetCharWidthF(FX_DWORD charcode, int level = 0) = 0;

    virtual int				GetCharTypeWidth(FX_DWORD charcode);

    virtual void			GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0) = 0;



    CPDF_Document*			m_pDocument;

    class CFX_PathData*		LoadGlyphPath(FX_DWORD charcode, int dest_width = 0);

    CFX_Font				m_Font;
protected:

    CPDF_Font();

    FX_BOOL					Initialize();

    FX_BOOL					Load();

    virtual FX_BOOL			_Load() = 0;

    virtual FX_WCHAR		_UnicodeFromCharCode(FX_DWORD charcode) const = 0;

    virtual FX_DWORD		_CharCodeFromUnicode(FX_WCHAR Unicode) const = 0;

    void					LoadUnicodeMap();

    void					LoadPDFEncoding(CPDF_Object* pEncoding, int& iBaseEncoding,
                                            CFX_ByteString*& pCharNames, FX_BOOL bEmbedded, FX_BOOL bTrueType);

    void					LoadFontDescriptor(CPDF_Dictionary*);

    void					LoadCharWidths(FX_WORD* pWidths);

    void					CheckFontMetrics();

    CFX_CharMap*			m_pCharMap;



    int						m_FontType;

    CFX_ByteString			m_BaseFont;

    CPDF_StreamAcc*			m_pFontFile;

    CPDF_Dictionary*		m_pFontDict;

    CPDF_ToUnicodeMap*		m_pToUnicodeMap;

    FX_BOOL					m_bToUnicodeLoaded;




    int						m_Flags;

    FX_RECT					m_FontBBox;

    int						m_StemV;

    int						m_Ascent;

    int						m_Descent;

    int						m_ItalicAngle;

};
#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 CFX_Object
{
public:

    CPDF_FontEncoding();

    CPDF_FontEncoding(int PredefinedEncoding);

    void					LoadEncoding(CPDF_Object* pEncoding);

    FX_BOOL					IsIdentical(CPDF_FontEncoding* pAnother) const;

    FX_WCHAR				UnicodeFromCharCode(FX_BYTE charcode) const
    {
        return m_Unicodes[charcode];
    }

    int						CharCodeFromUnicode(FX_WCHAR unicode) const;

    void					SetUnicode(FX_BYTE charcode, FX_WCHAR unicode)
    {
        m_Unicodes[charcode] = unicode;
    }

    CPDF_Object*			Realize();
public:

    FX_WCHAR				m_Unicodes[256];
};
class CPDF_SimpleFont : public CPDF_Font
{
public:

    CPDF_SimpleFont();

    virtual ~CPDF_SimpleFont();

    CPDF_FontEncoding*		GetEncoding()
    {
        return &m_Encoding;
    }
    virtual int				GetCharWidthF(FX_DWORD charcode, int level = 0);
    virtual void			GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0);
    virtual int				GlyphFromCharCode(FX_DWORD charcode, FX_BOOL *pVertGlyph = NULL);
    virtual FX_BOOL			IsUnicodeCompatible() const;
protected:

    FX_BOOL					LoadCommon();

    void					LoadSubstFont();

    void					LoadFaceMetrics();

    virtual void			LoadGlyphMap() = 0;
    virtual FX_WCHAR		_UnicodeFromCharCode(FX_DWORD charcode) const
    {
        return m_Encoding.UnicodeFromCharCode((FX_BYTE)charcode);
    }
    virtual FX_DWORD		_CharCodeFromUnicode(FX_WCHAR Unicode) const
    {
        return m_Encoding.CharCodeFromUnicode(Unicode);
    }



    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;

    void					LoadCharMetrics(int charcode);

};
class CPDF_Type1Font : public CPDF_SimpleFont
{
public:

    CPDF_Type1Font();

    int						GetBase14Font()
    {
        return m_Base14Font;
    }
    virtual int				GlyphFromCharCodeExt(FX_DWORD charcode);
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();
};
class CPDF_Type3Char : public CFX_Object
{
public:

    CPDF_Type3Char();

    ~CPDF_Type3Char();

    FX_BOOL LoadBitmap(CPDF_RenderContext* pContext);

    FX_BOOL					m_bColored;

    FX_BOOL					m_bPageRequired;



    CPDF_Form*				m_pForm;

    CFX_AffineMatrix		m_ImageMatrix;

    CFX_DIBitmap*			m_pBitmap;


    int						m_Width;

    FX_RECT					m_BBox;
};
class CPDF_Type3Font : public CPDF_SimpleFont
{
public:
    CPDF_Type3Font();
    virtual ~CPDF_Type3Font();
    void					SetPageResources(CPDF_Dictionary* pResources)
    {
        m_pPageResources = pResources;
    }
    CPDF_Type3Char*			LoadChar(FX_DWORD charcode, int level = 0);
    virtual int				GetCharWidthF(FX_DWORD charcode, int level = 0);
    virtual int				GetCharTypeWidth(FX_DWORD charcode)
    {
        return GetCharWidthF(charcode);
    }
    virtual void			GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0);
    CFX_AffineMatrix&		GetFontMatrix()
    {
        return m_FontMatrix;
    }
    void					CheckType3FontMetrics();
private:
    virtual FX_BOOL			_Load();
    virtual void			LoadGlyphMap() {}
    int						m_CharWidthL[256];
    CPDF_Dictionary*		m_pCharProcs;
    CPDF_Dictionary*		m_pPageResources;
    CPDF_Dictionary*		m_pFontResources;
    CFX_MapPtrToPtr			m_CacheMap;
    CFX_MapPtrToPtr			m_DeletedMap;
protected:
    CFX_AffineMatrix		m_FontMatrix;
};
#define CIDSET_UNKNOWN		0
#define CIDSET_GB1			1
#define CIDSET_CNS1			2
#define CIDSET_JAPAN1		3
#define CIDSET_KOREA1		4
#define CIDSET_UNICODE		5
class CPDF_CIDFont : public CPDF_Font
{
public:

    CPDF_CIDFont();

    virtual ~CPDF_CIDFont();

    FX_BOOL					LoadGB2312();
    virtual int				GlyphFromCharCode(FX_DWORD charcode, FX_BOOL *pVertGlyph = NULL);
    virtual int				GetCharWidthF(FX_DWORD charcode, int level = 0);
    virtual void			GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level = 0);

    FX_WORD					CIDFromCharCode(FX_DWORD charcode) const;

    FX_BOOL					IsTrueType()
    {
        return !m_bType1;
    }


    virtual FX_DWORD		GetNextChar(const FX_CHAR* pString, int& offset) const;
    virtual int				CountChar(const FX_CHAR* pString, int size) const;
    virtual int				AppendChar(FX_LPSTR str, FX_DWORD charcode) const;
    virtual int				GetCharSize(FX_DWORD charcode) const;


    int						GetCharset() const
    {
        return m_Charset;
    }

    FX_LPCBYTE				GetCIDTransform(FX_WORD CID) const;



    virtual FX_BOOL			IsVertWriting() const;

    short					GetVertWidth(FX_WORD CID) const;

    void					GetVertOrigin(FX_WORD CID, short& vx, short& vy) const;

    virtual FX_BOOL			IsUnicodeCompatible() const;
    virtual FX_BOOL			IsFontStyleFromCharCode(FX_DWORD charcode) const;
protected:
    friend class			CPDF_Font;
    virtual FX_BOOL			_Load();
    virtual FX_WCHAR		_UnicodeFromCharCode(FX_DWORD charcode) const;
    virtual FX_DWORD		_CharCodeFromUnicode(FX_WCHAR Unicode) const;
    int				GetGlyphIndex(FX_DWORD unicodeb, FX_BOOL *pVertGlyph);

    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;


    void					LoadMetricsArray(CPDF_Array* pArray, CFX_DWordArray& result, int nElements);

    void					LoadSubstFont();

    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 CFX_Object
{
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(FX_LPBYTE dest_buf, FX_LPCBYTE 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*			m_pDocument;
protected:

    CPDF_ColorSpace();

    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 CFX_Object
{
public:

    CPDF_Color()
    {
        m_pBuffer = NULL;
        m_pCS = NULL;
    }

    CPDF_Color(int family);

    ~CPDF_Color();

    FX_BOOL					IsNull() const
    {
        return m_pBuffer == NULL;
    }

    FX_BOOL					IsEqual(const CPDF_Color& other) const;

    FX_BOOL					IsPattern() const
    {
        return m_pCS && m_pCS->GetFamily() == PDFCS_PATTERN;
    }

    void					Copy(const CPDF_Color* pSrc);

    void					SetColorSpace(CPDF_ColorSpace* pCS);

    void					SetValue(FX_FLOAT* comp);

    void					SetValue(CPDF_Pattern* pPattern, FX_FLOAT* comp, int ncomps);

    FX_BOOL					GetRGB(int& R, int& G, int& B) const;

    CPDF_Pattern*			GetPattern() const;

    CPDF_ColorSpace*		GetPatternCS() const;

    FX_FLOAT*			GetPatternColor() const;

    CPDF_ColorSpace*		m_pCS;

    FX_FLOAT*			m_pBuffer;
protected:
    void	ReleaseBuffer();
    void	ReleaseColorSpace();
};
#define PATTERN_TILING		1
#define PATTERN_SHADING		2
class CPDF_Pattern : public CFX_Object
{
public:

    virtual ~CPDF_Pattern() {}

    CPDF_Object*			m_pPatternObj;

    int						m_PatternType;

    CFX_AffineMatrix		m_Pattern2Form;
    CFX_AffineMatrix		m_ParentMatrix;

    CPDF_Document*			m_pDocument;

protected:

    CPDF_Pattern(const CFX_AffineMatrix* pParentMatrix)
    {
        if (pParentMatrix) {
            m_ParentMatrix = *pParentMatrix;
        }
    }
};
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();



    FX_BOOL				m_bColored;

    CFX_FloatRect		m_BBox;

    FX_FLOAT			m_XStep;

    FX_FLOAT			m_YStep;



    CPDF_Form*			m_pForm;
};
class CPDF_ShadingPattern : public CPDF_Pattern
{
public:

    CPDF_ShadingPattern(CPDF_Document* pDoc, CPDF_Object* pPatternObj, FX_BOOL bShading, const CFX_AffineMatrix* parentMatrix);

    virtual ~CPDF_ShadingPattern();

    CPDF_Object*		m_pShadingObj;

    FX_BOOL				m_bShadingObj;

    FX_BOOL				Load();

    FX_BOOL				Reload();

    int					m_ShadingType;

    CPDF_ColorSpace*	m_pCS;


    CPDF_Function*		m_pFunctions[4];

    int					m_nFuncs;
protected:
    void	Clear();
};
struct CPDF_MeshVertex {
    FX_FLOAT x, y;
    FX_FLOAT r, g, b;
};
class CPDF_MeshStream : public CFX_Object
{
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;
    FX_INT32 nQuality;
};
class CPDF_Image : public CFX_Object
{
public:

    CPDF_Image(CPDF_Document* pDoc);

    ~CPDF_Image();

    FX_BOOL					LoadImageF(CPDF_Stream* pImageStream, FX_BOOL bInline);

    void					Release();

    CPDF_Image*				Clone();

    FX_BOOL					IsInline()
    {
        return m_bInline;
    }

    void					SetInlineDict(CPDF_Dictionary* pDict)
    {
        m_pInlineDict = pDict;
    }

    CPDF_Dictionary*		GetInlineDict() const
    {
        return m_pInlineDict;
    }

    CPDF_Stream*			GetStream() const
    {
        return m_pStream;
    }

    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;
    }



    FX_INT32				GetPixelHeight() const
    {
        return m_Height;
    }

    FX_INT32				GetPixelWidth() const
    {
        return m_Width;
    }


    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, FX_INT32 iCompress, IFX_FileWrite *pFileWrite = NULL, IFX_FileRead *pFileRead = NULL, const CFX_DIBitmap* pMask = NULL, const CPDF_ImageSetParam* pParam = NULL);

    void					SetJpegImage(FX_BYTE* pImageData, FX_DWORD size);

    void					SetJpegImage(IFX_FileRead *pFile);

    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:

    CPDF_Stream*			m_pStream;
    FX_BOOL					m_bInline;
    CPDF_Dictionary*		m_pInlineDict;

    FX_INT32				m_Height;

    FX_INT32				m_Width;

    FX_BOOL					m_bIsMask;

    FX_BOOL					m_bInterpolate;

    CPDF_Document*			m_pDocument;

    CPDF_Dictionary*		m_pOC;
    CPDF_Dictionary*	InitJPEG(FX_LPBYTE pData, FX_DWORD size);
};
#endif


================================================
FILE: core/include/fpdfapi/fpdf_serial.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_SERIAL_
#define _FPDF_SERIAL_
#ifndef _FPDF_PAGE_
#include "fpdf_page.h"
#endif
#ifndef _FPDF_PAGEOBJ_H_
#include "fpdf_pageobj.h"
#endif
class CPDF_ObjectStream;
class CPDF_XRefStream;
CFX_ByteTextBuf& operator << (CFX_ByteTextBuf& buf, const CPDF_Object* pObj);
class CPDF_ObjArchiveSaver : public CFX_ArchiveSaver
{
public:

    friend CPDF_ObjArchiveSaver&	operator << (CPDF_ObjArchiveSaver& ar, const CPDF_Object* pObj);
protected:

    CFX_MapPtrToPtr			m_ObjectMap;
};
class CPDF_ObjArchiveLoader : public CFX_ArchiveLoader
{
public:

    CPDF_ObjArchiveLoader(FX_LPCBYTE pData, FX_DWORD dwSize) : CFX_ArchiveLoader(pData, dwSize),
        m_IndirectObjects(NULL) {}

    friend CPDF_ObjArchiveLoader&	operator >> (CPDF_ObjArchiveLoader& ar, CPDF_Object*& pObj);
protected:

    CPDF_IndirectObjects		m_IndirectObjects;
};
class CPDF_PageArchiveSaver : public CPDF_ObjArchiveSaver
{
public:

    CPDF_PageArchiveSaver(CPDF_PageObjects* pPageObjs);

    friend CPDF_PageArchiveSaver&	operator << (CPDF_PageArchiveSaver& ar, CPDF_PageObject* pObj);



    friend CPDF_PageArchiveSaver&	operator << (CPDF_PageArchiveSaver& ar, CPDF_ClipPath clip_path);

    friend CPDF_PageArchiveSaver&	operator << (CPDF_PageArchiveSaver& ar, CPDF_GraphState graph_state);

    friend CPDF_PageArchiveSaver&	operator << (CPDF_PageArchiveSaver& ar, CPDF_TextState text_state);

    friend CPDF_PageArchiveSaver&	operator << (CPDF_PageArchiveSaver& ar, CPDF_ColorState color_state);

    friend CPDF_PageArchiveSaver&	operator << (CPDF_PageArchiveSaver& ar, CPDF_GeneralState general_state);

protected:

    CPDF_ClipPath		m_LastClipPath;

    CPDF_GraphState		m_LastGraphState;

    CPDF_ColorState		m_LastColorState;

    CPDF_TextState		m_LastTextState;

    CPDF_GeneralState	m_LastGeneralState;

    CPDF_PageObjects*	m_pCurPage;
};
class CPDF_PageArchiveLoader : public CPDF_ObjArchiveLoader
{
public:

    CPDF_PageArchiveLoader(CPDF_PageObjects* pPageObjs, FX_LPCBYTE pData, FX_DWORD dwSize);

    friend CPDF_PageArchiveLoader&	operator >> (CPDF_PageArchiveLoader& ar, CPDF_PageObject*& pObj);



    friend CPDF_PageArchiveLoader&	operator >> (CPDF_PageArchiveLoader& ar, CPDF_ClipPath& clip_path);

    friend CPDF_PageArchiveLoader&	operator >> (CPDF_PageArchiveLoader& ar, CPDF_GraphState& graph_state);

    friend CPDF_PageArchiveLoader&	operator >> (CPDF_PageArchiveLoader& ar, CPDF_TextState& text_state);

    friend CPDF_PageArchiveLoader&	operator >> (CPDF_PageArchiveLoader& ar, CPDF_ColorState& color_state);

    friend CPDF_PageArchiveLoader&	operator >> (CPDF_PageArchiveLoader& ar, CPDF_GeneralState& general_state);

protected:
    void				PostProcColor(CPDF_Color& color);

    CPDF_Object*		AddResource(CPDF_Object* pSrcObj, FX_LPCSTR type);

    CPDF_ClipPath		m_LastClipPath;

    CPDF_GraphState		m_LastGraphState;

    CPDF_ColorState		m_LastColorState;

    CPDF_TextState		m_LastTextState;

    CPDF_GeneralState	m_LastGeneralState;

    CPDF_PageObjects*	m_pCurPage;

    CFX_MapPtrToPtr		m_ObjectMap;
};
#define FPDFCREATE_INCREMENTAL		1
#define FPDFCREATE_NO_ORIGINAL		2
#define FPDFCREATE_PROGRESSIVE		4
#define FPDFCREATE_OBJECTSTREAM		8
class CPDF_Creator : public CFX_Object
{
public:

    CPDF_Creator(CPDF_Document* pDoc);

    ~CPDF_Creator();

    void				RemoveSecurity();

    FX_BOOL				Create(FX_LPCWSTR filename, FX_DWORD flags = 0);

    FX_BOOL				Create(FX_LPCSTR filename, FX_DWORD flags = 0);

    FX_BOOL				Create(IFX_StreamWrite* pFile, FX_DWORD flags = 0);

    FX_INT32			Continue(IFX_Pause *pPause = NULL);

    FX_BOOL				SetFileVersion(FX_INT32 fileVersion = 17);
protected:

    CPDF_Document*		m_pDocument;

    CPDF_Parser*		m_pParser;

    FX_BOOL				m_bCompress;

    FX_BOOL				m_bSecurityChanged;

    CPDF_Dictionary*	m_pEncryptDict;
    FX_DWORD			m_dwEnryptObjNum;
    FX_BOOL				m_bEncryptCloned;

    FX_BOOL				m_bStandardSecurity;

    CPDF_CryptoHandler*	m_pCryptoHandler;
    FX_BOOL				m_bNewCrypto;

    FX_BOOL				m_bEncryptMetadata;

    CPDF_Object*		m_pMetadata;

    CPDF_XRefStream*	m_pXRefStream;

    FX_INT32			m_ObjectStreamSize;

    FX_DWORD			m_dwLastObjNum;
    FX_BOOL				Create(FX_DWORD flags);
    void				ResetStandardSecurity();
    void				Clear();
    FX_INT32			WriteDoc_Stage1(IFX_Pause *pPause);
    FX_INT32			WriteDoc_Stage2(IFX_Pause *pPause);
    FX_INT32			WriteDoc_Stage3(IFX_Pause *pPause);
    FX_INT32			WriteDoc_Stage4(IFX_Pause *pPause);

    CFX_FileBufferArchive	m_File;

    FX_FILESIZE			m_Offset;
    void				InitOldObjNumOffsets();
    void				InitNewObjNumOffsets();
    void				AppendNewObjNum(FX_DWORD objbum);
    FX_INT32			WriteOldIndirectObject(FX_DWORD objnum);
    FX_INT32			WriteOldObjs(IFX_Pause *pPause);
    FX_INT32			WriteNewObjs(FX_BOOL bIncremental, IFX_Pause *pPause);
    FX_INT32			WriteIndirectObj(const CPDF_Object* pObj);
    FX_INT32			WriteDirectObj(FX_DWORD objnum, const CPDF_Object* pObj, FX_BOOL bEncrypt = TRUE);
    FX_INT32			WriteIndirectObjectToStream(const CPDF_Object* pObj);
    FX_INT32			WriteIndirectObj(FX_DWORD objnum, const CPDF_Object* pObj);
    FX_INT32			WriteIndirectObjectToStream(FX_DWORD objnum, FX_LPCBYTE pBuffer, FX_DWORD dwSize);
    FX_INT32			AppendObjectNumberToXRef(FX_DWORD objnum);
    void				InitID(FX_BOOL bDefault = TRUE);
    FX_INT32			WriteStream(const CPDF_Object* pStream, FX_DWORD objnum, CPDF_CryptoHandler* pCrypto);

    FX_INT32			m_iStage;
    FX_DWORD			m_dwFlags;
    FX_POSITION			m_Pos;
    FX_FILESIZE			m_XrefStart;

    CFX_FileSizeListArray	m_ObjectOffset;

    CFX_DWordListArray		m_ObjectSize;
    CFX_DWordArray		m_NewObjNumArray;

    CPDF_Array*			m_pIDArray;

    FX_INT32			m_FileVersion;
    friend class CPDF_ObjectStream;
    friend class CPDF_XRefStream;
};
#endif


================================================
FILE: core/include/fpdfapi/fpdfapi.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDFAPI_H_
#define _FPDFAPI_H_
#include "../../include/fxcrt/fx_basic.h"
#include "../../include/fxge/fx_ge.h"
#include "fpdf_module.h"
#include "fpdf_pageobj.h"
#include "fpdf_render.h"
#include "fpdf_serial.h"
#endif


================================================
FILE: core/include/fpdfdoc/fpdf_ap.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#define _FPDF_AP_H_
#include "../fxcrt/fx_basic.h"
#include "../fpdfapi/fpdf_parser.h"
#include "fpdf_vt.h"
class IPVT_FontMap
{
public:

    virtual CPDF_Font*						GetPDFFont(FX_INT32 nFontIndex) = 0;

    virtual CFX_ByteString					GetPDFFontAlias(FX_INT32 nFontIndex) = 0;
};
struct CPVT_Dash {

    CPVT_Dash(FX_INT32 dash, FX_INT32 gap, FX_INT32 phase) : nDash(dash), nGap(gap), nPhase(phase)
    {}

    FX_INT32			nDash;

    FX_INT32			nGap;

    FX_INT32			nPhase;
};
#define CT_TRANSPARENT		0
#define	CT_GRAY				1
#define	CT_RGB				2
#define	CT_CMYK				3
struct CPVT_Color {

    CPVT_Color(FX_INT32 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)
    {}

    FX_INT32			nColorType;
    FX_FLOAT			fColor1;
    FX_FLOAT			fColor2;
    FX_FLOAT			fColor3;
    FX_FLOAT			fColor4;
};
class CPVT_Provider : public IPDF_VariableText_Provider
{
public:

    CPVT_Provider(IPVT_FontMap * pFontMap);

    virtual ~CPVT_Provider();

    FX_INT32						GetCharWidth(FX_INT32 nFontIndex, FX_WORD word, FX_INT32 nWordStyle);

    FX_INT32						GetTypeAscent(FX_INT32 nFontIndex);

    FX_INT32						GetTypeDescent(FX_INT32 nFontIndex);

    FX_INT32						GetWordFontIndex(FX_WORD word, FX_INT32 charset, FX_INT32 nFontIndex);

    FX_BOOL							IsLatinWord(FX_WORD word);

    FX_INT32						GetDefaultFontIndex();
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,
            FX_INT32 nStyle, const CPVT_Dash & dash);

    static CFX_ByteString					GenerateColorAP(const CPVT_Color & color, const FX_BOOL & bFillOrStroke);
};


================================================
FILE: core/include/fpdfdoc/fpdf_doc.h
================================================
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
 
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#ifndef _FPDF_DOC_H_
#define _FPDF_DOC_H_
#ifndef _FPDF_PARSER_
#include "../fpdfapi/fpdf_parser.h"
#endif
#ifndef _FPDF_RENDER_
#include "../fpdfapi/fpdf_render.h"
#endif
class CPDF_Action;
class CPDF_Annot;
class CPDF_AnnotList;
class CPDF_Bookmark;
class CPDF_BookmarkTree;
class CPDF_Dest;
class CPDF_Link;
class CPDF_LinkList;
class CPDF_Metadata;
class CPDF_NameTree;
class CPDF_NumberTree;
class CPDF_TextObject;
class CPDF_ViewerPreferences;
class CPDF_Page;
class CPDF_RenderOptions;
class CXML_Element;
class CPDF_OCContext;
class CPDF_DocJSActions;
class CPDF_ActionFields;
class CPDF_AAction;
class CPDF_FileSpec;
class CPDF_IconFit;
class CPDF_DefaultAppearance;
class CPDF_InterForm;
class CPDF_FormField;
class CPDF_FormNotify;
class CPDF_FormControl;
class CPDF_LWinParam;
class CFieldTree;
class CPDF_ApSettings;
class CPDF_NameTree : public CFX_Object
{
public:

    CPDF_NameTree(CPDF_Dictionary* pRoot)
    {
        m_pRoot = pRoot;
    }

    CPDF_NameTree(CPDF_Document* pDoc, FX_BSTR category);

    CPDF_Object*		LookupValue(int nIndex, CFX_ByteString& csName) const;

    CPDF_Object*		LookupValue(const CFX_ByteString& csName) const;

    CPDF_Array*			LookupNamedDest(CPDF_Document* pDoc, FX_BSTR sName);

    int					GetIndex(const CFX_ByteString& csName) const;

    int					GetCount() const;


    CPDF_Dictionary*	GetRoot() const
    {
        return m_pRoot;
    }

protected:

    CPDF_Dictionary*		m_pRoot;
};
class CPDF_BookmarkTree : public CFX_Object
{
public:

    CPDF_BookmarkTree(CPDF_Document* pDoc)
    {
        m_pDocument = pDoc;
    }
public:



    CPDF_Bookmark		GetFirstChild(CPDF_Bookmark parent);

    CPDF_Bookmark		GetNextSibling(CPDF_Bookmark bookmark);


    CPDF_Document*		GetDocument() const
    {
        return m_pDocument;
    }
protected:

    CPDF_Document*		m_pDocument;
};
#define PDFBOOKMARK_ITALIC			1
#define PDFBOOKMARK_BOLD			2
class CPDF_Bookmark : public CFX_Object
{
public:

    CPDF_Bookmark(CPDF_Dictionary* pDict = NULL)
    {
        m_pDict = pDict;
    }

    operator CPDF_Dictionary*() const
    {
        return m_pDict;
    }



    FX_DWORD			GetColorRef();

    FX_DWORD			GetFontStyle();

    CFX_WideString		GetTitle();




    CPDF_Dest			GetDest(CPDF_Document* pDocument);

    CPDF_Action			GetAction();


    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 CFX_Object
{
public:

    CPDF_Dest(CPDF_Object* pObj = NULL)
    {
        m_pObj = pObj;
    }

    operator CPDF_Object* () const
    {
        return m_pObj;
    }

    CFX_ByteString		GetRemoteName();

    int					GetPageIndex(CPDF_Document* pDoc);

    FX_DWORD			GetPageObjNum();

    int					GetZoomMode();

    FX_FLOAT			GetParam(int index);


    CPDF_Object*		m_pObj;
};
class CPDF_OCContext : public CFX_Object, public IPDF_OCContext
{
public:

    enum UsageType {
        View = 0,
        Design,
        Print,
        Export
    };

    CPDF_OCContext(CPDF_Document *pDoc, UsageType eUsageType = View);

    virtual ~CPDF_OCContext();

    CPDF_Document*	GetDocument() const
    {
        return m_pDocument;
    }

    UsageType		GetUsageType() const
    {
        return m_eUsageType;
    }

    FX_BOOL			CheckOCGVisible(const CPDF_Dictionary *pOCGDict);

    void			ResetOCContext();
protected:

    FX_BOOL			LoadOCGStateFromConfig(FX_BSTR csConfig, const CPDF_Dictionary *pOCGDict, FX_BOOL &bValidConfig) const;

    FX_BOOL			LoadOCGState(const CPDF_Dictionary *pOCGDict) const;

    FX_BOOL			GetOCGVisible(const CPDF_Dictionary *pOCGDict);

    FX_BOOL			GetOCGVE(CPDF_Array *pExpression, FX_BOOL bFromConfig, int nLevel = 0);

    FX_BOOL			LoadOCMDState(const CPDF_Dictionary *pOCMDDict, FX_BOOL bFromConfig);

    CPDF_Document		*m_pDocument;

    UsageType			m_eUsageType;

    CFX_MapPtrTemplate<const CPDF_Dictionary*, void*>	m_OCGStates;
};
class CPDF_LWinParam : public CFX_Object
{
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");
    }


    inline CFX_ByteString	GetDefaultDirectory()
    {
        return m_pDict->GetString("D");
    }


    inline CFX_ByteString	GetOperation()
    {
        return m_pDict->GetString("O");
    }


    inline CFX_ByteString	GetParameter()
    {
        return m_pDict->GetString("P");
    }

    CPDF_Dictionary*		m_pDict;
};
class CPDF_ActionFields : public CFX_Object
{
public:

    CPDF_ActionFields(const CPDF_Action* pAction)
    {
        m_pAction = (CPDF_Action*)pAction;
    }

    operator CPDF_Action*() const
    {
        return m_pAction;
    }

    FX_DWORD				GetFieldsCount() const;

    void					GetAllFields(CFX_PtrArray& fieldObjects) const;

    CPDF_Object*			GetField(FX_DWORD iIndex) const;

    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 CFX_Object
{
public:

    CPDF_Action(CPDF_Dictionary* pDict = NULL)
    {
        m_pDict = pDict;
    }

    operator CPDF_Dictionary* () const
    {
        return m_pDict;
    }

    enum ActionType {
        Unknown = 0,
        GoTo,
        GoToR,
        GoToE,
        Launch,
        Thread,
        URI,
        Sound,
        Movie,
        Hide,
        Named,
        SubmitForm,
        ResetForm,
        ImportData,
        JavaScript,
        SetOCGState,
        Rendition,
        Trans,
        GoTo3DView
    };

    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;




    FX_INT32			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;


    CPDF_Dictionary*	m_pDict;
};
class CPDF_AAction : public CFX_Object
{
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 CFX_Object
{
public:
    CPDF_DocJSActions(CPDF_Document* pDoc);


    int					CountJSActions() const;

    CPDF_Action			GetJSAction(int index, CFX_ByteString& csName) const;

    CPDF_Action			GetJSAction(const CFX_ByteString& csName) const;

    int					FindJSAction(const CFX_ByteString& csName) const;


    CPDF_Document*		GetDocument() const
    {
        return m_pDocument;
    }

protected:

    CPDF_Document*		m_pDocument;
};
class CPDF_FileSpec : public CFX_Object
{
public:

    CPDF_FileSpec();

    CPDF_FileSpec(CPDF_Object *pObj)
    {
        m_pObj = pObj;
    }

    operator CPDF_Object*() const
    {
        return m_pObj;
    }

    FX_BOOL			IsURL() const;

    FX_BOOL			GetFileName(CFX_WideString &wsFileName) const;

    CPDF_Stream*	GetFileStream() const;

    void			SetFileName(FX_WSTR wsFileName, FX_BOOL bURL = FALSE);
protected:

    CPDF_Object		*m_pObj;
};
class CPDF_LinkList : public CFX_Object
{
public:

    CPDF_LinkList(CPDF_Document* pDoc)
    {
        m_pDocument = pDoc;
    }

    ~CPDF_LinkList();

    CPDF_Link			GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y);

    int					CountLinks(CPDF_Page* pPage);

    CPDF_Link			GetLink(CPDF_Page* pPage, int index);

    CPDF_Document*		GetDocument() const
    {
        return m_pDocument;
    }
protected:

    CPDF_Document*		m_pDocument;

    CFX_MapPtrToPtr		m_PageMap;

    CFX_PtrArray*		GetPageLinks(CPDF_Page* pPage);

    void				LoadPageLinks(CPDF_Page* pPage, CFX_PtrArray* pList);
};
class CPDF_Link : public CFX_Object
{
public:

    CPDF_Link(CPDF_Dictionary* pDict = NULL)
    {
        m_pDict = pDict;
    }

    operator CPDF_Dictionary*() const
    {
        return m_pDict;
    }

    CFX_FloatRect		GetRect();



    CPDF_Dest			GetDest(CPDF_Document* pDoc);

    CPDF_Action			GetAction();


    CPDF_Dictionary*	m_pDict;
};
#define ANNOTFLAG_INVISIBLE			1
#define ANNOTFLAG_HIDDEN			2
#define ANNOTFLAG_PRINT				4
#define ANNOTFLAG_NOZOOM			8
#define ANNOTFLAG_NOROTATE			0x10
#define ANNOTFLAG_NOVIEW			0x20
#define ANNOTFLAG_READONLY			0x40
#define ANNOTFLAG_LOCKED			0x80
#define ANNOTFLAG_TOGGLENOVIEW		0x100
class CPDF_Annot : public CFX_PrivateData, public CFX_Object
{
public:

    CPDF_Annot(CPDF_Dictionary* pDict);

    ~CPDF_Annot();

    CPDF_Dictionary*	m_pAnnotDict;

    CFX_ByteString		GetSubType() const;

    FX_DWORD			GetFlags() const
    {
        return m_pAnnotDict->GetInteger("F");
    }

    void				GetRect(CFX_FloatRect& rect) const;

    enum AppearanceMode	{
        Normal,
        Rollover,
        Down
    };

    FX_BOOL				DrawAppearance(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, const CFX_AffineMatrix* pUser2Device,
                                       AppearanceMode mode, const CPDF_RenderOptions* pOptions);

    FX_BOOL				DrawInContext(const CPDF_Page* pPage, const CPDF_RenderContext* pContext,
                                      const CFX_AffineMatrix* pUser2Device, AppearanceMode mode);

    void				ClearCachedAP();


    void				DrawBorder(CFX_RenderDevice* pDevice, const CFX_AffineMatrix* pUser2Device,
                                   const CPDF_RenderOptions* pOptions);

    CPDF_PageObject*	GetBorder(FX_BOOL bPrint, const CPDF_RenderOptions* pOptions);



    int					CountIRTNotes();

    CPDF_Annot*			GetIRTNote(int index);


    CPDF_Form*			GetAPForm(const CPDF_Page* pPage, AppearanceMode mode);
private:

    CFX_MapPtrToPtr		m_APMap;
protected:
    friend class		CPDF_AnnotList;

    CPDF_AnnotList*		m_pList;

    CPDF_Reference*		NewAnnotRef();
};
class CPDF_AnnotList : public CFX_Object
{
public:

    CPDF_AnnotList(CPDF_Page* pPage);

    ~CPDF_AnnotList();

    void	GetAnnotMatrix(const CPDF_Dictionary* pAnnotDict, const CFX_Matrix* pUser2Device, CFX_Matrix &matrix) const;

    void	GetAnnotRect(const CPDF_Dictionary* pAnnotDict, const CFX_Matrix* pUser2Device, CPDF_Rect &rtAnnot) const;

    void				DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice,
                                      CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget,
                                      CPDF_RenderOptions* pOptions);

    void				DisplayAnnots(const CPDF_Page* pPage, CPDF_RenderContext* pContext,
                                      FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget,
                                      CPDF_RenderOptions* pOptions)
    {
        DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, bShowWidget ? 3 : 1, pOptions, NULL);
    }

    void				DisplayAnnots(const CPDF_Page* pPage, CPDF_RenderContext* pContext,
                                      FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget,
                                      CPDF_RenderOptions* pOptions, FX_RECT *pClipRect)
    {
        DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, bShowWidget ? 3 : 1, pOptions, pClipRect);
    }

    void				DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, CPDF_RenderContext* pContext,
                                      FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_DWORD dwAnnotFlags,
                                      CPDF_RenderOptions* pOptions, FX_RECT* pClipRect);



    CPDF_Annot*			GetAt(int index)
    {
        return (CPDF_Annot*)m_AnnotList.GetAt(index);
    }

    int					Count()
    {
        return m_AnnotList.GetSize();
    }

    int					GetIndex(CPDF_Annot* pAnnot);


    CPDF_Document*		GetDocument() const
    {
        return m_pDocument;
    }
protected:

    CFX_PtrArray		m_AnnotList;

    CPDF_Dictionary*	m_pPageDict;

    CPDF_Document*		m_pDocument;

    CFX_PtrArray		m_Borders;

    void				DisplayPass(const CPDF_Page* pPage, CFX_RenderDevice* pDevice,
                                    CPDF_RenderContext* pContext, FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix,
                                    FX_BOOL bWidget, CPDF_RenderOptions* pOptions, FX_RECT* clip_rect);
    friend class		CPDF_Annot;
};
#define COLORTYPE_TRANSPARENT	0
#define COLORTYPE_GRAY			1
#define COLORTYPE_RGB			2
#define COLORTYPE_CMYK			3
class CPDF_DefaultAppearance : public CFX_Object
{
public:

    CPDF_DefaultAppearance(const CFX_ByteString& csDA = "")
    {
        m_csDA = csDA;
    }

    CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA)
    {
        m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA;
    }


    operator CFX_ByteString() const
    {
        return m_csDA;
    }

    const CPDF_DefaultAppearance& operator =(const CFX_ByteString& csDA)
    {
        m_csDA = csDA;
        return *this;
    }

    const CPDF_DefaultAppearance& operator =(const CPDF_DefaultAppearance& cDA)
    {
        m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA;
        return *this;
    }



    FX_BOOL				HasFont();

    CFX_ByteString		GetFontString();

    void				GetFont(CFX_ByteString& csFontNameTag, FX_FLOAT& fFontSize);




    FX_BOOL				HasColor(FX_BOOL bStrokingOperation = FALSE);

    CFX_ByteString		GetColorString(FX_BOOL bStrokingOperation = FALSE);

    void				GetColor(int& iColorType, FX_FLOAT fc[4], FX_BOOL bStrokingOperation = FALSE);

    void				GetColor(FX_ARGB& color, int& iColorType, FX_BOOL bStrokingOperation = FALSE);




    FX_BOOL				HasTextMatrix();

    CFX_ByteString		GetTextMatrixString();

    CFX_AffineMatrix	GetTextMatrix();

protected:

    CFX_ByteString		m_csDA;
};
#define FIELDTYPE_UNKNOWN			0
#define FIELDTYPE_PUSHBUTTON		1
#define FIELDTYPE_CHECKBOX			2
#define FIELDTYPE_RADIOBUTTON		3
#define FIELDTYPE_COMBOBOX			4
#define FIELDTYPE_LISTBOX			5
#define FIELDTYPE_TEXTFIELD			6
#define FIELDTYPE_SIGNATURE			7
class CPDF_InterForm : public CFX_PrivateData, public CFX_Object
{
public:

    CPDF_InterForm(CPDF_Document* pDocument, FX_BOOL bUpdateAP);

    ~CPDF_InterForm();



    static void				EnableUpdateAP(FX_BOOL bUpdateAP);

    static FX_BOOL			UpdatingAPEnabled();


    static CFX_ByteString	GenerateNewResourceName(const CPDF_Dictionary* pResDict, FX_LPCSTR csType, int iMinLen = 2, FX_LPCSTR csPrefix = "");



    static CPDF_Font*		AddSystemDefaultFont(const CPDF_Document* pDocument);

    static CPDF_Font*		AddSystemFont(const CPDF_Document* pDocument, CFX_ByteString csFontName, FX_BYTE iCharSet = 1);

    static CPDF_Font*		AddSystemFont(const CPDF_Document* pDocument, CFX_WideString csFontName, FX_BYTE iCharSet = 1);

    static CPDF_Font*		AddStandardFont(const CPDF_Document* pDocument, CFX_ByteString csFontName);

    static CFX_ByteString	GetNativeFont(FX_BYTE iCharSet, FX_LPVOID pLogFont = NULL);

    static CFX_ByteString	GetNativeFont(FX_LPVOID pLogFont = NULL);

    static FX_BYTE			GetNativeCharSet();

    static CPDF_Font*		AddNativeFont(FX_BYTE iCharSet, const CPDF_Document* pDocument);

    static CPDF_Font*		AddNativeFont(const CPDF_Document* pDocument);




    FX_BOOL					ValidateFieldName(CFX_WideString& csNewFieldName, int iType);

    FX_BOOL					ValidateFieldName(const CPDF_FormField* pField, CFX_WideString& csNewFieldName);

    FX_BOOL					ValidateFieldName(const CPDF_FormControl* pControl, CFX_WideString& csNewFieldName);




    FX_DWORD				CountFields(const CFX_WideString &csFieldName = L"");

    CPDF_FormField*			GetField(FX_DWORD index, const CFX_WideString &csFieldName = L"");

    void					GetAllFieldNames(CFX_WideStringArray& allFieldNames);

    FX_BOOL					IsValidFormField(const void* pField);

    CPDF_FormField*			GetFieldByDict(CPDF_Dictionary* pFieldDict) const;




    FX_DWORD				CountControls(CFX_WideString csFieldName = L"");

    CPDF_FormControl*		GetControl(FX_DWORD index, CFX_WideString csFieldName = L"");

    FX_BOOL					IsValidFormControl(const void* pControl);

    int						CountPageControls(CPDF_Page* pPage) const;

    CPDF_FormControl*		GetPageControl(CPDF_Page* pPage, int index) const;


    CPDF_FormControl*		GetControlAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y) const;

    CPDF_FormControl*		GetControlByDict(CPDF_Dictionary* pWidgetDict) const;




    FX_DWORD				CountInternalFields(const CFX_WideString& csFieldName = L"") const;

    CPDF_Dictionary*		GetInternalField(FX_DWORD index, const CFX_WideString& csFieldName = L"") const;





    CPDF_Document*			GetDocument() const
    {
        return m_pDocument;
    }

    CPDF_Dictionary*		GetFormDict() const
    {
        return m_pFormDict;
    }




    FX_BOOL					NeedConstructAP();

    void					NeedConstructAP(FX_BOOL bNeedAP);




    int						CountFieldsInCalculationOrder();

    CPDF_FormField*			GetFieldInCalculationOrder(int index);

    int						FindFieldInCalculationOrder(const CPDF_FormField* pField);




    FX_DWORD				CountFormFonts();

    CPDF_Font*				GetFormFont(FX_DWORD index, CFX_ByteString& csNameTag);

    CPDF_Font*				GetFormFont(CFX_ByteString csNameTag);

    CPDF_Font*				GetFormFont(CFX_ByteString csFontName, CFX_ByteString& csNameTag);

    CPDF_Font*				GetNativeFormFont(FX_BYTE iCharSet, CFX_ByteString& csNameTag);

    CPDF_Font*				GetNativeFormFont(CFX_ByteString& csNameTag);

    FX_BOOL					FindFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag);

    FX_BOOL					FindFormFont(CFX_ByteString csFontName, CPDF_Font*& pFont, CFX_ByteString& csNameTag);

    inline FX_BOOL			FindFormFont(CFX_WideString csFontName, CPDF_Font*& pFont, CFX_ByteString& csNameTag)
    {
        return FindFormFont(PDF_EncodeText(csFontName), pFont, csNameTag);
    }





    void					AddFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag);

    CPDF_Font*				AddNativeFormFont(FX_BYTE iCharSet, CFX_ByteString& csNameTag);

    CPDF_Font*				AddNativeFormFont(CFX_ByteString& csNameTag);

    void					RemoveFormFont(const CPDF_Font* pFont);

    void					RemoveFormFont(CFX_ByteString csNameTag);




    CPDF_DefaultAppearance	GetDefaultAppearance();

    CPDF_Font*				GetDefaultFormFont();



    int						GetFormAlignment();




    CPDF_FormField*			CheckRequiredFields(const CFX_PtrArray *fields = NULL, FX_BOOL bIncludeOrExclude = TRUE) const;

    CFDF_Document* 			ExportToFDF(FX_WSTR pdf_path, FX_BOOL bSimpleFileSpec = FALSE) const;

    CFDF_Document*			ExportToFDF(FX_WSTR pdf_path, CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude = TRUE, FX_BOOL bSimpleFileSpec = FALSE) const;

    FX_BOOL					ImportFromFDF(const CFDF_Document* pFDFDoc, FX_BOOL bNotify = FALSE);




    FX_BOOL					ResetForm(const CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude = TRUE, FX_BOOL bNotify = FALSE);

    FX_BOOL					ResetForm(FX_BOOL bNotify = FALSE);

    void					ReloadForm();

    CPDF_FormNotify*		GetFormNotify() const
    {
        return m_pFormNotify;
    }

    void					SetFormNotify(const CPDF_FormNotify* pNotify);


    int						GetPageWithWidget(int iCurPage, FX_BOOL bNext);



    FX_BOOL					IsUpdated()
    {
        return m_bUpdated;
    }

    void					ClearUpdatedFlag()
    {
        m_bUpdated = FALSE;
    }


    FX_BOOL					HasXFAForm() const;

    void					FixPageFields(const CPDF_Page* pPage);
protected:

    static FX_BOOL			m_bUpdateAP;

    void					LoadField(CPDF_Dictionary* pFieldDict, int nLevel = 0);

    CPDF_Object*			GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name);

    CPDF_FormField*			AddTerminalField(const CPDF_Dictionary* pFieldDict);

    CPDF_FormControl*		AddControl(const CPDF_FormField* pField, const CPDF_Dictionary* pWidgetDict);

    void					FDF_ImportField(CPDF_Dictionary* pField, const CFX_WideString& parent_name, FX_BOOL bNotify = FALSE, int nLevel = 0);

    FX_BOOL					ValidateFieldName(CFX_WideString& csNewFieldName, int iType, const CPDF_FormField* pExcludedField, const CPDF_FormControl* pExcludedControl);

    int						CompareFieldName(const CFX_WideString& name1, const CFX_WideString& name2);

    int						CompareFieldName(const CFX_ByteString& name1, const CFX_ByteString& name2);

    CPDF_Document*			m_pDocument;

    FX_BOOL					m_bGenerateAP;

    CPDF_Dictionary*		m_pFormDict;

    CFX_MapPtrToPtr			m_ControlMap;

    CFieldTree *m_pFieldTree;

    CFX_ByteString			m_bsEncoding;

    CPDF_FormNotify*		m_pFormNotify;

    FX_BOOL					m_bUpdated;
    friend class CPDF_FormControl;
    friend class CPDF_FormField;
};
#define FORMFIELD_READONLY		0x01
#define FORMFIELD_REQUIRED		0x02
#define FORMFIELD_NOEXPORT		0x04
#define FORMRADIO_NOTOGGLEOFF	0x100
#define FORMRADIO_UNISON		0x200
#define FORMTEXT_MULTILINE		0x100
#define FORMTEXT_PASSWORD		0x200
#define FORMTEXT_NOSCROLL		0x400
#define FORMTEXT_COMB			0x800
#define FORMCOMBO_EDIT			0x100
#define FORMLIST_MULTISELECT	0x100
class CPDF_FormField : public CFX_Object
{
public:

    enum Type {
        Unknown,
        PushButton,
        RadioButton,
        CheckBox,
        Text,
        RichText,
        File,
        ListBox,
        ComboBox,
        Sign
    };

    CFX_WideString			GetFullName();

    Type					GetType()
    {
        return m_Type;
    }

    FX_DWORD				GetFlags()
    {
        return m_Flags;
    }

    CPDF_InterForm*			GetInterForm() const
    {
        return m_pForm;
    }

    CPDF_Dictionary*		GetFieldDict() const
    {
        return m_pDict;
    }

    void					SetFieldDict(CPDF_Dictionary* pDict)
    {
        m_pDict = pDict;
    }

    FX_BOOL					ResetField(FX_BOOL bNotify = FALSE);



    int						CountControls()
    {
        return m_ControlList.GetSize();
    }

    CPDF_FormControl*		GetControl(int index)
    {
        return (CPDF_FormControl*)m_ControlList.GetAt(index);
    }

    int						GetControlIndex(const CPDF_FormControl* pControl);




    int						GetFieldType();




    CPDF_AAction			GetAdditionalAction();




    CFX_WideString			GetAlternateName();




    CFX_WideString			GetMappingName();




    FX_DWORD				GetFieldFlags();




    CFX_ByteString			GetDefaultStyle();




    CFX_WideString			GetRichTextString();



    CFX_WideString			GetValue();

    CFX_WideString			GetDefaultValue();

    FX_BOOL					SetValue(const CFX_WideString& value, FX_BOOL bNotify = FALSE);





    int						GetMaxLen();




    int						CountSelectedItems();

    int						GetSelectedIndex(int index);

    FX_BOOL					ClearSelection(FX_BOOL bNotify = FALSE);

    FX_BOOL					IsItemSelected(int index);

    FX_BOOL					SetItemSelection(int index, FX_BOOL bSelected, FX_BOOL bNotify = FALSE);

    FX_BOOL					IsItemDefaultSelected(int index);

    int						GetDefaultSelectedItem();




    int						CountOptions();

    CFX_WideString			GetOptionLabel(int index);

    CFX_WideString			GetOptionValue(int index);

    int						FindOption(CFX_WideString csOptLabel);

    int						FindOptionValue(FX_LPCWSTR csOptValue, int iStartIndex = 0);




    FX_BOOL					CheckControl(int iControlIndex, FX_BOOL bChecked, FX_BOOL bNotify = FALSE);




    int						GetTopVisibleIndex();




    int						CountSelectedOptions();

    int						GetSelectedOptionIndex(int index);

    FX_BOOL					IsOptionSelected(int iOptIndex);

    FX_BOOL					SelectOption(int iOptIndex, FX_BOOL bSelected, FX_BOOL bNotify = FALSE);

    FX_BOOL					ClearSelectedOptions(FX_BOOL bNotify = FALSE);




    FX_FLOAT				GetFontSize()
    {
        return m_FontSize;
    }

    CPDF_Font*				GetFont()
    {
        return m_pFont;
    }

protected:

    CPDF_FormField(CPDF_InterForm* pForm, CPDF_Dictionary* pDict);

    ~CPDF_FormField();

    CPDF_FormField::Type	m_Type;

    FX_DWORD				m_Flags;

    CPDF_InterForm*			m_pForm;

    CPDF_Dictionary*		m_pDict;

    CFX_PtrArray			m_ControlList;
    friend class			CPDF_InterForm;
    friend class			CPDF_FormControl;



    CFX_WideString			GetValue(FX_BOOL bDefault);

    FX_BOOL					SetValue(const CFX_WideString& value, FX_BOOL bDefault, FX_BOOL bNotify);


    void					SyncFieldFlags();

    int						FindListSel(CPDF_String* str);

    CFX_WideString			GetOptionText(int index, int sub_index);

    void					LoadDA();

    void					UpdateAP(CPDF_FormControl* pControl);



    CFX_WideString			GetCheckValue(FX_BOOL bDefault);

    FX_BOOL					SetCheckValue(const CFX_WideString& value, FX_BOOL bDefault, FX_BOOL bNotify);


    FX_FLOAT				m_FontSize;

    CPDF_Font*				m_pFont;
};
CPDF_Object*	FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name, int nLevel = 0);
class CPDF_IconFit : public CFX_Object
{
public:

    CPDF_IconFit(CPDF_Dictionary* pDict = NULL)
    {
        m_pDict = pDict;
    }

    operator CPDF_Dictionary*() const
    {
        return m_pDict;
    }




    enum ScaleMethod {
        Always = 0,
        Bigger,
        Smaller,
        Never
    };

    ScaleMethod				GetScaleMethod();




    FX_BOOL					IsProportionalScale();




    void					GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom);




    FX_BOOL					GetFittingBounds();


    CPDF_Dictionary*		m_pDict;
};

#define TEXTPOS_CAPTION		0
#define TEXTPOS_ICON		1
#define TEXTPOS_BELOW		2
#define TEXTPOS_ABOVE		3
#define TEXTPOS_RIGHT		4
#define TEXTPOS_LEFT		5
#define TEXTPOS_OVERLAID	6
class CPDF_FormControl : public CFX_Object
{
public:

    CPDF_FormField::Type	GetType()
    {
        return m_pField->GetType();
    }

    CPDF_InterForm*			GetInterForm() const
    {
        return m_pForm;
    }

    CPDF_FormField*			GetField() const
    {
        return m_pField;
    }

    CPDF_Dictionary*		GetWidget() const
    {
        return m_pWidgetDict;
    }

    CFX_FloatRect			GetRect();

    void					DrawControl(CFX_RenderDevice* pDevice, CFX_AffineMatrix* pMatrix,
                                        CPDF_Page* pPage, CPDF_Annot::AppearanceMode mode, const CPDF_RenderOptions* pOptions = NULL);



    CFX_ByteString			GetCheckedAPState();

    CFX_WideString			GetExportValue();

    FX_BOOL					IsChecked();

    FX_BOOL					IsDefaultChecked();




    enum HighlightingMode	{
        None = 0,
        Invert,
        Outline,
        Push,
        Toggle
    };

    HighlightingMode		GetHighlightingMode();




    FX_BOOL					HasMKEntry(CFX_ByteString csEntry);




    int						GetRotation();




    inline FX_ARGB			GetBorderColor(int& iColorType)
    {
        return GetColor(iColorType, "BC");
    }

    inline FX_FLOAT			GetOriginalBorderColor(int index)
    {
        return GetOriginalColor(index, "BC");
    }

    inline void				GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4])
    {
        GetOriginalColor(iColorType, fc, "BC");
    }




    inline FX_ARGB			GetBackgroundColor(int& iColorType)
    {
        return GetColor(iColorType, "BG");
    }

    inline FX_FLOAT			GetOriginalBackgroundColor(int index)
    {
        return GetOriginalColor(index, "BG");
    }

    inline void				GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4])
    {
        GetOriginalColor(iColorType, fc, "BG");
    }




    inline CFX_WideString	GetNormalCaption()
    {
        return GetCaption("CA");
    }




    inline CFX_WideString	GetRolloverCaption()
    {
        return GetCaption("RC");
    }




    inline CFX_WideString	GetDownCaption()
    {
        return GetCaption("AC");
    }




    inline CPDF_Stream*		GetNormalIcon()
    {
        return GetIcon("I");
    }




    inline CPDF_Stream*		GetRolloverIcon()
    {
        return GetIcon("RI");
    }




    inline CPDF_Stream*		GetDownIcon()
    {
        return GetIcon("IX");
    }




    CPDF_IconFit			GetIconFit();




    int						GetTextPosition();




    CPDF_Action				GetAction();




    CPDF_AAction			GetAdditionalAction();




    CPDF_DefaultAppearance	GetDefaultAppearance();

    CPDF_Font*				GetDefaultControlFont();




    int						GetControlAlignment();

protected:

    CPDF_FormControl(CPDF_FormField* pField, CPDF_Dictionary* pWidgetDict);

    CFX_ByteString			GetOnStateName();

    void					SetOnStateName(const CFX_ByteString& csOn);

    void					CheckControl(FX_BOOL bChecked);

    FX_ARGB					GetColor(int& iColorType, CFX_ByteString csEntry);

    FX_FLOAT				GetOriginalColor(int index, CFX_ByteString csEntry);

    void					GetOriginalColor(int& iColorType, FX_FLOAT fc[4], CFX_ByteString csEntry);

    CFX_WideString			GetCaption(CFX_ByteString csEntry);

    CPDF_Stream*			GetIcon(CFX_ByteString csEntry);

    CPDF_ApSettings			GetMK(FX_BOOL bCreate);

    CPDF_InterForm*			m_pForm;

    CPDF_FormField*			m_pField;

    CPDF_Dictionary*		m_pWidgetDict;
    friend class			CPDF_InterForm;
    friend class			CPDF_FormField;
};
class CPDF_FormNotify : public CFX_Object
{
public:

    virtual ~CPDF_FormNotify() {}

    virtual int		BeforeValueChange(const CPDF_FormField* pField, CFX_WideString& csValue)
    {
        return 0;
    }

    virtual int		AfterValueChange(const CPDF_FormField* pField)
    {
        return 0;
    }

    virtual int		BeforeSelectionChange(const CPDF_FormField* pField, CFX_WideString& csValue)
    {
        return 0;
    }

    virtual int		AfterSelectionChange(const CPDF_FormField* pField)
    {
        return 0;
    }

    virtual int		AfterCheckedStatusChange(const CPDF_FormField* pField, const CFX_ByteArray& statusArray)
    {
        return 0;
    }

    virtual int		BeforeFormReset(const CPDF_InterForm* pForm)
    {
        return 0;
    }

    virtual int		AfterFormReset(const CPDF_InterForm* pForm)
    {
        return 0;
    }

    virtual int		BeforeFormImportData(const CPDF_InterForm* pForm)
    {
        return 0;
    }

    virtual int		AfterFormImportData(const CPDF_InterForm* pForm)
    {
        return 0;
    }
};
FX_BOOL		FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict);
class CPDF_PageLabel : public CFX_Object
{
public:

    CPDF_PageLabel(CPDF_Document* pDocument)
    {
        m_pDocument = pDocument;
    }


    CFX_WideString					GetLabel(int nPage) const;

    FX_INT32						GetPageByLabel(FX_BSTR bsLabel) const;


    FX_INT32						GetPageByLabel(FX_WSTR wsLabel) const;

protected:
    CPDF_Document*					m_pDocument;
};
class CPDF_Metadata
{
public:

    CPDF_Metadata();


    ~CPDF_Metadata();

    void				LoadDoc(CPDF_Document *pDoc);


    FX_INT32			GetString(FX_BSTR bsItem, CFX_WideString &wsStr);

    CXML_Element*		GetRoot() const;

    CXML_Element*		GetRDF() const;

protected:
    FX_LPVOID	m_pData;
};
class CPDF_ViewerPreferences
{
public:

    CPDF_ViewerPreferences(CPDF_Document *pDoc);


    ~CPDF_Viewe
Download .txt
gitextract_judhqioc/

├── .gitattributes
├── .gitignore
├── AUTHORS
├── BUILD.gn
├── LICENSE
├── README
├── README.md
├── TODO
├── build/
│   ├── all.gyp
│   ├── gyp_pdfium
│   ├── gyp_pdfium.py
│   └── standalone.gypi
├── build.sh
├── codereview.settings
├── core/
│   ├── include/
│   │   ├── fdrm/
│   │   │   └── fx_crypt.h
│   │   ├── fpdfapi/
│   │   │   ├── fpdf_module.h
│   │   │   ├── fpdf_objects.h
│   │   │   ├── fpdf_page.h
│   │   │   ├── fpdf_pageobj.h
│   │   │   ├── fpdf_parser.h
│   │   │   ├── fpdf_render.h
│   │   │   ├── fpdf_resource.h
│   │   │   ├── fpdf_serial.h
│   │   │   └── fpdfapi.h
│   │   ├── fpdfdoc/
│   │   │   ├── fpdf_ap.h
│   │   │   ├── fpdf_doc.h
│   │   │   ├── fpdf_tagged.h
│   │   │   └── fpdf_vt.h
│   │   ├── fpdftext/
│   │   │   └── fpdf_text.h
│   │   ├── fxcodec/
│   │   │   ├── fx_codec.h
│   │   │   ├── fx_codec_def.h
│   │   │   └── fx_codec_provider.h
│   │   ├── fxcrt/
│   │   │   ├── fx_arb.h
│   │   │   ├── fx_basic.h
│   │   │   ├── fx_coordinates.h
│   │   │   ├── fx_ext.h
│   │   │   ├── fx_memory.h
│   │   │   ├── fx_stream.h
│   │   │   ├── fx_string.h
│   │   │   ├── fx_system.h
│   │   │   ├── fx_ucd.h
│   │   │   └── fx_xml.h
│   │   ├── fxge/
│   │   │   ├── fpf.h
│   │   │   ├── fx_dib.h
│   │   │   ├── fx_font.h
│   │   │   ├── fx_freetype.h
│   │   │   ├── fx_ge.h
│   │   │   ├── fx_ge_apple.h
│   │   │   └── fx_ge_win32.h
│   │   ├── reflow/
│   │   │   ├── fpdf_layout.h
│   │   │   └── reflowengine.h
│   │   └── thirdparties/
│   │       ├── freetype/
│   │       │   ├── foxitnames.h
│   │       │   ├── freetype/
│   │       │   │   ├── config/
│   │       │   │   │   ├── ftconfig.h
│   │       │   │   │   ├── ftheader.h
│   │       │   │   │   ├── ftmodule.h
│   │       │   │   │   ├── ftoption.h
│   │       │   │   │   └── ftstdlib.h
│   │       │   │   ├── freetype.h
│   │       │   │   ├── ftadvanc.h
│   │       │   │   ├── ftautoh.h
│   │       │   │   ├── ftbbox.h
│   │       │   │   ├── ftbdf.h
│   │       │   │   ├── ftbitmap.h
│   │       │   │   ├── ftbzip2.h
│   │       │   │   ├── ftcache.h
│   │       │   │   ├── ftcffdrv.h
│   │       │   │   ├── ftcid.h
│   │       │   │   ├── fterrdef.h
│   │       │   │   ├── fterrors.h
│   │       │   │   ├── ftgasp.h
│   │       │   │   ├── ftglyph.h
│   │       │   │   ├── ftgxval.h
│   │       │   │   ├── ftgzip.h
│   │       │   │   ├── ftimage.h
│   │       │   │   ├── ftincrem.h
│   │       │   │   ├── ftlcdfil.h
│   │       │   │   ├── ftlist.h
│   │       │   │   ├── ftlzw.h
│   │       │   │   ├── ftmac.h
│   │       │   │   ├── ftmm.h
│   │       │   │   ├── ftmodapi.h
│   │       │   │   ├── ftmoderr.h
│   │       │   │   ├── ftotval.h
│   │       │   │   ├── ftoutln.h
│   │       │   │   ├── ftpfr.h
│   │       │   │   ├── ftrender.h
│   │       │   │   ├── ftsizes.h
│   │       │   │   ├── ftsnames.h
│   │       │   │   ├── ftstroke.h
│   │       │   │   ├── ftsynth.h
│   │       │   │   ├── ftsystem.h
│   │       │   │   ├── fttrigon.h
│   │       │   │   ├── ftttdrv.h
│   │       │   │   ├── fttypes.h
│   │       │   │   ├── ftwinfnt.h
│   │       │   │   ├── ftxf86.h
│   │       │   │   ├── internal/
│   │       │   │   │   ├── autohint.h
│   │       │   │   │   ├── ftcalc.h
│   │       │   │   │   ├── ftdebug.h
│   │       │   │   │   ├── ftdriver.h
│   │       │   │   │   ├── ftgloadr.h
│   │       │   │   │   ├── ftmemory.h
│   │       │   │   │   ├── ftobjs.h
│   │       │   │   │   ├── ftpic.h
│   │       │   │   │   ├── ftrfork.h
│   │       │   │   │   ├── ftserv.h
│   │       │   │   │   ├── ftstream.h
│   │       │   │   │   ├── fttrace.h
│   │       │   │   │   ├── ftvalid.h
│   │       │   │   │   ├── internal.h
│   │       │   │   │   ├── psaux.h
│   │       │   │   │   ├── pshints.h
│   │       │   │   │   ├── services/
│   │       │   │   │   │   ├── svbdf.h
│   │       │   │   │   │   ├── svcid.h
│   │       │   │   │   │   ├── svgldict.h
│   │       │   │   │   │   ├── svgxval.h
│   │       │   │   │   │   ├── svkern.h
│   │       │   │   │   │   ├── svmm.h
│   │       │   │   │   │   ├── svotval.h
│   │       │   │   │   │   ├── svpfr.h
│   │       │   │   │   │   ├── svpostnm.h
│   │       │   │   │   │   ├── svprop.h
│   │       │   │   │   │   ├── svpscmap.h
│   │       │   │   │   │   ├── svpsinfo.h
│   │       │   │   │   │   ├── svsfnt.h
│   │       │   │   │   │   ├── svttcmap.h
│   │       │   │   │   │   ├── svtteng.h
│   │       │   │   │   │   ├── svttglyf.h
│   │       │   │   │   │   ├── svwinfnt.h
│   │       │   │   │   │   └── svxf86nm.h
│   │       │   │   │   ├── sfnt.h
│   │       │   │   │   ├── t1types.h
│   │       │   │   │   └── tttypes.h
│   │       │   │   ├── t1tables.h
│   │       │   │   ├── ttnameid.h
│   │       │   │   ├── tttables.h
│   │       │   │   ├── tttags.h
│   │       │   │   └── ttunpat.h
│   │       │   └── ft2build.h
│   │       ├── libjpeg/
│   │       │   ├── jconfig.h
│   │       │   ├── jerror.h
│   │       │   ├── jmorecfg.h
│   │       │   ├── jpegint.h
│   │       │   └── jpeglib.h
│   │       └── zlib/
│   │           ├── zconf.h
│   │           └── zlib.h
│   └── src/
│       ├── fdrm/
│       │   └── crypto/
│       │       ├── fx_crypt.cpp
│       │       ├── fx_crypt_aes.cpp
│       │       └── fx_crypt_sha.cpp
│       ├── fpdfapi/
│       │   ├── fpdf_basic_module.cpp
│       │   ├── fpdf_cmaps/
│       │   │   ├── CNS1/
│       │   │   │   ├── Adobe-CNS1-UCS2_5.cpp
│       │   │   │   ├── B5pc-H_0.cpp
│       │   │   │   ├── B5pc-V_0.cpp
│       │   │   │   ├── CNS-EUC-H_0.cpp
│       │   │   │   ├── CNS-EUC-V_0.cpp
│       │   │   │   ├── ETen-B5-H_0.cpp
│       │   │   │   ├── ETen-B5-V_0.cpp
│       │   │   │   ├── ETenms-B5-H_0.cpp
│       │   │   │   ├── ETenms-B5-V_0.cpp
│       │   │   │   ├── HKscs-B5-H_5.cpp
│       │   │   │   ├── HKscs-B5-V_5.cpp
│       │   │   │   ├── UniCNS-UCS2-H_3.cpp
│       │   │   │   ├── UniCNS-UCS2-V_3.cpp
│       │   │   │   ├── UniCNS-UTF16-H_0.cpp
│       │   │   │   └── cmaps_cns1.cpp
│       │   │   ├── GB1/
│       │   │   │   ├── Adobe-GB1-UCS2_5.cpp
│       │   │   │   ├── GB-EUC-H_0.cpp
│       │   │   │   ├── GB-EUC-V_0.cpp
│       │   │   │   ├── GBK-EUC-H_2.cpp
│       │   │   │   ├── GBK-EUC-V_2.cpp
│       │   │   │   ├── GBK2K-H_5.cpp
│       │   │   │   ├── GBK2K-V_5.cpp
│       │   │   │   ├── GBKp-EUC-H_2.cpp
│       │   │   │   ├── GBKp-EUC-V_2.cpp
│       │   │   │   ├── GBpc-EUC-H_0.cpp
│       │   │   │   ├── GBpc-EUC-V_0.cpp
│       │   │   │   ├── UniGB-UCS2-H_4.cpp
│       │   │   │   ├── UniGB-UCS2-V_4.cpp
│       │   │   │   └── cmaps_gb1.cpp
│       │   │   ├── Japan1/
│       │   │   │   ├── 83pv-RKSJ-H_1.cpp
│       │   │   │   ├── 90ms-RKSJ-H_2.cpp
│       │   │   │   ├── 90ms-RKSJ-V_2.cpp
│       │   │   │   ├── 90msp-RKSJ-H_2.cpp
│       │   │   │   ├── 90msp-RKSJ-V_2.cpp
│       │   │   │   ├── 90pv-RKSJ-H_1.cpp
│       │   │   │   ├── Add-RKSJ-H_1.cpp
│       │   │   │   ├── Add-RKSJ-V_1.cpp
│       │   │   │   ├── Adobe-Japan1-UCS2_4.cpp
│       │   │   │   ├── EUC-H_1.cpp
│       │   │   │   ├── EUC-V_1.cpp
│       │   │   │   ├── Ext-RKSJ-H_2.cpp
│       │   │   │   ├── Ext-RKSJ-V_2.cpp
│       │   │   │   ├── H_1.cpp
│       │   │   │   ├── UniJIS-UCS2-HW-H_4.cpp
│       │   │   │   ├── UniJIS-UCS2-HW-V_4.cpp
│       │   │   │   ├── UniJIS-UCS2-H_4.cpp
│       │   │   │   ├── UniJIS-UCS2-V_4.cpp
│       │   │   │   ├── UniJIS-UTF16-H_5.cpp
│       │   │   │   ├── UniJIS-UTF16-V_5.cpp
│       │   │   │   ├── V_1.cpp
│       │   │   │   └── cmaps_japan1.cpp
│       │   │   ├── Korea1/
│       │   │   │   ├── Adobe-Korea1-UCS2_2.cpp
│       │   │   │   ├── KSC-EUC-H_0.cpp
│       │   │   │   ├── KSC-EUC-V_0.cpp
│       │   │   │   ├── KSCms-UHC-HW-H_1.cpp
│       │   │   │   ├── KSCms-UHC-HW-V_1.cpp
│       │   │   │   ├── KSCms-UHC-H_1.cpp
│       │   │   │   ├── KSCms-UHC-V_1.cpp
│       │   │   │   ├── KSCpc-EUC-H_0.cpp
│       │   │   │   ├── UniKS-UCS2-H_1.cpp
│       │   │   │   ├── UniKS-UCS2-V_1.cpp
│       │   │   │   ├── UniKS-UTF16-H_0.cpp
│       │   │   │   └── cmaps_korea1.cpp
│       │   │   ├── cmap_int.h
│       │   │   └── fpdf_cmaps.cpp
│       │   ├── fpdf_edit/
│       │   │   ├── editint.h
│       │   │   ├── fpdf_edit_content.cpp
│       │   │   ├── fpdf_edit_create.cpp
│       │   │   ├── fpdf_edit_doc.cpp
│       │   │   └── fpdf_edit_image.cpp
│       │   ├── fpdf_font/
│       │   │   ├── common.h
│       │   │   ├── font_int.h
│       │   │   ├── fpdf_font.cpp
│       │   │   ├── fpdf_font_charset.cpp
│       │   │   ├── fpdf_font_cid.cpp
│       │   │   ├── fpdf_font_utility.cpp
│       │   │   ├── ttgsubtable.cpp
│       │   │   └── ttgsubtable.h
│       │   ├── fpdf_page/
│       │   │   ├── fpdf_page.cpp
│       │   │   ├── fpdf_page_colors.cpp
│       │   │   ├── fpdf_page_doc.cpp
│       │   │   ├── fpdf_page_func.cpp
│       │   │   ├── fpdf_page_graph_state.cpp
│       │   │   ├── fpdf_page_image.cpp
│       │   │   ├── fpdf_page_parser.cpp
│       │   │   ├── fpdf_page_parser_new.cpp
│       │   │   ├── fpdf_page_parser_old.cpp
│       │   │   ├── fpdf_page_path.cpp
│       │   │   ├── fpdf_page_pattern.cpp
│       │   │   └── pageint.h
│       │   ├── fpdf_parser/
│       │   │   ├── filters_int.h
│       │   │   ├── fpdf_parser_decode.cpp
│       │   │   ├── fpdf_parser_document.cpp
│       │   │   ├── fpdf_parser_encrypt.cpp
│       │   │   ├── fpdf_parser_fdf.cpp
│       │   │   ├── fpdf_parser_filters.cpp
│       │   │   ├── fpdf_parser_objects.cpp
│       │   │   ├── fpdf_parser_parser.cpp
│       │   │   └── fpdf_parser_utility.cpp
│       │   └── fpdf_render/
│       │       ├── fpdf_render.cpp
│       │       ├── fpdf_render_cache.cpp
│       │       ├── fpdf_render_image.cpp
│       │       ├── fpdf_render_loadimage.cpp
│       │       ├── fpdf_render_pattern.cpp
│       │       ├── fpdf_render_text.cpp
│       │       └── render_int.h
│       ├── fpdfdoc/
│       │   ├── doc_action.cpp
│       │   ├── doc_annot.cpp
│       │   ├── doc_ap.cpp
│       │   ├── doc_basic.cpp
│       │   ├── doc_bookmark.cpp
│       │   ├── doc_form.cpp
│       │   ├── doc_formcontrol.cpp
│       │   ├── doc_formfield.cpp
│       │   ├── doc_link.cpp
│       │   ├── doc_metadata.cpp
│       │   ├── doc_ocg.cpp
│       │   ├── doc_tagged.cpp
│       │   ├── doc_utils.cpp
│       │   ├── doc_viewerPreferences.cpp
│       │   ├── doc_vt.cpp
│       │   ├── doc_vtmodule.cpp
│       │   ├── pdf_vt.h
│       │   └── tagged_int.h
│       ├── fpdftext/
│       │   ├── fpdf_text.cpp
│       │   ├── fpdf_text_int.cpp
│       │   ├── fpdf_text_search.cpp
│       │   ├── text_int.h
│       │   ├── txtproc.h
│       │   ├── unicodenormalization.cpp
│       │   └── unicodenormalizationdata.cpp
│       ├── fx_freetype.h
│       ├── fx_jpeglib.h
│       ├── fx_zlib.h
│       ├── fxcodec/
│       │   ├── codec/
│       │   │   ├── codec_int.h
│       │   │   ├── fx_codec.cpp
│       │   │   ├── fx_codec_fax.cpp
│       │   │   ├── fx_codec_flate.cpp
│       │   │   ├── fx_codec_icc.cpp
│       │   │   ├── fx_codec_jbig.cpp
│       │   │   ├── fx_codec_jbig_enc.cpp
│       │   │   ├── fx_codec_jpeg.cpp
│       │   │   └── fx_codec_jpx_opj.cpp
│       │   ├── fx_libopenjpeg/
│       │   │   ├── include/
│       │   │   │   └── fx_openjpeg.h
│       │   │   ├── libopenjpeg20/
│       │   │   │   ├── CMakeLists.txt
│       │   │   │   ├── bio.c
│       │   │   │   ├── bio.h
│       │   │   │   ├── cio.c
│       │   │   │   ├── cio.h
│       │   │   │   ├── dwt.c
│       │   │   │   ├── dwt.h
│       │   │   │   ├── event.c
│       │   │   │   ├── event.h
│       │   │   │   ├── function_list.c
│       │   │   │   ├── function_list.h
│       │   │   │   ├── image.c
│       │   │   │   ├── image.h
│       │   │   │   ├── indexbox_manager.h
│       │   │   │   ├── invert.c
│       │   │   │   ├── invert.h
│       │   │   │   ├── j2k.c
│       │   │   │   ├── j2k.h
│       │   │   │   ├── jp2.c
│       │   │   │   ├── jp2.h
│       │   │   │   ├── mct.c
│       │   │   │   ├── mct.h
│       │   │   │   ├── mqc.c
│       │   │   │   ├── mqc.h
│       │   │   │   ├── openjpeg.c
│       │   │   │   ├── openjpeg.h
│       │   │   │   ├── opj_clock.c
│       │   │   │   ├── opj_clock.h
│       │   │   │   ├── opj_codec.h
│       │   │   │   ├── opj_config.h
│       │   │   │   ├── opj_config.h.cmake.in
│       │   │   │   ├── opj_config_private.h
│       │   │   │   ├── opj_includes.h
│       │   │   │   ├── opj_intmath.h
│       │   │   │   ├── opj_inttypes.h
│       │   │   │   ├── opj_malloc.h
│       │   │   │   ├── opj_stdint.h
│       │   │   │   ├── pi.c
│       │   │   │   ├── pi.h
│       │   │   │   ├── raw.c
│       │   │   │   ├── raw.h
│       │   │   │   ├── t1.c
│       │   │   │   ├── t1.h
│       │   │   │   ├── t1_generate_luts.c
│       │   │   │   ├── t1_luts.h
│       │   │   │   ├── t2.c
│       │   │   │   ├── t2.h
│       │   │   │   ├── tcd.c
│       │   │   │   ├── tcd.h
│       │   │   │   ├── tgt.c
│       │   │   │   └── tgt.h
│       │   │   └── src/
│       │   │       ├── fx_bio.c
│       │   │       ├── fx_cio.c
│       │   │       ├── fx_dwt.c
│       │   │       ├── fx_event.c
│       │   │       ├── fx_function_list.c
│       │   │       ├── fx_image.c
│       │   │       ├── fx_invert.c
│       │   │       ├── fx_j2k.c
│       │   │       ├── fx_j2k_lib.c
│       │   │       ├── fx_jpt.c
│       │   │       ├── fx_mct.c
│       │   │       ├── fx_mqc.c
│       │   │       ├── fx_openjpeg.c
│       │   │       ├── fx_openjpeg_jp2.c
│       │   │       ├── fx_opj_clock.c
│       │   │       ├── fx_pi.c
│       │   │       ├── fx_raw.c
│       │   │       ├── fx_t1.c
│       │   │       ├── fx_t1_generate_luts.c
│       │   │       ├── fx_t2.c
│       │   │       ├── fx_tcd.c
│       │   │       └── fx_tgt.c
│       │   ├── fx_zlib/
│       │   │   ├── include/
│       │   │   │   └── fx_zlib.h
│       │   │   ├── src/
│       │   │   │   ├── fx_zlib_adler32.c
│       │   │   │   ├── fx_zlib_compress.c
│       │   │   │   ├── fx_zlib_crc32.c
│       │   │   │   ├── fx_zlib_deflate.c
│       │   │   │   ├── fx_zlib_gzclose.c
│       │   │   │   ├── fx_zlib_gzlib.c
│       │   │   │   ├── fx_zlib_gzread.c
│       │   │   │   ├── fx_zlib_gzwrite.c
│       │   │   │   ├── fx_zlib_infback.c
│       │   │   │   ├── fx_zlib_inffast.c
│       │   │   │   ├── fx_zlib_inflate.c
│       │   │   │   ├── fx_zlib_inftrees.c
│       │   │   │   ├── fx_zlib_trees.c
│       │   │   │   ├── fx_zlib_uncompr.c
│       │   │   │   └── fx_zlib_zutil.c
│       │   │   └── zlib_v128/
│       │   │       ├── crc32.h
│       │   │       ├── deflate.h
│       │   │       ├── fx_zlib_adler32.c
│       │   │       ├── fx_zlib_compress.c
│       │   │       ├── fx_zlib_crc32.c
│       │   │       ├── fx_zlib_deflate.c
│       │   │       ├── fx_zlib_infback.c
│       │   │       ├── fx_zlib_inffast.c
│       │   │       ├── fx_zlib_inflate.c
│       │   │       ├── fx_zlib_inftrees.c
│       │   │       ├── fx_zlib_trees.c
│       │   │       ├── fx_zlib_uncompr.c
│       │   │       ├── fx_zlib_zutil.c
│       │   │       ├── gzclose.c
│       │   │       ├── gzguts.h
│       │   │       ├── gzlib.c
│       │   │       ├── gzread.c
│       │   │       ├── gzwrite.c
│       │   │       ├── inffast.h
│       │   │       ├── inffixed.h
│       │   │       ├── inflate.h
│       │   │       ├── inftrees.h
│       │   │       ├── trees.h
│       │   │       ├── zconf.h
│       │   │       ├── zlib.h
│       │   │       └── zutil.h
│       │   ├── jbig2/
│       │   │   ├── JBig2_ArithDecoder.h
│       │   │   ├── JBig2_ArithIntDecoder.cpp
│       │   │   ├── JBig2_ArithIntDecoder.h
│       │   │   ├── JBig2_ArithQe.h
│       │   │   ├── JBig2_BitStream.h
│       │   │   ├── JBig2_Context.cpp
│       │   │   ├── JBig2_Context.h
│       │   │   ├── JBig2_Define.h
│       │   │   ├── JBig2_GeneralDecoder.cpp
│       │   │   ├── JBig2_GeneralDecoder.h
│       │   │   ├── JBig2_HuffmanDecoder.cpp
│       │   │   ├── JBig2_HuffmanDecoder.h
│       │   │   ├── JBig2_HuffmanTable.cpp
│       │   │   ├── JBig2_HuffmanTable.h
│       │   │   ├── JBig2_HuffmanTable_Standard.h
│       │   │   ├── JBig2_Image.cpp
│       │   │   ├── JBig2_Image.h
│       │   │   ├── JBig2_List.h
│       │   │   ├── JBig2_Module.h
│       │   │   ├── JBig2_Object.cpp
│       │   │   ├── JBig2_Object.h
│       │   │   ├── JBig2_Page.h
│       │   │   ├── JBig2_PatternDict.cpp
│       │   │   ├── JBig2_PatternDict.h
│       │   │   ├── JBig2_Segment.cpp
│       │   │   ├── JBig2_Segment.h
│       │   │   ├── JBig2_SymbolDict.cpp
│       │   │   └── JBig2_SymbolDict.h
│       │   ├── lcms2/
│       │   │   ├── include/
│       │   │   │   ├── fx_lcms2.h
│       │   │   │   └── fx_lcms2_plugin.h
│       │   │   ├── lcms2-2.6/
│       │   │   │   ├── include/
│       │   │   │   │   ├── lcms2.h
│       │   │   │   │   └── lcms2_plugin.h
│       │   │   │   └── src/
│       │   │   │       ├── cmscam02.c
│       │   │   │       ├── cmscgats.c
│       │   │   │       ├── cmscnvrt.c
│       │   │   │       ├── cmserr.c
│       │   │   │       ├── cmsgamma.c
│       │   │   │       ├── cmsgmt.c
│       │   │   │       ├── cmshalf.c
│       │   │   │       ├── cmsintrp.c
│       │   │   │       ├── cmsio0.c
│       │   │   │       ├── cmsio1.c
│       │   │   │       ├── cmslut.c
│       │   │   │       ├── cmsmd5.c
│       │   │   │       ├── cmsmtrx.c
│       │   │   │       ├── cmsnamed.c
│       │   │   │       ├── cmsopt.c
│       │   │   │       ├── cmspack.c
│       │   │   │       ├── cmspcs.c
│       │   │   │       ├── cmsplugin.c
│       │   │   │       ├── cmsps2.c
│       │   │   │       ├── cmssamp.c
│       │   │   │       ├── cmssm.c
│       │   │   │       ├── cmstypes.c
│       │   │   │       ├── cmsvirt.c
│       │   │   │       ├── cmswtpnt.c
│       │   │   │       ├── cmsxform.c
│       │   │   │       └── lcms2_internal.h
│       │   │   └── src/
│       │   │       ├── fx_cmscam02.c
│       │   │       ├── fx_cmscgats.c
│       │   │       ├── fx_cmscnvrt.c
│       │   │       ├── fx_cmserr.c
│       │   │       ├── fx_cmsgamma.c
│       │   │       ├── fx_cmsgmt.c
│       │   │       ├── fx_cmshalf.c
│       │   │       ├── fx_cmsintrp.c
│       │   │       ├── fx_cmsio0.c
│       │   │       ├── fx_cmsio1.c
│       │   │       ├── fx_cmslut.c
│       │   │       ├── fx_cmsmd5.c
│       │   │       ├── fx_cmsmtrx.c
│       │   │       ├── fx_cmsnamed.c
│       │   │       ├── fx_cmsopt.c
│       │   │       ├── fx_cmspack.c
│       │   │       ├── fx_cmspcs.c
│       │   │       ├── fx_cmsplugin.c
│       │   │       ├── fx_cmsps2.c
│       │   │       ├── fx_cmssamp.c
│       │   │       ├── fx_cmssm.c
│       │   │       ├── fx_cmstypes.c
│       │   │       ├── fx_cmsvirt.c
│       │   │       ├── fx_cmswtpnt.c
│       │   │       └── fx_cmsxform.c
│       │   └── libjpeg/
│       │       ├── cderror.h
│       │       ├── cdjpeg.h
│       │       ├── fpdfapi_jcapimin.c
│       │       ├── fpdfapi_jcapistd.c
│       │       ├── fpdfapi_jccoefct.c
│       │       ├── fpdfapi_jccolor.c
│       │       ├── fpdfapi_jcdctmgr.c
│       │       ├── fpdfapi_jchuff.c
│       │       ├── fpdfapi_jcinit.c
│       │       ├── fpdfapi_jcmainct.c
│       │       ├── fpdfapi_jcmarker.c
│       │       ├── fpdfapi_jcmaster.c
│       │       ├── fpdfapi_jcomapi.c
│       │       ├── fpdfapi_jcparam.c
│       │       ├── fpdfapi_jcphuff.c
│       │       ├── fpdfapi_jcprepct.c
│       │       ├── fpdfapi_jcsample.c
│       │       ├── fpdfapi_jctrans.c
│       │       ├── fpdfapi_jdapimin.c
│       │       ├── fpdfapi_jdapistd.c
│       │       ├── fpdfapi_jdcoefct.c
│       │       ├── fpdfapi_jdcolor.c
│       │       ├── fpdfapi_jddctmgr.c
│       │       ├── fpdfapi_jdhuff.c
│       │       ├── fpdfapi_jdinput.c
│       │       ├── fpdfapi_jdmainct.c
│       │       ├── fpdfapi_jdmarker.c
│       │       ├── fpdfapi_jdmaster.c
│       │       ├── fpdfapi_jdmerge.c
│       │       ├── fpdfapi_jdphuff.c
│       │       ├── fpdfapi_jdpostct.c
│       │       ├── fpdfapi_jdsample.c
│       │       ├── fpdfapi_jdtrans.c
│       │       ├── fpdfapi_jerror.c
│       │       ├── fpdfapi_jfdctfst.c
│       │       ├── fpdfapi_jfdctint.c
│       │       ├── fpdfapi_jidctfst.c
│       │       ├── fpdfapi_jidctint.c
│       │       ├── fpdfapi_jidctred.c
│       │       ├── fpdfapi_jmemmgr.c
│       │       ├── fpdfapi_jmemnobs.c
│       │       ├── fpdfapi_jutils.c
│       │       ├── jchuff.h
│       │       ├── jconfig.h
│       │       ├── jdct.h
│       │       ├── jdhuff.h
│       │       ├── jerror.h
│       │       ├── jinclude.h
│       │       ├── jmemsys.h
│       │       ├── jmorecfg.h
│       │       ├── jpegint.h
│       │       ├── jpeglib.h
│       │       ├── jversion.h
│       │       ├── makefile
│       │       └── transupp.h
│       ├── fxcrt/
│       │   ├── extension.h
│       │   ├── fx_arabic.cpp
│       │   ├── fx_arabic.h
│       │   ├── fx_basic_array.cpp
│       │   ├── fx_basic_bstring.cpp
│       │   ├── fx_basic_buffer.cpp
│       │   ├── fx_basic_coords.cpp
│       │   ├── fx_basic_gcc.cpp
│       │   ├── fx_basic_list.cpp
│       │   ├── fx_basic_maps.cpp
│       │   ├── fx_basic_memmgr.cpp
│       │   ├── fx_basic_plex.cpp
│       │   ├── fx_basic_utf.cpp
│       │   ├── fx_basic_util.cpp
│       │   ├── fx_basic_wstring.cpp
│       │   ├── fx_extension.cpp
│       │   ├── fx_ucddata.cpp
│       │   ├── fx_unicode.cpp
│       │   ├── fx_xml_composer.cpp
│       │   ├── fx_xml_parser.cpp
│       │   ├── fxcrt_platforms.cpp
│       │   ├── fxcrt_platforms.h
│       │   ├── fxcrt_posix.cpp
│       │   ├── fxcrt_posix.h
│       │   ├── fxcrt_windows.cpp
│       │   ├── fxcrt_windows.h
│       │   ├── plex.h
│       │   └── xml_int.h
│       ├── fxge/
│       │   ├── agg/
│       │   │   ├── agg23/
│       │   │   │   ├── agg_array.h
│       │   │   │   ├── agg_basics.h
│       │   │   │   ├── agg_clip_liang_barsky.h
│       │   │   │   ├── agg_color_gray.h
│       │   │   │   ├── agg_conv_adaptor_vcgen.h
│       │   │   │   ├── agg_conv_dash.h
│       │   │   │   ├── agg_conv_stroke.h
│       │   │   │   ├── agg_curves.h
│       │   │   │   ├── agg_math.h
│       │   │   │   ├── agg_math_stroke.h
│       │   │   │   ├── agg_path_storage.h
│       │   │   │   ├── agg_pixfmt_gray.h
│       │   │   │   ├── agg_rasterizer_scanline_aa.h
│       │   │   │   ├── agg_render_scanlines.h
│       │   │   │   ├── agg_renderer_base.h
│       │   │   │   ├── agg_renderer_scanline.h
│       │   │   │   ├── agg_rendering_buffer.h
│       │   │   │   ├── agg_scanline_u.h
│       │   │   │   ├── agg_shorten_path.h
│       │   │   │   ├── agg_vcgen_dash.h
│       │   │   │   ├── agg_vcgen_stroke.h
│       │   │   │   ├── agg_vertex_sequence.h
│       │   │   │   ├── fx_agg_curves.cpp
│       │   │   │   ├── fx_agg_driver.cpp
│       │   │   │   ├── fx_agg_path_storage.cpp
│       │   │   │   ├── fx_agg_rasterizer_scanline_aa.cpp
│       │   │   │   ├── fx_agg_vcgen_dash.cpp
│       │   │   │   └── fx_agg_vcgen_stroke.cpp
│       │   │   ├── include/
│       │   │   │   ├── fx_agg_driver.h
│       │   │   │   ├── fxfx_agg_basics.h
│       │   │   │   ├── fxfx_agg_clip_liang_barsky.h
│       │   │   │   ├── fxfx_agg_conv_dash.h
│       │   │   │   ├── fxfx_agg_conv_stroke.h
│       │   │   │   ├── fxfx_agg_curves.h
│       │   │   │   ├── fxfx_agg_path_storage.h
│       │   │   │   ├── fxfx_agg_rasterizer_scanline_aa.h
│       │   │   │   ├── fxfx_agg_renderer_scanline.h
│       │   │   │   ├── fxfx_agg_rendering_buffer.h
│       │   │   │   └── fxfx_agg_scanline_u.h
│       │   │   └── src/
│       │   │       ├── fxfx_agg_curves.cpp
│       │   │       ├── fxfx_agg_driver.cpp
│       │   │       ├── fxfx_agg_path_storage.cpp
│       │   │       ├── fxfx_agg_rasterizer_scanline_aa.cpp
│       │   │       ├── fxfx_agg_vcgen_dash.cpp
│       │   │       └── fxfx_agg_vcgen_stroke.cpp
│       │   ├── android/
│       │   │   ├── fpf_skiafont.cpp
│       │   │   ├── fpf_skiafont.h
│       │   │   ├── fpf_skiafontmgr.cpp
│       │   │   ├── fpf_skiafontmgr.h
│       │   │   ├── fpf_skiamodule.cpp
│       │   │   ├── fpf_skiamodule.h
│       │   │   ├── fx_android_font.cpp
│       │   │   ├── fx_android_font.h
│       │   │   ├── fx_android_imp.cpp
│       │   │   └── fx_fpf.h
│       │   ├── apple/
│       │   │   ├── apple_int.h
│       │   │   ├── fx_apple_platform.cpp
│       │   │   ├── fx_mac_imp.cpp
│       │   │   └── fx_quartz_device.cpp
│       │   ├── dib/
│       │   │   ├── dib_int.h
│       │   │   ├── fx_dib_composite.cpp
│       │   │   ├── fx_dib_convert.cpp
│       │   │   ├── fx_dib_engine.cpp
│       │   │   ├── fx_dib_main.cpp
│       │   │   └── fx_dib_transform.cpp
│       │   ├── fontdata/
│       │   │   └── chromefontdata/
│       │   │       ├── FoxitDingbats.c
│       │   │       ├── FoxitFixed.c
│       │   │       ├── FoxitFixedBold.c
│       │   │       ├── FoxitFixedBoldItalic.c
│       │   │       ├── FoxitFixedItalic.c
│       │   │       ├── FoxitSans.c
│       │   │       ├── FoxitSansBold.c
│       │   │       ├── FoxitSansBoldItalic.c
│       │   │       ├── FoxitSansItalic.c
│       │   │       ├── FoxitSansMM.c
│       │   │       ├── FoxitSerif.c
│       │   │       ├── FoxitSerifBold.c
│       │   │       ├── FoxitSerifBoldItalic.c
│       │   │       ├── FoxitSerifItalic.c
│       │   │       ├── FoxitSerifMM.c
│       │   │       └── FoxitSymbol.c
│       │   ├── fx_freetype/
│       │   │   ├── fxft2.5.01/
│       │   │   │   ├── include/
│       │   │   │   │   ├── foxitnames.h
│       │   │   │   │   ├── freetype/
│       │   │   │   │   │   ├── config/
│       │   │   │   │   │   │   ├── ftconfig.h
│       │   │   │   │   │   │   ├── ftheader.h
│       │   │   │   │   │   │   ├── ftmodule.h
│       │   │   │   │   │   │   ├── ftoption.h
│       │   │   │   │   │   │   └── ftstdlib.h
│       │   │   │   │   │   ├── freetype.h
│       │   │   │   │   │   ├── ftadvanc.h
│       │   │   │   │   │   ├── ftautoh.h
│       │   │   │   │   │   ├── ftbbox.h
│       │   │   │   │   │   ├── ftbdf.h
│       │   │   │   │   │   ├── ftbitmap.h
│       │   │   │   │   │   ├── ftbzip2.h
│       │   │   │   │   │   ├── ftcache.h
│       │   │   │   │   │   ├── ftcffdrv.h
│       │   │   │   │   │   ├── ftcid.h
│       │   │   │   │   │   ├── fterrdef.h
│       │   │   │   │   │   ├── fterrors.h
│       │   │   │   │   │   ├── ftgasp.h
│       │   │   │   │   │   ├── ftglyph.h
│       │   │   │   │   │   ├── ftgxval.h
│       │   │   │   │   │   ├── ftgzip.h
│       │   │   │   │   │   ├── ftimage.h
│       │   │   │   │   │   ├── ftincrem.h
│       │   │   │   │   │   ├── ftlcdfil.h
│       │   │   │   │   │   ├── ftlist.h
│       │   │   │   │   │   ├── ftlzw.h
│       │   │   │   │   │   ├── ftmac.h
│       │   │   │   │   │   ├── ftmm.h
│       │   │   │   │   │   ├── ftmodapi.h
│       │   │   │   │   │   ├── ftmoderr.h
│       │   │   │   │   │   ├── ftotval.h
│       │   │   │   │   │   ├── ftoutln.h
│       │   │   │   │   │   ├── ftpfr.h
│       │   │   │   │   │   ├── ftrender.h
│       │   │   │   │   │   ├── ftsizes.h
│       │   │   │   │   │   ├── ftsnames.h
│       │   │   │   │   │   ├── ftstroke.h
│       │   │   │   │   │   ├── ftsynth.h
│       │   │   │   │   │   ├── ftsystem.h
│       │   │   │   │   │   ├── fttrigon.h
│       │   │   │   │   │   ├── ftttdrv.h
│       │   │   │   │   │   ├── fttypes.h
│       │   │   │   │   │   ├── ftwinfnt.h
│       │   │   │   │   │   ├── ftxf86.h
│       │   │   │   │   │   ├── internal/
│       │   │   │   │   │   │   ├── autohint.h
│       │   │   │   │   │   │   ├── ftcalc.h
│       │   │   │   │   │   │   ├── ftdebug.h
│       │   │   │   │   │   │   ├── ftdriver.h
│       │   │   │   │   │   │   ├── ftgloadr.h
│       │   │   │   │   │   │   ├── ftmemory.h
│       │   │   │   │   │   │   ├── ftobjs.h
│       │   │   │   │   │   │   ├── ftpic.h
│       │   │   │   │   │   │   ├── ftrfork.h
│       │   │   │   │   │   │   ├── ftserv.h
│       │   │   │   │   │   │   ├── ftstream.h
│       │   │   │   │   │   │   ├── fttrace.h
│       │   │   │   │   │   │   ├── ftvalid.h
│       │   │   │   │   │   │   ├── internal.h
│       │   │   │   │   │   │   ├── psaux.h
│       │   │   │   │   │   │   ├── pshints.h
│       │   │   │   │   │   │   ├── services/
│       │   │   │   │   │   │   │   ├── svbdf.h
│       │   │   │   │   │   │   │   ├── svcid.h
│       │   │   │   │   │   │   │   ├── svgldict.h
│       │   │   │   │   │   │   │   ├── svgxval.h
│       │   │   │   │   │   │   │   ├── svkern.h
│       │   │   │   │   │   │   │   ├── svmm.h
│       │   │   │   │   │   │   │   ├── svotval.h
│       │   │   │   │   │   │   │   ├── svpfr.h
│       │   │   │   │   │   │   │   ├── svpostnm.h
│       │   │   │   │   │   │   │   ├── svprop.h
│       │   │   │   │   │   │   │   ├── svpscmap.h
│       │   │   │   │   │   │   │   ├── svpsinfo.h
│       │   │   │   │   │   │   │   ├── svsfnt.h
│       │   │   │   │   │   │   │   ├── svttcmap.h
│       │   │   │   │   │   │   │   ├── svtteng.h
│       │   │   │   │   │   │   │   ├── svttglyf.h
│       │   │   │   │   │   │   │   ├── svwinfnt.h
│       │   │   │   │   │   │   │   └── svxf86nm.h
│       │   │   │   │   │   │   ├── sfnt.h
│       │   │   │   │   │   │   ├── t1types.h
│       │   │   │   │   │   │   └── tttypes.h
│       │   │   │   │   │   ├── t1tables.h
│       │   │   │   │   │   ├── ttnameid.h
│       │   │   │   │   │   ├── tttables.h
│       │   │   │   │   │   ├── tttags.h
│       │   │   │   │   │   └── ttunpat.h
│       │   │   │   │   └── ft2build.h
│       │   │   │   └── src/
│       │   │   │       ├── base/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── basepic.c
│       │   │   │       │   ├── basepic.h
│       │   │   │       │   ├── ftadvanc.c
│       │   │   │       │   ├── ftapi.c
│       │   │   │       │   ├── ftbase.h
│       │   │   │       │   ├── ftbbox.c
│       │   │   │       │   ├── ftbdf.c
│       │   │   │       │   ├── ftcalc.c
│       │   │   │       │   ├── ftcid.c
│       │   │   │       │   ├── ftdbgmem.c
│       │   │   │       │   ├── ftdebug.c
│       │   │   │       │   ├── ftfstype.c
│       │   │   │       │   ├── ftgasp.c
│       │   │   │       │   ├── ftgloadr.c
│       │   │   │       │   ├── ftgxval.c
│       │   │   │       │   ├── ftmac.c
│       │   │   │       │   ├── ftobjs.c
│       │   │   │       │   ├── ftotval.c
│       │   │   │       │   ├── ftoutln.c
│       │   │   │       │   ├── ftpatent.c
│       │   │   │       │   ├── ftpfr.c
│       │   │   │       │   ├── ftpic.c
│       │   │   │       │   ├── ftrfork.c
│       │   │   │       │   ├── ftsnames.c
│       │   │   │       │   ├── ftstream.c
│       │   │   │       │   ├── ftstroke.c
│       │   │   │       │   ├── ftsynth.c
│       │   │   │       │   ├── fttrigon.c
│       │   │   │       │   ├── fttype1.c
│       │   │   │       │   ├── ftutil.c
│       │   │   │       │   ├── ftwinfnt.c
│       │   │   │       │   ├── ftxf86.c
│       │   │   │       │   ├── fxft_ftbase.c
│       │   │   │       │   ├── fxft_ftbitmap.c
│       │   │   │       │   ├── fxft_ftglyph.c
│       │   │   │       │   ├── fxft_ftinit.c
│       │   │   │       │   ├── fxft_ftlcdfil.c
│       │   │   │       │   ├── fxft_ftmm.c
│       │   │   │       │   ├── fxft_ftsystem.c
│       │   │   │       │   ├── md5.c
│       │   │   │       │   └── md5.h
│       │   │   │       ├── cff/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── cf2arrst.c
│       │   │   │       │   ├── cf2arrst.h
│       │   │   │       │   ├── cf2blues.c
│       │   │   │       │   ├── cf2blues.h
│       │   │   │       │   ├── cf2error.c
│       │   │   │       │   ├── cf2error.h
│       │   │   │       │   ├── cf2fixed.h
│       │   │   │       │   ├── cf2font.c
│       │   │   │       │   ├── cf2font.h
│       │   │   │       │   ├── cf2ft.c
│       │   │   │       │   ├── cf2ft.h
│       │   │   │       │   ├── cf2glue.h
│       │   │   │       │   ├── cf2hints.c
│       │   │   │       │   ├── cf2hints.h
│       │   │   │       │   ├── cf2intrp.c
│       │   │   │       │   ├── cf2intrp.h
│       │   │   │       │   ├── cf2read.c
│       │   │   │       │   ├── cf2read.h
│       │   │   │       │   ├── cf2stack.c
│       │   │   │       │   ├── cf2stack.h
│       │   │   │       │   ├── cf2types.h
│       │   │   │       │   ├── cffcmap.c
│       │   │   │       │   ├── cffcmap.h
│       │   │   │       │   ├── cffdrivr.c
│       │   │   │       │   ├── cffdrivr.h
│       │   │   │       │   ├── cfferrs.h
│       │   │   │       │   ├── cffgload.c
│       │   │   │       │   ├── cffgload.h
│       │   │   │       │   ├── cffload.c
│       │   │   │       │   ├── cffload.h
│       │   │   │       │   ├── cffobjs.c
│       │   │   │       │   ├── cffobjs.h
│       │   │   │       │   ├── cffparse.c
│       │   │   │       │   ├── cffparse.h
│       │   │   │       │   ├── cffpic.c
│       │   │   │       │   ├── cffpic.h
│       │   │   │       │   ├── cfftoken.h
│       │   │   │       │   ├── cfftypes.h
│       │   │   │       │   └── fxft_cff.c
│       │   │   │       ├── cid/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── ciderrs.h
│       │   │   │       │   ├── cidgload.c
│       │   │   │       │   ├── cidgload.h
│       │   │   │       │   ├── cidload.c
│       │   │   │       │   ├── cidload.h
│       │   │   │       │   ├── cidobjs.c
│       │   │   │       │   ├── cidobjs.h
│       │   │   │       │   ├── cidparse.c
│       │   │   │       │   ├── cidparse.h
│       │   │   │       │   ├── cidriver.c
│       │   │   │       │   ├── cidriver.h
│       │   │   │       │   ├── cidtoken.h
│       │   │   │       │   └── fxft_type1cid.c
│       │   │   │       ├── psaux/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── afmparse.c
│       │   │   │       │   ├── afmparse.h
│       │   │   │       │   ├── fxft_psaux.c
│       │   │   │       │   ├── psauxerr.h
│       │   │   │       │   ├── psauxmod.c
│       │   │   │       │   ├── psauxmod.h
│       │   │   │       │   ├── psconv.c
│       │   │   │       │   ├── psconv.h
│       │   │   │       │   ├── psobjs.c
│       │   │   │       │   ├── psobjs.h
│       │   │   │       │   ├── t1cmap.c
│       │   │   │       │   ├── t1cmap.h
│       │   │   │       │   ├── t1decode.c
│       │   │   │       │   └── t1decode.h
│       │   │   │       ├── pshinter/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_pshinter.c
│       │   │   │       │   ├── pshalgo.c
│       │   │   │       │   ├── pshalgo.h
│       │   │   │       │   ├── pshglob.c
│       │   │   │       │   ├── pshglob.h
│       │   │   │       │   ├── pshmod.c
│       │   │   │       │   ├── pshmod.h
│       │   │   │       │   ├── pshnterr.h
│       │   │   │       │   ├── pshpic.c
│       │   │   │       │   ├── pshpic.h
│       │   │   │       │   ├── pshrec.c
│       │   │   │       │   └── pshrec.h
│       │   │   │       ├── psnames/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_psmodule.c
│       │   │   │       │   ├── psmodule.h
│       │   │   │       │   ├── psnamerr.h
│       │   │   │       │   ├── psnames.c
│       │   │   │       │   ├── pspic.c
│       │   │   │       │   ├── pspic.h
│       │   │   │       │   └── pstables.h
│       │   │   │       ├── raster/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── ftmisc.h
│       │   │   │       │   ├── ftraster.c
│       │   │   │       │   ├── ftraster.h
│       │   │   │       │   ├── ftrend1.c
│       │   │   │       │   ├── ftrend1.h
│       │   │   │       │   ├── fxft_raster.c
│       │   │   │       │   ├── rasterrs.h
│       │   │   │       │   ├── rastpic.c
│       │   │   │       │   └── rastpic.h
│       │   │   │       ├── sfnt/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_sfnt.c
│       │   │   │       │   ├── pngshim.c
│       │   │   │       │   ├── pngshim.h
│       │   │   │       │   ├── sfdriver.c
│       │   │   │       │   ├── sfdriver.h
│       │   │   │       │   ├── sferrors.h
│       │   │   │       │   ├── sfntpic.c
│       │   │   │       │   ├── sfntpic.h
│       │   │   │       │   ├── sfobjs.c
│       │   │   │       │   ├── sfobjs.h
│       │   │   │       │   ├── ttbdf.c
│       │   │   │       │   ├── ttbdf.h
│       │   │   │       │   ├── ttcmap.c
│       │   │   │       │   ├── ttcmap.h
│       │   │   │       │   ├── ttcmapc.h
│       │   │   │       │   ├── ttkern.c
│       │   │   │       │   ├── ttkern.h
│       │   │   │       │   ├── ttload.c
│       │   │   │       │   ├── ttload.h
│       │   │   │       │   ├── ttmtx.c
│       │   │   │       │   ├── ttmtx.h
│       │   │   │       │   ├── ttpost.c
│       │   │   │       │   ├── ttpost.h
│       │   │   │       │   ├── ttsbit.c
│       │   │   │       │   └── ttsbit.h
│       │   │   │       ├── smooth/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── ftgrays.c
│       │   │   │       │   ├── ftgrays.h
│       │   │   │       │   ├── ftsmerrs.h
│       │   │   │       │   ├── ftsmooth.c
│       │   │   │       │   ├── ftsmooth.h
│       │   │   │       │   ├── ftspic.c
│       │   │   │       │   ├── ftspic.h
│       │   │   │       │   └── fxft_smooth.c
│       │   │   │       ├── truetype/
│       │   │   │       │   ├── Jamfile
│       │   │   │       │   ├── fxft_truetype.c
│       │   │   │       │   ├── ttdriver.c
│       │   │   │       │   ├── ttdriver.h
│       │   │   │       │   ├── tterrors.h
│       │   │   │       │   ├── ttgload.c
│       │   │   │       │   ├── ttgload.h
│       │   │   │       │   ├── ttgxvar.c
│       │   │   │       │   ├── ttgxvar.h
│       │   │   │       │   ├── ttinterp.c
│       │   │   │       │   ├── ttinterp.h
│       │   │   │       │   ├── ttobjs.c
│       │   │   │       │   ├── ttobjs.h
│       │   │   │       │   ├── ttpic.c
│       │   │   │       │   ├── ttpic.h
│       │   │   │       │   ├── ttpload.c
│       │   │   │       │   ├── ttpload.h
│       │   │   │       │   ├── ttsubpix.c
│       │   │   │       │   └── ttsubpix.h
│       │   │   │       └── type1/
│       │   │   │           ├── Jamfile
│       │   │   │           ├── fxft_type1.c
│       │   │   │           ├── t1afm.c
│       │   │   │           ├── t1afm.h
│       │   │   │           ├── t1driver.c
│       │   │   │           ├── t1driver.h
│       │   │   │           ├── t1errors.h
│       │   │   │           ├── t1gload.c
│       │   │   │           ├── t1gload.h
│       │   │   │           ├── t1load.c
│       │   │   │           ├── t1load.h
│       │   │   │           ├── t1objs.c
│       │   │   │           ├── t1objs.h
│       │   │   │           ├── t1parse.c
│       │   │   │           ├── t1parse.h
│       │   │   │           └── t1tokens.h
│       │   │   ├── include/
│       │   │   │   ├── fxft_cffobjs.h
│       │   │   │   ├── fxft_cfftypes.h
│       │   │   │   ├── fxft_freetype.h
│       │   │   │   ├── fxft_ft2build.h
│       │   │   │   ├── fxft_ftmm.h
│       │   │   │   ├── fxft_ftobjs.h
│       │   │   │   ├── fxft_ftotval.h
│       │   │   │   ├── fxft_ftoutln.h
│       │   │   │   ├── fxft_ftstream.h
│       │   │   │   ├── fxft_tttables.h
│       │   │   │   └── fxft_tttypes.h
│       │   │   └── src/
│       │   │       ├── fxft_cff.c
│       │   │       ├── fxft_ftbase.c
│       │   │       ├── fxft_ftbitmap.c
│       │   │       ├── fxft_ftglyph.c
│       │   │       ├── fxft_ftinit.c
│       │   │       ├── fxft_ftlcdfil.c
│       │   │       ├── fxft_ftmm.c
│       │   │       ├── fxft_ftsystem.c
│       │   │       ├── fxft_psaux.c
│       │   │       ├── fxft_pshinter.c
│       │   │       ├── fxft_psmodule.c
│       │   │       ├── fxft_raster.c
│       │   │       ├── fxft_sfnt.c
│       │   │       ├── fxft_smooth.c
│       │   │       ├── fxft_truetype.c
│       │   │       ├── fxft_type1.c
│       │   │       └── fxft_type1cid.c
│       │   ├── ge/
│       │   │   ├── fx_ge.cpp
│       │   │   ├── fx_ge_device.cpp
│       │   │   ├── fx_ge_font.cpp
│       │   │   ├── fx_ge_fontmap.cpp
│       │   │   ├── fx_ge_linux.cpp
│       │   │   ├── fx_ge_path.cpp
│       │   │   ├── fx_ge_ps.cpp
│       │   │   ├── fx_ge_text.cpp
│       │   │   └── text_int.h
│       │   ├── skia/
│       │   │   ├── fx_skia_blitter_new.cpp
│       │   │   ├── fx_skia_blitter_new.h
│       │   │   ├── fx_skia_device.cpp
│       │   │   └── fx_skia_device.h
│       │   └── win32/
│       │       ├── dwrite_int.h
│       │       ├── fx_win32_device.cpp
│       │       ├── fx_win32_dib.cpp
│       │       ├── fx_win32_dwrite.cpp
│       │       ├── fx_win32_gdipext.cpp
│       │       ├── fx_win32_print.cpp
│       │       └── win32_int.h
│       └── reflow/
│           ├── autoreflow.cpp
│           ├── autoreflow.h
│           ├── layoutprocessor_reflow.cpp
│           ├── layoutprovider_taggedpdf.cpp
│           ├── layoutprovider_taggedpdf.h
│           ├── reflowedpage.cpp
│           ├── reflowedpage.h
│           ├── reflowedtextpage.cpp
│           ├── reflowedtextpage.h
│           └── reflowengine.cpp
├── fpdfsdk/
│   ├── include/
│   │   ├── formfiller/
│   │   │   ├── FFL_CBA_Fontmap.h
│   │   │   ├── FFL_CheckBox.h
│   │   │   ├── FFL_ComboBox.h
│   │   │   ├── FFL_FormFiller.h
│   │   │   ├── FFL_IFormFiller.h
│   │   │   ├── FFL_ListBox.h
│   │   │   ├── FFL_Notify.h
│   │   │   ├── FFL_PushButton.h
│   │   │   ├── FFL_RadioButton.h
│   │   │   ├── FFL_TextField.h
│   │   │   ├── FFL_Utils.h
│   │   │   └── FormFiller.h
│   │   ├── fpdf_dataavail.h
│   │   ├── fpdf_ext.h
│   │   ├── fpdf_flatten.h
│   │   ├── fpdf_fwlevent.h
│   │   ├── fpdf_progressive.h
│   │   ├── fpdf_searchex.h
│   │   ├── fpdf_sysfontinfo.h
│   │   ├── fpdf_transformpage.h
│   │   ├── fpdfdoc.h
│   │   ├── fpdfedit.h
│   │   ├── fpdfformfill.h
│   │   ├── fpdfoom.h
│   │   ├── fpdfppo.h
│   │   ├── fpdfsave.h
│   │   ├── fpdftext.h
│   │   ├── fpdfview.h
│   │   ├── fsdk_actionhandler.h
│   │   ├── fsdk_annothandler.h
│   │   ├── fsdk_baseannot.h
│   │   ├── fsdk_baseform.h
│   │   ├── fsdk_common.h
│   │   ├── fsdk_define.h
│   │   ├── fsdk_mgr.h
│   │   ├── fsdk_rendercontext.h
│   │   ├── fx_systemhandler.h
│   │   ├── fxedit/
│   │   │   ├── fx_edit.h
│   │   │   ├── fxet_edit.h
│   │   │   ├── fxet_list.h
│   │   │   └── fxet_stub.h
│   │   ├── javascript/
│   │   │   ├── Consts.h
│   │   │   ├── Document.h
│   │   │   ├── Field.h
│   │   │   ├── IJavaScript.h
│   │   │   ├── Icon.h
│   │   │   ├── JS_Console.h
│   │   │   ├── JS_Context.h
│   │   │   ├── JS_Define.h
│   │   │   ├── JS_EventHandler.h
│   │   │   ├── JS_GlobalData.h
│   │   │   ├── JS_Module.h
│   │   │   ├── JS_Object.h
│   │   │   ├── JS_Runtime.h
│   │   │   ├── JS_Value.h
│   │   │   ├── JavaScript.h
│   │   │   ├── PublicMethods.h
│   │   │   ├── app.h
│   │   │   ├── color.h
│   │   │   ├── console.h
│   │   │   ├── event.h
│   │   │   ├── global.h
│   │   │   ├── report.h
│   │   │   ├── resource.h
│   │   │   └── util.h
│   │   ├── jsapi/
│   │   │   └── fxjs_v8.h
│   │   └── pdfwindow/
│   │       ├── IPDFWindow.h
│   │       ├── PDFWindow.h
│   │       ├── PWL_Button.h
│   │       ├── PWL_Caret.h
│   │       ├── PWL_ComboBox.h
│   │       ├── PWL_Edit.h
│   │       ├── PWL_EditCtrl.h
│   │       ├── PWL_FontMap.h
│   │       ├── PWL_Icon.h
│   │       ├── PWL_IconList.h
│   │       ├── PWL_Label.h
│   │       ├── PWL_ListBox.h
│   │       ├── PWL_ListCtrl.h
│   │       ├── PWL_Note.h
│   │       ├── PWL_ScrollBar.h
│   │       ├── PWL_Signature.h
│   │       ├── PWL_SpecialButton.h
│   │       ├── PWL_Utils.h
│   │       └── PWL_Wnd.h
│   └── src/
│       ├── formfiller/
│       │   ├── FFL_CBA_Fontmap.cpp
│       │   ├── FFL_CheckBox.cpp
│       │   ├── FFL_ComboBox.cpp
│       │   ├── FFL_FormFiller.cpp
│       │   ├── FFL_IFormFiller.cpp
│       │   ├── FFL_ListBox.cpp
│       │   ├── FFL_Notify.cpp
│       │   ├── FFL_PushButton.cpp
│       │   ├── FFL_RadioButton.cpp
│       │   ├── FFL_TextField.cpp
│       │   └── FFL_Utils.cpp
│       ├── fpdf_dataavail.cpp
│       ├── fpdf_ext.cpp
│       ├── fpdf_flatten.cpp
│       ├── fpdf_progressive.cpp
│       ├── fpdf_searchex.cpp
│       ├── fpdf_sysfontinfo.cpp
│       ├── fpdf_transformpage.cpp
│       ├── fpdfdoc.cpp
│       ├── fpdfeditimg.cpp
│       ├── fpdfeditpage.cpp
│       ├── fpdfformfill.cpp
│       ├── fpdfoom.cpp
│       ├── fpdfppo.cpp
│       ├── fpdfsave.cpp
│       ├── fpdfsdkdll.rc
│       ├── fpdftext.cpp
│       ├── fpdfview.cpp
│       ├── fsdk_actionhandler.cpp
│       ├── fsdk_annothandler.cpp
│       ├── fsdk_baseannot.cpp
│       ├── fsdk_baseform.cpp
│       ├── fsdk_mgr.cpp
│       ├── fsdk_rendercontext.cpp
│       ├── fxedit/
│       │   ├── fxet_ap.cpp
│       │   ├── fxet_edit.cpp
│       │   ├── fxet_list.cpp
│       │   ├── fxet_module.cpp
│       │   └── fxet_pageobjs.cpp
│       ├── javascript/
│       │   ├── Consts.cpp
│       │   ├── Document.cpp
│       │   ├── Field.cpp
│       │   ├── Icon.cpp
│       │   ├── JS_Context.cpp
│       │   ├── JS_EventHandler.cpp
│       │   ├── JS_GlobalData.cpp
│       │   ├── JS_Object.cpp
│       │   ├── JS_Runtime.cpp
│       │   ├── JS_Value.cpp
│       │   ├── PublicMethods.cpp
│       │   ├── app.cpp
│       │   ├── color.cpp
│       │   ├── console.cpp
│       │   ├── event.cpp
│       │   ├── global.cpp
│       │   ├── report.cpp
│       │   └── util.cpp
│       ├── jsapi/
│       │   └── fxjs_v8.cpp
│       ├── pdfwindow/
│       │   ├── PWL_Button.cpp
│       │   ├── PWL_Caret.cpp
│       │   ├── PWL_ComboBox.cpp
│       │   ├── PWL_Edit.cpp
│       │   ├── PWL_EditCtrl.cpp
│       │   ├── PWL_FontMap.cpp
│       │   ├── PWL_Icon.cpp
│       │   ├── PWL_IconList.cpp
│       │   ├── PWL_Label.cpp
│       │   ├── PWL_ListBox.cpp
│       │   ├── PWL_ListCtrl.cpp
│       │   ├── PWL_Note.cpp
│       │   ├── PWL_ScrollBar.cpp
│       │   ├── PWL_Signature.cpp
│       │   ├── PWL_SpecialButton.cpp
│       │   ├── PWL_Utils.cpp
│       │   └── PWL_Wnd.cpp
│       └── resource.h
├── pdfium.gyp
├── pdfium.js/
│   ├── pdfium.js.cc
│   ├── pdfium.js.gyp
│   └── pdfium.js.lib.js
├── samples/
│   ├── pdfium_test.cc
│   └── samples.gyp
├── third_party/
│   ├── logging.h
│   ├── macros.h
│   ├── numerics/
│   │   ├── OWNERS
│   │   ├── safe_conversions.h
│   │   ├── safe_conversions_impl.h
│   │   ├── safe_math.h
│   │   └── safe_math_impl.h
│   └── template_util.h
└── web/
    ├── index.html
    ├── pdfium.css
    ├── pdfium.js
    ├── pdfium.js.mem
    ├── pdfjs.html
    └── viewer/
        ├── compatibility.js
        ├── debugger.js
        ├── images/
        │   ├── grab.cur
        │   └── grabbing.cur
        ├── index.html
        ├── l10n.js
        ├── locale/
        │   ├── ach/
        │   │   └── viewer.properties
        │   ├── af/
        │   │   └── viewer.properties
        │   ├── ak/
        │   │   └── viewer.properties
        │   ├── an/
        │   │   └── viewer.properties
        │   ├── ar/
        │   │   └── viewer.properties
        │   ├── as/
        │   │   └── viewer.properties
        │   ├── ast/
        │   │   └── viewer.properties
        │   ├── az/
        │   │   └── viewer.properties
        │   ├── be/
        │   │   └── viewer.properties
        │   ├── bg/
        │   │   └── viewer.properties
        │   ├── bn-BD/
        │   │   └── viewer.properties
        │   ├── bn-IN/
        │   │   └── viewer.properties
        │   ├── br/
        │   │   └── viewer.properties
        │   ├── bs/
        │   │   └── viewer.properties
        │   ├── ca/
        │   │   └── viewer.properties
        │   ├── cs/
        │   │   └── viewer.properties
        │   ├── csb/
        │   │   └── viewer.properties
        │   ├── cy/
        │   │   └── viewer.properties
        │   ├── da/
        │   │   └── viewer.properties
        │   ├── de/
        │   │   └── viewer.properties
        │   ├── el/
        │   │   └── viewer.properties
        │   ├── en-GB/
        │   │   └── viewer.properties
        │   ├── en-US/
        │   │   └── viewer.properties
        │   ├── en-ZA/
        │   │   └── viewer.properties
        │   ├── eo/
        │   │   └── viewer.properties
        │   ├── es-AR/
        │   │   └── viewer.properties
        │   ├── es-CL/
        │   │   └── viewer.properties
        │   ├── es-ES/
        │   │   └── viewer.properties
        │   ├── es-MX/
        │   │   └── viewer.properties
        │   ├── et/
        │   │   └── viewer.properties
        │   ├── eu/
        │   │   └── viewer.properties
        │   ├── fa/
        │   │   └── viewer.properties
        │   ├── ff/
        │   │   └── viewer.properties
        │   ├── fi/
        │   │   └── viewer.properties
        │   ├── fr/
        │   │   └── viewer.properties
        │   ├── fy-NL/
        │   │   └── viewer.properties
        │   ├── ga-IE/
        │   │   └── viewer.properties
        │   ├── gd/
        │   │   └── viewer.properties
        │   ├── gl/
        │   │   └── viewer.properties
        │   ├── gu-IN/
        │   │   └── viewer.properties
        │   ├── he/
        │   │   └── viewer.properties
        │   ├── hi-IN/
        │   │   └── viewer.properties
        │   ├── hr/
        │   │   └── viewer.properties
        │   ├── hu/
        │   │   └── viewer.properties
        │   ├── hy-AM/
        │   │   └── viewer.properties
        │   ├── id/
        │   │   └── viewer.properties
        │   ├── is/
        │   │   └── viewer.properties
        │   ├── it/
        │   │   └── viewer.properties
        │   ├── ja/
        │   │   └── viewer.properties
        │   ├── ka/
        │   │   └── viewer.properties
        │   ├── kk/
        │   │   └── viewer.properties
        │   ├── km/
        │   │   └── viewer.properties
        │   ├── kn/
        │   │   └── viewer.properties
        │   ├── ko/
        │   │   └── viewer.properties
        │   ├── ku/
        │   │   └── viewer.properties
        │   ├── lg/
        │   │   └── viewer.properties
        │   ├── lij/
        │   │   └── viewer.properties
        │   ├── locale.properties
        │   ├── lt/
        │   │   └── viewer.properties
        │   ├── lv/
        │   │   └── viewer.properties
        │   ├── mai/
        │   │   └── viewer.properties
        │   ├── mk/
        │   │   └── viewer.properties
        │   ├── ml/
        │   │   └── viewer.properties
        │   ├── mn/
        │   │   └── viewer.properties
        │   ├── mr/
        │   │   └── viewer.properties
        │   ├── ms/
        │   │   └── viewer.properties
        │   ├── my/
        │   │   └── viewer.properties
        │   ├── nb-NO/
        │   │   └── viewer.properties
        │   ├── nl/
        │   │   └── viewer.properties
        │   ├── nn-NO/
        │   │   └── viewer.properties
        │   ├── nso/
        │   │   └── viewer.properties
        │   ├── oc/
        │   │   └── viewer.properties
        │   ├── or/
        │   │   └── viewer.properties
        │   ├── pa-IN/
        │   │   └── viewer.properties
        │   ├── pl/
        │   │   └── viewer.properties
        │   ├── pt-BR/
        │   │   └── viewer.properties
        │   ├── pt-PT/
        │   │   └── viewer.properties
        │   ├── rm/
        │   │   └── viewer.properties
        │   ├── ro/
        │   │   └── viewer.properties
        │   ├── ru/
        │   │   └── viewer.properties
        │   ├── rw/
        │   │   └── viewer.properties
        │   ├── sah/
        │   │   └── viewer.properties
        │   ├── si/
        │   │   └── viewer.properties
        │   ├── sk/
        │   │   └── viewer.properties
        │   ├── sl/
        │   │   └── viewer.properties
        │   ├── son/
        │   │   └── viewer.properties
        │   ├── sq/
        │   │   └── viewer.properties
        │   ├── sr/
        │   │   └── viewer.properties
        │   ├── sv-SE/
        │   │   └── viewer.properties
        │   ├── sw/
        │   │   └── viewer.properties
        │   ├── ta/
        │   │   └── viewer.properties
        │   ├── ta-LK/
        │   │   └── viewer.properties
        │   ├── te/
        │   │   └── viewer.properties
        │   ├── th/
        │   │   └── viewer.properties
        │   ├── tl/
        │   │   └── viewer.properties
        │   ├── tn/
        │   │   └── viewer.properties
        │   ├── tr/
        │   │   └── viewer.properties
        │   ├── uk/
        │   │   └── viewer.properties
        │   ├── ur/
        │   │   └── viewer.properties
        │   ├── vi/
        │   │   └── viewer.properties
        │   ├── wo/
        │   │   └── viewer.properties
        │   ├── xh/
        │   │   └── viewer.properties
        │   ├── zh-CN/
        │   │   └── viewer.properties
        │   ├── zh-TW/
        │   │   └── viewer.properties
        │   └── zu/
        │       └── viewer.properties
        ├── pdfium.js.mem
        ├── pdfium.js.pdf.js
        ├── viewer.css
        └── viewer.js
Download .txt
Showing preview only (1,511K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (17042 symbols across 782 files)

FILE: core/include/fpdfapi/fpdf_module.h
  function class (line 26) | class CPDF_ModuleMgr : public CFX_Object
  function class (line 135) | class CPDF_PageModuleDef : public CFX_Object
  function class (line 173) | class CPDF_RenderModuleDef : public CFX_Object

FILE: core/include/fpdfapi/fpdf_objects.h
  type IFX_FileStream (line 37) | typedef IFX_FileStream* (*FPDF_LPFCloneStreamCallback)(CPDF_Stream *pStr...
  function class (line 38) | class CPDF_Object : public CFX_Object
  function class (line 115) | class CPDF_Boolean : public CPDF_Object
  function FX_BOOL (line 135) | FX_BOOL					Identical(CPDF_Boolean* pOther) const
  function class (line 144) | class CPDF_Number : public CPDF_Object
  function class (line 225) | class CPDF_String : public CPDF_Object
  function CPDF_String (line 234) | static CPDF_String*		Create(const CFX_WideString& str)
  function m_String (line 245) | m_String(str)
  function FX_BOOL (line 258) | FX_BOOL					Identical(CPDF_String* pOther) const
  function class (line 274) | class CPDF_Name : public CPDF_Object
  function class (line 322) | class CPDF_Array : public CPDF_Object
  function class (line 422) | class CPDF_Dictionary : public CPDF_Object
  function class (line 544) | class CPDF_Stream : public CPDF_Object
  function CPDF_Dictionary (line 555) | CPDF_Dictionary*		GetDict() const
  function class (line 612) | class CPDF_StreamAcc : public CFX_Object
  function class (line 666) | class CPDF_StreamFilter : public CFX_Object
  function class (line 702) | class CPDF_Null : public CPDF_Object
  function class (line 716) | class CPDF_Reference : public CPDF_Object
  function CPDF_IndirectObjects (line 732) | CPDF_IndirectObjects*	GetObjList() const
  function FX_BOOL (line 744) | FX_BOOL					Identical(CPDF_Reference* pOther) const
  function class (line 755) | class CPDF_IndirectObjects : public CFX_Object

FILE: core/include/fpdfapi/fpdf_page.h
  function EstimateParseProgress (line 58) | int					EstimateParseProgress() const;
  function CPDF_PageObject (line 83) | CPDF_PageObject*	GetObjectAt(FX_POSITION pos) const
  function CFX_FloatRect (line 110) | CFX_FloatRect		CalcBoundingBox() const;
  function class (line 202) | class CPDF_ParseOptions : public CFX_Object
  function class (line 216) | class CPDF_Form : public CPDF_PageObjects
  function class (line 232) | class CPDF_PageContentGenerate : public CFX_Object

FILE: core/include/fpdfapi/fpdf_pageobj.h
  type CFX_PathData (line 35) | typedef CFX_PathData CPDF_PathData;
  function class (line 36) | class CPDF_Path : public CFX_CountRef<CFX_PathData>
  function class (line 102) | class CPDF_ClipPathData : public CFX_Object
  function CPDF_Path (line 134) | CPDF_Path			GetPath(int i) const
  function GetClipType (line 139) | int					GetClipType(int i) const
  function CPDF_TextObject (line 149) | CPDF_TextObject*	GetText(int i) const
  function CFX_FloatRect (line 154) | CFX_FloatRect		GetClipBox() const;
  function class (line 182) | class CPDF_ColorState : public CFX_CountRef<CPDF_ColorStateData>
  type CFX_GraphStateData (line 206) | typedef CFX_GraphStateData CPDF_GraphStateData;
  function class (line 211) | class CPDF_TextStateData : public CFX_Object
  function FX_FLOAT (line 251) | FX_FLOAT*			GetMatrix() const
  function FX_FLOAT (line 258) | FX_FLOAT			GetFontSizeV() const;
  function class (line 321) | class CPDF_GeneralState : public CFX_CountRef<CPDF_GeneralStateData>
  function class (line 337) | class CPDF_ContentMarkItem : public CFX_Object
  function CPDF_ContentMarkItem (line 402) | inline CPDF_ContentMarkItem&	GetItem(int index) const
  function GetMCID (line 407) | int					GetMCID() const;
  function class (line 435) | class CPDF_GraphicStates : public CFX_Object
  function class (line 453) | class CPDF_PageObject : public CPDF_GraphicStates
  function CFX_Object (line 508) | struct CPDF_TextObjectItem : public CFX_Object {
  function class (line 516) | class CPDF_TextObject : public CPDF_PageObject
  function class (line 618) | class CPDF_PathObject : public CPDF_PageObject
  function class (line 645) | class CPDF_ImageObject : public CPDF_PageObject
  function class (line 662) | class CPDF_ShadingObject : public CPDF_PageObject
  function class (line 681) | class CPDF_FormObject : public CPDF_PageObject
  function class (line 702) | class CPDF_InlineImages : public CPDF_PageObject

FILE: core/include/fpdfapi/fpdf_parser.h
  function class (line 49) | class IPDF_EnumPageHandler
  function IPDF_DocParser (line 65) | IPDF_DocParser*			GetParser() const
  function CPDF_Dictionary (line 70) | CPDF_Dictionary*		GetRoot() const
  function CPDF_Dictionary (line 75) | CPDF_Dictionary*		GetInfo() const
  function GetID (line 80) | void					GetID(CFX_ByteString& id1, CFX_ByteString& id2) const
  function GetPageCount (line 86) | int						GetPageCount() const;
  function _GetPageCount (line 181) | int						_GetPageCount() const;
  function class (line 245) | class CPDF_SyntaxParser : public CFX_Object
  type PARSE_CONTEXT (line 354) | struct PARSE_CONTEXT {
  function class (line 366) | class IPDF_DocParser : public CFX_Object
  function SetPassword (line 420) | void				SetPassword(const FX_CHAR* password)
  function CFX_ByteString (line 425) | CFX_ByteString		GetPassword()
  function CPDF_SecurityHandler (line 430) | CPDF_SecurityHandler* GetSecurityHandler()
  function CPDF_CryptoHandler (line 435) | CPDF_CryptoHandler*	GetCryptoHandler()
  function CFX_ByteString (line 442) | CFX_ByteString		GetRecipient()
  function CPDF_Dictionary (line 447) | CPDF_Dictionary*	GetTrailer()
  function FX_FILESIZE (line 452) | FX_FILESIZE			GetLastXRefOffset()
  function CPDF_Document (line 457) | CPDF_Document*		GetDocument()
  function virtual (line 469) | virtual CPDF_Dictionary*	GetEncryptDict()
  function GetObjectVersion (line 481) | int					GetObjectVersion(FX_DWORD objnum)
  function FX_BOOL (line 488) | FX_BOOL				GetFileStreamOption()
  function SetFileStreamOption (line 493) | void				SetFileStreamOption(FX_BOOL b)
  function IFX_FileRead (line 498) | IFX_FileRead*		GetFileAccess() const
  type PARSE_CONTEXT (line 513) | struct PARSE_CONTEXT
  type PARSE_CONTEXT (line 516) | struct PARSE_CONTEXT
  function FX_DWORD (line 520) | FX_DWORD			GetFirstPageNo()
  function class (line 609) | class CPDF_SecurityHandler : public CFX_Object
  function class (line 636) | class CPDF_StandardSecurityHandler : public CPDF_SecurityHandler
  function class (line 711) | class CPDF_CryptoHandler : public CFX_Object
  function class (line 735) | class CPDF_StandardCryptoHandler : public CPDF_CryptoHandler
  function class (line 768) | class CPDF_Point : public CFX_Object
  function class (line 793) | class CFDF_Document : public CPDF_IndirectObjects
  function class (line 838) | class CPDF_NumberTree : public CFX_Object
  function class (line 853) | class IFX_FileAvail
  function class (line 859) | class IFX_DownloadHints
  function class (line 871) | class IPDF_DataAvail
  function class (line 891) | class CPDF_SortObjNumArray : public CFX_Object
  type PDF_PAGENODE_TYPE (line 910) | enum PDF_PAGENODE_TYPE {
  function class (line 916) | class CPDF_PageNode : public CFX_Object
  type PDF_DATAAVAIL_STATUS (line 925) | enum PDF_DATAAVAIL_STATUS {
  function virtual (line 967) | virtual FX_BOOL				IsLinearized()
  function IFX_FileRead (line 973) | IFX_FileRead*				GetFileRead() const
  function IFX_FileAvail (line 977) | IFX_FileAvail*				GetFileAvail() const

FILE: core/include/fpdfapi/fpdf_render.h
  function class (line 28) | class IPDF_OCContext
  function class (line 58) | class CPDF_RenderOptions : public CFX_Object
  function class (line 84) | class CPDF_RenderContext : public CFX_Object
  function class (line 138) | class IPDF_BackgroundDraw
  function class (line 147) | class CPDF_ProgressiveRenderer : public CFX_Object
  function class (line 204) | class CPDF_TextRenderer : public CFX_Object
  function class (line 239) | class IPDF_PageImageCache
  function class (line 252) | class CPDF_PageRenderCache : public CFX_Object
  function class (line 310) | class CPDF_RenderConfig : public CFX_Object

FILE: core/include/fpdfapi/fpdf_resource.h
  type FT_FaceRec_ (line 38) | struct FT_FaceRec_
  function class (line 57) | class CPDF_Font : public CFX_Object
  function class (line 302) | class CPDF_FontEncoding : public CFX_Object
  function class (line 331) | class CPDF_SimpleFont : public CPDF_Font
  function class (line 391) | class CPDF_Type1Font : public CPDF_SimpleFont
  function class (line 408) | class CPDF_TrueTypeFont : public CPDF_SimpleFont
  function class (line 417) | class CPDF_Type3Char : public CFX_Object
  function class (line 444) | class CPDF_Type3Font : public CPDF_SimpleFont
  function class (line 483) | class CPDF_CIDFont : public CPDF_Font
  function class (line 679) | class CPDF_Color : public CFX_Object
  function class (line 730) | class CPDF_Pattern : public CFX_Object
  function class (line 754) | class CPDF_TilingPattern : public CPDF_Pattern
  function class (line 778) | class CPDF_ShadingPattern : public CPDF_Pattern
  type CPDF_MeshVertex (line 805) | struct CPDF_MeshVertex {
  function class (line 809) | class CPDF_MeshStream : public CFX_Object
  function class (line 838) | class CPDF_ImageSetParam
  function class (line 849) | class CPDF_Image : public CFX_Object

FILE: core/include/fpdfapi/fpdf_serial.h
  function class (line 18) | class CPDF_ObjArchiveSaver : public CFX_ArchiveSaver
  function class (line 27) | class CPDF_ObjArchiveLoader : public CFX_ArchiveLoader
  function class (line 39) | class CPDF_PageArchiveSaver : public CPDF_ObjArchiveSaver
  function class (line 73) | class CPDF_PageArchiveLoader : public CPDF_ObjArchiveLoader
  function class (line 116) | class CPDF_Creator : public CFX_Object

FILE: core/include/fpdfdoc/fpdf_ap.h
  function class (line 11) | class IPVT_FontMap
  type CPVT_Dash (line 19) | struct CPVT_Dash {
  type CPVT_Color (line 34) | struct CPVT_Color {
  function class (line 46) | class CPVT_Provider : public IPDF_VariableText_Provider
  function class (line 74) | class CPVT_GenerateAP

FILE: core/include/fpdfdoc/fpdf_doc.h
  function class (line 45) | class CPDF_NameTree : public CFX_Object
  function class (line 76) | class CPDF_BookmarkTree : public CFX_Object
  function class (line 103) | class CPDF_Bookmark : public CFX_Object
  function class (line 144) | class CPDF_Dest : public CFX_Object
  type UsageType (line 175) | enum UsageType {
  function CPDF_Document (line 186) | CPDF_Document*	GetDocument() const
  function class (line 217) | class CPDF_LWinParam : public CFX_Object
  function class (line 256) | class CPDF_ActionFields : public CFX_Object
  type ActionType (line 298) | enum ActionType {
  function ActionType (line 325) | ActionType			GetType() const;
  function CFX_WideString (line 398) | CFX_WideString		GetJavaScript() const;
  type AActionType (line 462) | enum AActionType {
  function FX_POSITION (line 490) | FX_POSITION			GetStartPos() const;
  function CPDF_Document (line 901) | CPDF_Document*			GetDocument() const
  function CPDF_Dictionary (line 906) | CPDF_Dictionary*		GetFormDict() const
  function FX_BOOL (line 946) | inline FX_BOOL			FindFormFont(CFX_WideString csFontName, CPDF_Font*& pFo...
  function CPDF_FormNotify (line 996) | CPDF_FormNotify*		GetFormNotify() const
  function FX_BOOL (line 1008) | FX_BOOL					IsUpdated()
  function ClearUpdatedFlag (line 1013) | void					ClearUpdatedFlag()
  function FX_BOOL (line 1019) | FX_BOOL					HasXFAForm() const;
  function FX_DWORD (line 1095) | FX_DWORD				GetFlags()
  function CPDF_InterForm (line 1100) | CPDF_InterForm*			GetInterForm() const
  function CPDF_Dictionary (line 1105) | CPDF_Dictionary*		GetFieldDict() const
  function SetFieldDict (line 1110) | void					SetFieldDict(CPDF_Dictionary* pDict)
  function CountControls (line 1119) | int						CountControls()
  function CPDF_FormControl (line 1124) | CPDF_FormControl*		GetControl(int index)
  function FX_FLOAT (line 1236) | FX_FLOAT				GetFontSize()
  function CPDF_Font (line 1241) | CPDF_Font*				GetFont()
  function class (line 1293) | class CPDF_IconFit : public CFX_Object
  function class (line 1345) | class CPDF_FormControl : public CFX_Object
  function class (line 1553) | class CPDF_FormNotify : public CFX_Object
  function class (line 1605) | class CPDF_PageLabel : public CFX_Object
  function class (line 1625) | class CPDF_Metadata
  function FX_BOOL (line 1656) | FX_BOOL IsDirectionR2L() const;

FILE: core/include/fpdfdoc/fpdf_tagged.h
  type CPDF_StructKid (line 11) | struct CPDF_StructKid
  function virtual (line 24) | virtual ~CPDF_StructTree() {}
  type CPDF_StructKid (line 30) | struct CPDF_StructKid {

FILE: core/include/fpdfdoc/fpdf_vt.h
  type CPVT_WordPlace (line 11) | struct CPVT_WordPlace
  type CPVT_WordRange (line 12) | struct CPVT_WordRange
  type CPVT_Word (line 13) | struct CPVT_Word
  type CPVT_Line (line 14) | struct CPVT_Line
  type CPVT_Section (line 15) | struct CPVT_Section
  function Default (line 19) | struct CPVT_WordPlace {
  function Set (line 121) | void Set(const CPVT_WordPlace & begin, const CPVT_WordPlace & end)
  function SetBeginPos (line 128) | void SetBeginPos(const CPVT_WordPlace & begin)
  function SetEndPos (line 134) | void SetEndPos(const CPVT_WordPlace & end)
  function FX_BOOL (line 145) | FX_BOOL operator != (const CPVT_WordRange & wr) const
  function SwapWordPlace (line 150) | void SwapWordPlace()
  function CFX_Object (line 163) | struct CPVT_SecProps : public CFX_Object {
  function CFX_Object (line 185) | struct CPVT_WordProps : public CFX_Object {
  type CPVT_Section (line 265) | struct CPVT_Section {

FILE: core/include/fpdftext/fpdf_text.h
  type FPDF_CHAR_INFO (line 38) | typedef struct {
  type CFX_ArrayTemplate (line 49) | typedef	CFX_ArrayTemplate<CFX_FloatRect> CFX_RectArray;
  function class (line 62) | class CPDFText_ParseOptions : public CFX_Object
  function virtual (line 150) | virtual int					GetCurOrder() const = 0;

FILE: core/include/fxcodec/fx_codec.h
  function class (line 25) | class CCodec_ModuleMgr : public CFX_Object
  function class (line 83) | class ICodec_BasicModule : public CFX_Object
  function class (line 95) | class ICodec_ScanlineDecoder : public CFX_Object
  function class (line 121) | class ICodec_FlateModule : public CFX_Object
  function class (line 136) | class ICodec_FaxModule : public CFX_Object
  function class (line 149) | class ICodec_JpegModule : public CFX_Object
  function class (line 184) | class ICodec_JpxModule : public CFX_Object
  function class (line 200) | class ICodec_Jbig2Module : public CFX_Object
  function class (line 221) | class ICodec_Jbig2Encoder : public CFX_Object
  function class (line 227) | class ICodec_IccModule : public CFX_Object

FILE: core/include/fxcodec/fx_codec_def.h
  type FXCODEC_STATUS (line 9) | enum FXCODEC_STATUS {

FILE: core/include/fxcodec/fx_codec_provider.h
  function class (line 9) | class IFX_JpegProvider

FILE: core/include/fxcrt/fx_arb.h
  function class (line 9) | class IFX_BidiChar

FILE: core/include/fxcrt/fx_basic.h
  function class (line 21) | class CFX_BinaryBuf : public CFX_Object
  function FX_BOOL (line 518) | FX_BOOL		InsertAt(int nStartIndex, const CFX_BasicArray* pNewArray)
  type CFX_ArrayTemplate (line 535) | typedef CFX_ArrayTemplate<FX_BYTE>		CFX_ByteArray;
  type CFX_ArrayTemplate (line 536) | typedef CFX_ArrayTemplate<FX_WORD>		CFX_WordArray;
  type CFX_ArrayTemplate (line 537) | typedef CFX_ArrayTemplate<FX_DWORD>		CFX_DWordArray;
  type CFX_ArrayTemplate (line 538) | typedef CFX_ArrayTemplate<void*>		CFX_PtrArray;
  type CFX_ArrayTemplate (line 539) | typedef CFX_ArrayTemplate<FX_FILESIZE>	CFX_FileSizeArray;
  type CFX_ArrayTemplate (line 540) | typedef CFX_ArrayTemplate<FX_FLOAT>		CFX_FloatArray;
  type CFX_ArrayTemplate (line 541) | typedef CFX_ArrayTemplate<FX_INT32>		CFX_Int32Array;
  function Add (line 553) | void			Add(const ObjectClass& data)
  function m_pData (line 733) | CFX_FixedBufGrow(int data_size) : m_pData(NULL)
  function SetDataSize (line 741) | void SetDataSize(int data_size)
  function operator (line 759) | operator DataType*()
  function operator (line 786) | operator DataType*()
  function class (line 793) | class CFX_MapPtrToPtr : public CFX_Object
  function FX_BOOL (line 876) | FX_BOOL	Lookup(KeyType key, ValueType& rValue) const
  function SetAt (line 891) | void SetAt(KeyType key, ValueType newValue)
  function FX_BOOL (line 896) | FX_BOOL	RemoveKey(KeyType key)
  function GetNextAssoc (line 901) | void GetNextAssoc(FX_POSITION& rNextPosition, KeyType& rKey, ValueType& ...
  function class (line 910) | class CFX_CMapDWordToDWord : public CFX_Object
  function class (line 1361) | class IFX_Pause
  function class (line 1367) | class CFX_DataFilter : public CFX_Object
  function operator (line 1410) | operator T*(void)
  type DataList (line 1431) | struct DataList {
  function Clear (line 1448) | void			Clear()
  function Append (line 1460) | void			Append(FX_INT32 nStart, FX_INT32 nCount)
  function FX_LPBYTE (line 1480) | FX_LPBYTE		GetAt(FX_INT32 nIndex)
  function Add (line 1550) | void			Add(FX_INT32 nStart, FX_INT32 nCount)

FILE: core/include/fxcrt/fx_coordinates.h
  type CFX_PSVTemplate (line 22) | typedef CFX_PSVTemplate<baseType>	FXT_POINT;
  type CFX_PSVTemplate (line 23) | typedef CFX_PSVTemplate<baseType>	FXT_SIZE;
  function Set (line 24) | void		Set(baseType x, baseType y)
  function Set (line 28) | void		Set(const FXT_PSV &psv)
  function Add (line 32) | void		Add(baseType x, baseType y)
  function Subtract (line 36) | void		Subtract(baseType x, baseType y)
  function Reset (line 40) | void		Reset()
  type CFX_PSVTemplate (line 113) | typedef CFX_PSVTemplate<FX_INT32>			CFX_Point;
  type CFX_PSVTemplate (line 114) | typedef CFX_PSVTemplate<FX_FLOAT>			CFX_PointF;
  type CFX_PSVTemplate (line 115) | typedef CFX_PSVTemplate<FX_INT32>			CFX_Size;
  type CFX_PSVTemplate (line 116) | typedef CFX_PSVTemplate<FX_FLOAT>			CFX_SizeF;
  type CFX_ArrayTemplate (line 117) | typedef CFX_ArrayTemplate<CFX_Point>		CFX_Points;
  type CFX_ArrayTemplate (line 118) | typedef CFX_ArrayTemplate<CFX_PointF>		CFX_PointsF;
  type CFX_PSVTemplate (line 119) | typedef CFX_PSVTemplate<FX_INT32> *			FX_LPPOINT;
  type CFX_PSVTemplate (line 120) | typedef CFX_PSVTemplate<FX_FLOAT> *			FX_LPPOINTF;
  type CFX_PSVTemplate (line 121) | typedef CFX_PSVTemplate<FX_INT32> const *	FX_LPCPOINT;
  type CFX_PSVTemplate (line 122) | typedef CFX_PSVTemplate<FX_FLOAT> const *	FX_LPCPOINTF;
  type CFX_PSVTemplate (line 129) | typedef CFX_PSVTemplate<baseType>	FXT_POINT;
  type CFX_PSVTemplate (line 130) | typedef CFX_PSVTemplate<baseType>	FXT_SIZE;
  type CFX_VTemplate (line 131) | typedef CFX_VTemplate<baseType>		FXT_VECTOR;
  function Set (line 132) | void		Set(baseType x, baseType y)
  function Set (line 136) | void		Set(const FXT_PSV &psv)
  function Set (line 140) | void		Set(const FXT_POINT &p1, const FXT_POINT &p2)
  function Reset (line 144) | void		Reset()
  function baseType (line 148) | baseType	SquareLength() const
  function Normalize (line 156) | void		Normalize()
  function baseType (line 163) | baseType	DotProduct(baseType x, baseType y) const
  function baseType (line 167) | baseType	DotProduct(const FXT_VECTOR &v) const
  function FX_BOOL (line 171) | FX_BOOL		IsParallel(baseType x, baseType y) const
  function FX_BOOL (line 176) | FX_BOOL		IsParallel(const FXT_VECTOR &v) const
  function FX_BOOL (line 180) | FX_BOOL		IsPerpendicular(baseType x, baseType y) const
  function FX_BOOL (line 185) | FX_BOOL		IsPerpendicular(const FXT_VECTOR &v) const
  function Translate (line 189) | void		Translate(baseType dx, baseType dy)
  function Scale (line 193) | void		Scale(baseType sx, baseType sy)
  function Rotate (line 197) | void		Rotate(FX_FLOAT fRadian)
  function friend (line 206) | friend	FX_FLOAT	Cosine(const FXT_VECTOR &v1, const FXT_VECTOR &v2)
  function friend (line 212) | friend	FX_FLOAT	ArcCosine(const FXT_VECTOR &v1, const FXT_VECTOR &v2)
  function friend (line 216) | friend	FX_FLOAT	SlopeAngle(const FXT_VECTOR &v)
  type CFX_VTemplate (line 224) | typedef CFX_VTemplate<FX_INT32> CFX_Vector;
  type CFX_VTemplate (line 225) | typedef CFX_VTemplate<FX_FLOAT> CFX_VectorF;
  type CFX_PSVTemplate (line 231) | typedef CFX_PSVTemplate<baseType>	FXT_SIZE;
  type CFX_VTemplate (line 232) | typedef CFX_VTemplate<baseType>		FXT_VECTOR;
  type CFX_PRLTemplate (line 233) | typedef CFX_PRLTemplate<baseType>	FXT_PARAL;
  type CFX_RTemplate (line 234) | typedef CFX_RTemplate<baseType>		FXT_RECT;
  function Set (line 235) | void		Set(baseType left, baseType top, baseType width, baseType height)
  function Set (line 239) | void		Set(baseType left, baseType top, const FXT_SIZE &size)
  function Set (line 243) | void		Set(const FXT_POINT &p, baseType width, baseType height)
  function Set (line 247) | void		Set(const FXT_POINT &p1, const FXT_POINT &p2)
  function Set (line 251) | void		Set(const FXT_POINT &p, const FXT_VECTOR &v)
  function Reset (line 255) | void		Reset()
  function Normalize (line 277) | void		Normalize()
  function Offset (line 288) | void		Offset(baseType dx, baseType dy)
  function Inflate (line 293) | void		Inflate(baseType x, baseType y)
  function Inflate (line 300) | void		Inflate(const FXT_POINT &p)
  function Inflate (line 304) | void		Inflate(baseType left, baseType top, baseType right, baseType bottom)
  function Inflate (line 311) | void		Inflate(const FXT_RECT &rt)
  function Deflate (line 315) | void		Deflate(baseType x, baseType y)
  function Deflate (line 322) | void		Deflate(const FXT_POINT &p)
  function Deflate (line 326) | void		Deflate(baseType left, baseType top, baseType right, baseType bottom)
  function Deflate (line 333) | void		Deflate(const FXT_RECT &rt)
  function FX_BOOL (line 341) | FX_BOOL		IsEmpty(FX_FLOAT fEpsilon) const
  function Empty (line 345) | void		Empty()
  function FX_BOOL (line 349) | FX_BOOL		Contains(baseType x, baseType y) const
  function FX_BOOL (line 353) | FX_BOOL		Contains(const FXT_POINT &p) const
  function FX_BOOL (line 357) | FX_BOOL		Contains(const FXT_RECT &rt) const
  function Size (line 375) | void		Size(FXT_SIZE s)
  function FXT_POINT (line 393) | FXT_POINT	BottomLeft() const
  function TopLeft (line 407) | void		TopLeft(FXT_POINT tl)
  function TopRight (line 412) | void		TopRight(FXT_POINT tr)
  function BottomLeft (line 417) | void		BottomLeft(FXT_POINT bl)
  function BottomRight (line 422) | void		BottomRight(FXT_POINT br)
  function GetParallelogram (line 434) | void		GetParallelogram(FXT_PARAL &pg) const
  function Union (line 440) | void		Union(baseType x, baseType y)
  function Union (line 458) | void		Union(const FXT_POINT &p)
  function Union (line 462) | void		Union(const FXT_RECT &rt)
  function Intersect (line 480) | void		Intersect(const FXT_RECT &rt)
  function FX_BOOL (line 498) | FX_BOOL		IntersectWith(const FXT_RECT &rt) const
  function FX_BOOL (line 504) | FX_BOOL		IntersectWith(const FXT_RECT &rt, FX_FLOAT fEpsilon) const
  type CFX_RTemplate (line 521) | typedef CFX_RTemplate<FX_INT32>			CFX_Rect;
  type CFX_RTemplate (line 522) | typedef CFX_RTemplate<FX_FLOAT>			CFX_RectF;
  type CFX_RTemplate (line 523) | typedef CFX_RTemplate<FX_INT32> *		FX_LPRECT;
  type CFX_RTemplate (line 524) | typedef CFX_RTemplate<FX_FLOAT> *		FX_LPRECTF;
  type CFX_RTemplate (line 525) | typedef CFX_RTemplate<FX_INT32> const *	FX_LPCRECT;
  type CFX_RTemplate (line 526) | typedef CFX_RTemplate<FX_FLOAT> const *	FX_LPCRECTF;
  type CFX_ArrayTemplate (line 527) | typedef CFX_ArrayTemplate<CFX_RectF>	CFX_RectFArray;
  type FX_RECT (line 528) | struct FX_RECT {
  function Intersect (line 567) | void		Intersect(int left1, int top1, int right1, int bottom1)
  function FX_BOOL (line 574) | FX_BOOL		operator == (const FX_RECT& src) const
  function Offset (line 579) | void		Offset(int dx, int dy)
  function FX_BOOL (line 587) | FX_BOOL		Contains(const FX_RECT& other_rect) const
  function FX_BOOL (line 592) | FX_BOOL		Contains(int x, int y) const
  type FX_SMALL_RECT (line 597) | struct FX_SMALL_RECT {
  function class (line 607) | class CFX_FloatRect : public CFX_Object
  function Reset (line 641) | void				Reset()
  function FX_RECT (line 656) | FX_RECT				GetInnerRect() const;
  function Inflate (line 682) | void				Inflate(FX_FLOAT x, FX_FLOAT y)
  function Inflate (line 691) | void				Inflate(FX_FLOAT left, FX_FLOAT bottom, FX_FLOAT right, FX_FLOAT...
  function Inflate (line 700) | void				Inflate(const CFX_FloatRect &rt)
  function Deflate (line 705) | void				Deflate(FX_FLOAT x, FX_FLOAT y)
  function Deflate (line 714) | void				Deflate(FX_FLOAT left, FX_FLOAT bottom, FX_FLOAT right, FX_FLOAT...
  function Deflate (line 723) | void				Deflate(const CFX_FloatRect &rt)
  function Translate (line 728) | void				Translate(FX_FLOAT e, FX_FLOAT f)
  function class (line 746) | class CFX_Matrix : public CFX_Object
  function SetIdentity (line 769) | void			SetIdentity()
  function Reset (line 782) | void			Reset()
  function Copy (line 787) | void			Copy(const CFX_Matrix& m)
  function FX_BOOL (line 796) | FX_BOOL			IsInvertible() const;
  function TransformRect (line 857) | void			TransformRect(CFX_FloatRect& rect) const

FILE: core/include/fxcrt/fx_ext.h
  function FX_BOOL (line 36) | inline FX_BOOL	FXSYS_islower(FX_INT32 ch)
  function FX_BOOL (line 40) | inline FX_BOOL	FXSYS_isupper(FX_INT32 ch)
  function FX_INT32 (line 44) | inline FX_INT32	FXSYS_tolower(FX_INT32 ch)
  function FX_INT32 (line 48) | inline FX_INT32 FXSYS_toupper(FX_INT32 ch)

FILE: core/include/fxcrt/fx_memory.h
  function class (line 27) | class CFX_Object
  function class (line 88) | class CFX_DestructObject : public CFX_Object
  function class (line 94) | class CFX_GrowOnlyPool : public CFX_Object

FILE: core/include/fxcrt/fx_stream.h
  function class (line 64) | class IFX_StreamWrite
  function class (line 72) | class IFX_FileWrite : public IFX_StreamWrite
  function class (line 90) | class IFX_StreamRead
  function class (line 102) | class IFX_FileRead : IFX_StreamRead
  function virtual (line 155) | virtual	FX_BOOL				WriteBlock(const void* buffer, size_t size)
  function virtual (line 172) | virtual FX_LPBYTE		GetBuffer() const = 0;

FILE: core/include/fxcrt/fx_string.h
  type CFX_CharMap (line 13) | struct CFX_CharMap
  type FX_STRSIZE (line 15) | typedef int FX_STRSIZE;
  function class (line 18) | class CFX_ByteStringC : public CFX_Object
  function operator (line 80) | bool			operator == (const CFX_ByteStringC& str) const
  function operator (line 85) | bool			operator != (const CFX_ByteStringC& str) const
  function FX_BYTE (line 118) | FX_BYTE			GetAt(FX_STRSIZE index) const
  function throw (line 143) | new (size_t) throw()
  type CFX_ByteStringC (line 148) | typedef const CFX_ByteStringC& FX_BSTR;
  type CFX_StringData (line 150) | struct CFX_StringData {
  function class (line 160) | class CFX_ByteString : public CFX_Object
  type CFX_StringBufTemplate (line 465) | typedef CFX_StringBufTemplate<256> CFX_StringBuf256;
  function class (line 466) | class CFX_WideStringC : public CFX_Object
  function operator (line 522) | bool			operator == (const CFX_WideStringC& str) const
  function operator (line 527) | bool			operator != (const CFX_WideStringC& str) const
  function FX_WCHAR (line 547) | FX_WCHAR		GetAt(FX_STRSIZE index) const
  function CFX_WideStringC (line 552) | CFX_WideStringC	Left(FX_STRSIZE count) const
  function CFX_WideStringC (line 577) | CFX_WideStringC	Right(FX_STRSIZE count) const
  function throw (line 594) | new (size_t) throw()
  type CFX_WideStringC (line 599) | typedef const CFX_WideStringC&	FX_WSTR;
  type CFX_StringDataW (line 601) | struct CFX_StringDataW {
  function class (line 611) | class CFX_WideString : public CFX_Object
  function FX_WCHAR (line 675) | FX_WCHAR				GetAt(FX_STRSIZE nIndex) const
  function FX_WCHAR (line 680) | FX_WCHAR				operator[](FX_STRSIZE nIndex) const
  function GetInteger (line 735) | int						GetInteger() const;
  function CFX_WideString (line 775) | inline CFX_WideString operator + (const CFX_WideStringC& str1, const CFX...
  function CFX_WideString (line 779) | inline CFX_WideString operator + (const CFX_WideStringC& str1, FX_LPCWST...
  function CFX_WideString (line 783) | inline CFX_WideString operator + (FX_LPCWSTR str1, const CFX_WideStringC...
  function CFX_WideString (line 787) | inline CFX_WideString operator + (const CFX_WideStringC& str1, FX_WCHAR ch)
  function CFX_WideString (line 791) | inline CFX_WideString operator + (FX_WCHAR ch, const CFX_WideStringC& str2)
  function CFX_WideString (line 795) | inline CFX_WideString operator + (const CFX_WideString& str1, const CFX_...
  function CFX_WideString (line 799) | inline CFX_WideString operator + (const CFX_WideString& str1, FX_WCHAR ch)
  function CFX_WideString (line 803) | inline CFX_WideString operator + (FX_WCHAR ch, const CFX_WideString& str2)
  function CFX_WideString (line 807) | inline CFX_WideString operator + (const CFX_WideString& str1, FX_LPCWSTR...
  function CFX_WideString (line 811) | inline CFX_WideString operator + (FX_LPCWSTR str1, const CFX_WideString&...
  function CFX_WideString (line 815) | inline CFX_WideString operator + (const CFX_WideString& str1, const CFX_...
  function CFX_WideString (line 819) | inline CFX_WideString operator + (const CFX_WideStringC& str1, const CFX...
  function CFX_ByteString (line 838) | inline CFX_ByteString	FX_UTF8Encode(FX_WSTR wsStr)
  function CFX_ByteString (line 842) | inline CFX_ByteString	FX_UTF8Encode(const CFX_WideString &wsStr)

FILE: core/include/fxcrt/fx_system.h
  type FX_INT8 (line 74) | typedef signed char				FX_INT8;
  type FX_UINT8 (line 75) | typedef unsigned char			FX_UINT8;
  type FX_BYTE (line 76) | typedef unsigned char			FX_BYTE;
  type FX_INT16 (line 79) | typedef short					FX_INT16;
  type FX_UINT16 (line 80) | typedef unsigned short			FX_UINT16;
  type FX_SHORT (line 81) | typedef short					FX_SHORT;
  type FX_WORD (line 82) | typedef unsigned short			FX_WORD;
  type FX_INT32 (line 85) | typedef int						FX_INT32;
  type FX_FLOAT (line 86) | typedef float					FX_FLOAT;
  type FX_BOOL (line 87) | typedef int						FX_BOOL;
  type FX_ERR (line 88) | typedef int						FX_ERR;
  type FX_CHAR (line 91) | typedef char					FX_CHAR;
  type FX_DWORD (line 94) | typedef unsigned int		FX_DWORD;
  type __int64 (line 97) | typedef __int64				FX_INT64;
  type FX_UINT64 (line 98) | typedef unsigned __int64	FX_UINT64;
  type FX_INT64 (line 100) | typedef long long int		FX_INT64;
  type FX_UINT64 (line 101) | typedef unsigned long long	FX_UINT64;
  type FX_INT64 (line 104) | typedef FX_INT64			FX_INTPTR;
  type FX_UINT64 (line 105) | typedef FX_UINT64			FX_UINTPTR;
  type FX_INTPTR (line 107) | typedef int					FX_INTPTR;
  type FX_UINTPTR (line 108) | typedef unsigned int		FX_UINTPTR;
  type wchar_t (line 110) | typedef wchar_t					FX_WCHAR;
  type wchar_t (line 111) | typedef wchar_t*				FX_LPWSTR;
  type wchar_t (line 112) | typedef wchar_t const*			FX_LPCWSTR;
  type FX_DWORD (line 113) | typedef FX_DWORD				FX_UINT32;
  type FX_UINT64 (line 114) | typedef FX_UINT64				FX_QWORD;

FILE: core/include/fxcrt/fx_ucd.h
  type FX_CHARBREAKPROP (line 9) | enum FX_CHARBREAKPROP {
  type FX_BIDICLASS (line 52) | enum FX_BIDICLASS {
  type FX_CHARTYPE (line 76) | enum FX_CHARTYPE {

FILE: core/include/fxcrt/fx_xml.h
  function class (line 12) | class CXML_AttrItem : public CFX_Object
  function class (line 19) | class CXML_AttrMap : public CFX_Object
  function class (line 38) | class CXML_Content : public CFX_Object
  function class (line 50) | class CXML_Element : public CFX_Object

FILE: core/include/fxge/fpf.h
  function class (line 12) | class IFPF_DeviceModule
  function virtual (line 29) | virtual FX_DWORD		GetFontStyle() const = 0;

FILE: core/include/fxge/fx_dib.h
  type FXDIB_Format (line 12) | enum FXDIB_Format {
  type FXDIB_Channel (line 29) | enum FXDIB_Channel {
  type FX_DWORD (line 65) | typedef FX_DWORD	FX_ARGB;
  type FX_DWORD (line 66) | typedef FX_DWORD	FX_COLORREF;
  type FX_DWORD (line 67) | typedef FX_DWORD	FX_CMYK;
  function FX_CMYK (line 82) | inline FX_CMYK CmykEncode(int c, int m, int y, int k)
  function FX_ARGB (line 88) | inline FX_ARGB ArgbEncode(int a, int r, int g, int b)
  function class (line 139) | class CFX_DIBSource : public CFX_Object
  function class (line 284) | class CFX_DIBitmap : public CFX_DIBSource
  function class (line 356) | class CFX_DIBExtractor : public CFX_Object
  type CFX_CountRef (line 372) | typedef CFX_CountRef<CFX_DIBitmap> CFX_DIBitmapRef;
  function class (line 373) | class CFX_FilteredDIB : public CFX_DIBSource
  function class (line 402) | class IFX_ScanlineComposer
  function class (line 411) | class CFX_ScanlineCompositor : public CFX_Object
  function CFX_DIBitmap (line 503) | CFX_DIBitmap*		GetBitmap()
  function class (line 515) | class CFX_ImageStretcher : public CFX_Object
  function class (line 552) | class CFX_ImageTransformer : public CFX_Object
  function class (line 573) | class CFX_ImageRenderer : public CFX_Object

FILE: core/include/fxge/fx_font.h
  type FT_FaceRec_ (line 15) | struct FT_FaceRec_
  function class (line 53) | class CFX_Font : public CFX_Object
  function class (line 148) | class IFX_FontEncoding : public CFX_Object
  function class (line 167) | class CFX_SubstFont : public CFX_Object
  type FoxitFonts (line 198) | typedef struct {
  function class (line 202) | class CFX_FontMgr : public CFX_Object
  function class (line 232) | class IFX_FontMapper : public CFX_Object
  function class (line 243) | class IFX_FontEnumerator
  function class (line 251) | class IFX_AdditionalFontEnum
  function class (line 257) | class CFX_FontMapper : public IFX_FontMapper
  function class (line 294) | class IFX_SystemFontInfo : public CFX_Object
  function class (line 315) | class CFX_FolderFontInfo : public IFX_SystemFontInfo
  function class (line 337) | class CFX_CountedFaceCache : public CFX_Object
  type CFX_MapPtrTemplate (line 343) | typedef CFX_MapPtrTemplate<FXFT_Face, CFX_CountedFaceCache*> CFX_FTCache...
  function class (line 344) | class CFX_FontCache : public CFX_Object
  function class (line 356) | class CFX_AutoFontCache
  function class (line 372) | class CFX_GlyphBitmap : public CFX_Object
  function class (line 379) | class CFX_FaceCache : public CFX_Object
  type FXTEXT_GLYPHPOS (line 411) | typedef struct {
  function class (line 421) | class IFX_GSUBTable

FILE: core/include/fxge/fx_freetype.h
  type FT_MM_Var (line 41) | typedef FT_MM_Var*		FXFT_MM_Var;
  type FT_Bitmap (line 42) | typedef FT_Bitmap*		FXFT_Bitmap;
  type FT_Open_Args (line 46) | typedef FT_Open_Args	FXFT_Open_Args;
  type FT_StreamRec (line 47) | typedef FT_StreamRec	FXFT_StreamRec;
  type FT_StreamRec (line 48) | typedef FT_StreamRec*	FXFT_Stream;
  type FT_BBox (line 49) | typedef FT_BBox			FXFT_BBox;
  type FT_Glyph (line 50) | typedef FT_Glyph		FXFT_Glyph;
  type FT_CharMap (line 51) | typedef FT_CharMap		FXFT_CharMap;

FILE: core/include/fxge/fx_ge.h
  function class (line 26) | class CFX_GEModule : public CFX_Object
  type FX_PATHPOINT (line 75) | typedef struct {
  function class (line 90) | class CFX_ClipRgn : public CFX_Object
  function FX_ARGB (line 141) | inline FX_ARGB ArgbGamma(FX_ARGB argb)
  function FX_ARGB (line 145) | inline FX_ARGB ArgbGammaInverse(FX_ARGB argb)
  function GetFlag (line 167) | int					GetFlag(int index) const
  function FX_FLOAT (line 172) | FX_FLOAT			GetPointX(int index) const
  function FX_FLOAT (line 177) | FX_FLOAT			GetPointY(int index) const
  function FX_PATHPOINT (line 184) | FX_PATHPOINT*		GetPoints() const
  function CFX_FloatRect (line 195) | CFX_FloatRect		GetBoundingBox() const;
  type FXTEXT_CHARPOS (line 299) | typedef struct {
  function class (line 308) | class CFX_RenderDevice : public CFX_Object
  function class (line 478) | class CFX_FxgeDevice : public CFX_RenderDevice
  function class (line 493) | class CFX_SkiaDevice : public CFX_RenderDevice
  function class (line 508) | class IFX_RenderDeviceDriver : public CFX_Object
  function class (line 637) | class IFX_PSOutput
  function class (line 645) | class CFX_PSRenderer : public CFX_Object

FILE: core/include/fxge/fx_ge_apple.h
  function class (line 10) | class CFX_QuartzDevice : public CFX_RenderDevice

FILE: core/include/fxge/fx_ge_win32.h
  type WINDIB_Open_Args_ (line 15) | typedef struct  WINDIB_Open_Args_ {
  function class (line 25) | class CFX_WindowsDIB : public CFX_DIBitmap
  function HDC (line 78) | HDC		GetDC() const;

FILE: core/include/reflow/fpdf_layout.h
  type LayoutType (line 12) | typedef enum {
  type LayoutAttr (line 65) | typedef enum {
  type LayoutEnum (line 111) | typedef enum {
  function class (line 176) | class IPDF_LayoutElement
  type LayoutStatus (line 208) | typedef enum {
  function class (line 218) | class IPDF_LayoutProcessor
  type LAYOUTPROVIDER_STYLE (line 248) | typedef struct _LayoutProviderStyle {
  function class (line 257) | class IPDF_LayoutProvider

FILE: core/include/reflow/reflowengine.h
  function class (line 14) | class IPDF_ReflowedPage
  type RF_ParseStyle (line 29) | typedef struct _RF_ParseStyle {
  function class (line 36) | class IPDF_ProgressiveReflowPageParser
  function class (line 55) | class IPDF_ProgressiveReflowPageRender

FILE: core/include/thirdparties/freetype/freetype/config/ftconfig.h
  type FT_Int16 (line 162) | typedef signed short  FT_Int16;
  type FT_UInt16 (line 173) | typedef unsigned short  FT_UInt16;
  type FT_Int32 (line 190) | typedef signed XXX  FT_Int32;
  type FT_UInt32 (line 201) | typedef unsigned XXX  FT_UInt32;
  type FT_Int64 (line 213) | typedef signed XXX  FT_Int64;
  type FT_UInt64 (line 225) | typedef unsigned XXX  FT_UInt64;
  type FT_Int32 (line 233) | typedef signed int      FT_Int32;
  type FT_UInt32 (line 234) | typedef unsigned int    FT_UInt32;
  type FT_Int32 (line 238) | typedef signed long     FT_Int32;
  type FT_UInt32 (line 239) | typedef unsigned long   FT_UInt32;
  type FT_Fast (line 249) | typedef int            FT_Fast;
  type FT_UFast (line 250) | typedef unsigned int   FT_UFast;
  type FT_Fast (line 254) | typedef long           FT_Fast;
  type FT_UFast (line 255) | typedef unsigned long  FT_UFast;
  type FT_INT64 (line 326) | typedef FT_INT64   FT_Int64;
  type FT_UINT64 (line 327) | typedef FT_UINT64  FT_UInt64;
  function FT_Int32 (line 377) | static __inline__ FT_Int32
  function FT_Int32 (line 405) | static __inline__ FT_Int32

FILE: core/include/thirdparties/freetype/freetype/freetype.h
  type FT_Glyph_Metrics_ (line 244) | struct  FT_Glyph_Metrics_
  type FT_Bitmap_Size (line 298) | typedef struct  FT_Bitmap_Size_
  type FT_LibraryRec_ (line 341) | struct FT_LibraryRec_
  type FT_ModuleRec_ (line 354) | struct FT_ModuleRec_
  type FT_DriverRec_ (line 366) | struct FT_DriverRec_
  type FT_RendererRec_ (line 380) | struct FT_RendererRec_
  type FT_FaceRec_ (line 405) | struct FT_FaceRec_
  type FT_SizeRec_ (line 435) | struct FT_SizeRec_
  type FT_GlyphSlotRec_ (line 456) | struct FT_GlyphSlotRec_
  type FT_CharMapRec_ (line 488) | struct FT_CharMapRec_
  type FT_Encoding (line 661) | typedef enum  FT_Encoding_
  type FT_CharMapRec (line 742) | typedef struct  FT_CharMapRec_
  type FT_Face_InternalRec_ (line 773) | struct FT_Face_InternalRec_
  type FT_FaceRec (line 921) | typedef struct  FT_FaceRec_
  type FT_Size_InternalRec_ (line 1315) | struct FT_Size_InternalRec_
  type FT_Size_Metrics (line 1373) | typedef struct  FT_Size_Metrics_
  type FT_SizeRec (line 1408) | typedef struct  FT_SizeRec_
  type FT_SubGlyphRec_ (line 1434) | struct FT_SubGlyphRec_
  type FT_Slot_InternalRec_ (line 1446) | struct FT_Slot_InternalRec_
  type FT_GlyphSlotRec (line 1618) | typedef struct  FT_GlyphSlotRec_
  type FT_Parameter (line 1779) | typedef struct  FT_Parameter_
  type FT_Open_Args (line 1845) | typedef struct  FT_Open_Args_
  type FT_Size_Request_Type (line 2165) | typedef enum  FT_Size_Request_Type_
  type FT_Size_RequestRec (line 2205) | typedef struct  FT_Size_RequestRec_
  type FT_Size_RequestRec_ (line 2224) | struct FT_Size_RequestRec_
  type FT_Render_Mode (line 2770) | typedef enum  FT_Render_Mode_
  type FT_Kerning_Mode (line 2846) | typedef enum  FT_Kerning_Mode_

FILE: core/include/thirdparties/freetype/freetype/ftautoh.h
  type FT_Prop_GlyphToScriptMap (line 248) | typedef struct  FT_Prop_GlyphToScriptMap_
  type FT_Prop_IncreaseXHeight (line 342) | typedef struct  FT_Prop_IncreaseXHeight_

FILE: core/include/thirdparties/freetype/freetype/ftbdf.h
  type BDF_PropertyType_ (line 74) | enum  BDF_PropertyType_
  type BDF_PropertyRec_ (line 93) | struct BDF_PropertyRec_
  type BDF_PropertyRec (line 117) | typedef struct  BDF_PropertyRec_

FILE: core/include/thirdparties/freetype/freetype/ftcache.h
  type FT_Error (line 209) | typedef FT_Error
  type FTC_ManagerRec_ (line 250) | struct FTC_ManagerRec_
  type FTC_NodeRec_ (line 270) | struct FTC_NodeRec_
  type FTC_ScalerRec (line 425) | typedef struct  FTC_ScalerRec_
  type FTC_ScalerRec_ (line 445) | struct FTC_ScalerRec_
  type FTC_CMapCacheRec_ (line 560) | struct FTC_CMapCacheRec_
  type FTC_ImageTypeRec (line 667) | typedef struct  FTC_ImageTypeRec_
  type FTC_ImageTypeRec_ (line 686) | struct FTC_ImageTypeRec_
  type FTC_ImageCacheRec_ (line 708) | struct FTC_ImageCacheRec_
  type FTC_SBitRec_ (line 849) | struct FTC_SBitRec_
  type FTC_SBitRec (line 887) | typedef struct  FTC_SBitRec_
  type FTC_SBitCacheRec_ (line 916) | struct FTC_SBitCacheRec_

FILE: core/include/thirdparties/freetype/freetype/ftglyph.h
  type FT_Glyph_Class_ (line 69) | struct FT_Glyph_Class_
  type FT_GlyphRec_ (line 87) | struct FT_GlyphRec_
  type FT_GlyphRec (line 108) | typedef struct  FT_GlyphRec_
  type FT_BitmapGlyphRec_ (line 127) | struct FT_BitmapGlyphRec_
  type FT_BitmapGlyphRec (line 160) | typedef struct  FT_BitmapGlyphRec_
  type FT_OutlineGlyphRec_ (line 179) | struct FT_OutlineGlyphRec_
  type FT_OutlineGlyphRec (line 208) | typedef struct  FT_OutlineGlyphRec_
  type FT_Glyph_BBox_Mode (line 317) | typedef enum  FT_Glyph_BBox_Mode_

FILE: core/include/thirdparties/freetype/freetype/ftimage.h
  type FT_Vector (line 74) | typedef struct  FT_Vector_
  type FT_BBox (line 115) | typedef struct  FT_BBox_
  type FT_Pixel_Mode (line 180) | typedef enum  FT_Pixel_Mode_
  type FT_Palette_Mode (line 244) | typedef enum  FT_Palette_Mode_
  type FT_Bitmap (line 319) | typedef struct  FT_Bitmap_
  type FT_Outline (line 392) | typedef struct  FT_Outline_
  type FT_Outline_Funcs (line 700) | typedef struct  FT_Outline_Funcs_
  type FT_Glyph_Format (line 787) | typedef enum  FT_Glyph_Format_
  type FT_RasterRec_ (line 871) | struct FT_RasterRec_
  type FT_Span (line 900) | typedef struct  FT_Span_
  type FT_Raster_Params (line 1113) | typedef struct  FT_Raster_Params_
  type FT_Raster_Funcs (line 1297) | typedef struct  FT_Raster_Funcs_

FILE: core/include/thirdparties/freetype/freetype/ftincrem.h
  type FT_IncrementalRec_ (line 84) | struct FT_IncrementalRec_
  type FT_Incremental_MetricsRec (line 115) | typedef struct  FT_Incremental_MetricsRec_
  type FT_Incremental_MetricsRec_ (line 134) | struct FT_Incremental_MetricsRec_
  type FT_Error (line 178) | typedef FT_Error
  type FT_Error (line 240) | typedef FT_Error
  type FT_Incremental_FuncsRec (line 269) | typedef struct  FT_Incremental_FuncsRec_
  type FT_Incremental_InterfaceRec (line 314) | typedef struct  FT_Incremental_InterfaceRec_
  type FT_Incremental_InterfaceRec (line 331) | typedef FT_Incremental_InterfaceRec*   FT_Incremental_Interface;

FILE: core/include/thirdparties/freetype/freetype/ftlcdfil.h
  type FT_LcdFilter_ (line 132) | enum  FT_LcdFilter_

FILE: core/include/thirdparties/freetype/freetype/ftmm.h
  type FT_MM_Axis_ (line 73) | struct  FT_MM_Axis_
  type FT_Multi_Master (line 103) | typedef struct  FT_Multi_Master_
  type FT_Var_Axis (line 140) | typedef struct  FT_Var_Axis_
  type FT_Var_Named_Style (line 170) | typedef struct  FT_Var_Named_Style_
  type FT_MM_Var (line 210) | typedef struct  FT_MM_Var_

FILE: core/include/thirdparties/freetype/freetype/ftmodapi.h
  type FT_Pointer (line 106) | typedef FT_Pointer  FT_Module_Interface;
  type FT_Error (line 120) | typedef FT_Error
  type FT_Module_Interface (line 152) | typedef FT_Module_Interface
  type FT_Module_Class (line 186) | typedef struct  FT_Module_Class_
  type FT_TrueTypeEngineType (line 600) | typedef enum  FT_TrueTypeEngineType_

FILE: core/include/thirdparties/freetype/freetype/ftoutln.h
  function FT_BEGIN_HEADER (line 34) | FT_BEGIN_HEADER

FILE: core/include/thirdparties/freetype/freetype/ftrender.h
  type FT_Error (line 57) | typedef FT_Error
  type FT_Error (line 61) | typedef FT_Error
  type FT_Glyph_Class_ (line 74) | struct  FT_Glyph_Class_
  type FT_Error (line 87) | typedef FT_Error
  type FT_Error (line 93) | typedef FT_Error
  type FT_Error (line 106) | typedef FT_Error
  type FT_Renderer_Class (line 144) | typedef struct  FT_Renderer_Class_

FILE: core/include/thirdparties/freetype/freetype/ftsnames.h
  type FT_SfntName_ (line 98) | struct  FT_SfntName_

FILE: core/include/thirdparties/freetype/freetype/ftstroke.h
  type FT_StrokerRec_ (line 60) | struct FT_StrokerRec_
  type FT_Stroker_LineJoin (line 109) | typedef enum  FT_Stroker_LineJoin_
  type FT_Stroker_LineCap (line 142) | typedef enum  FT_Stroker_LineCap_
  type FT_StrokerBorder (line 176) | typedef enum  FT_StrokerBorder_

FILE: core/include/thirdparties/freetype/freetype/ftsystem.h
  type FT_MemoryRec_ (line 66) | struct FT_MemoryRec_
  type FT_MemoryRec_ (line 177) | struct  FT_MemoryRec_
  type FT_StreamRec_ (line 203) | struct FT_StreamRec_
  type FT_StreamDesc (line 216) | typedef union  FT_StreamDesc_
  type FT_StreamRec (line 328) | typedef struct  FT_StreamRec_

FILE: core/include/thirdparties/freetype/freetype/fttypes.h
  type FT_FWord (line 116) | typedef signed short  FT_FWord;
  type FT_UFWord (line 128) | typedef unsigned short  FT_UFWord;
  type FT_Char (line 139) | typedef signed char  FT_Char;
  type FT_Byte (line 150) | typedef unsigned char  FT_Byte;
  type FT_Byte (line 161) | typedef const FT_Byte*  FT_Bytes;
  type FT_UInt32 (line 172) | typedef FT_UInt32  FT_Tag;
  type FT_String (line 183) | typedef char  FT_String;
  type FT_Short (line 194) | typedef signed short  FT_Short;
  type FT_UShort (line 205) | typedef unsigned short  FT_UShort;
  type FT_Int (line 216) | typedef signed int  FT_Int;
  type FT_UInt (line 227) | typedef unsigned int  FT_UInt;
  type FT_Long (line 238) | typedef signed long  FT_Long;
  type FT_ULong (line 249) | typedef unsigned long  FT_ULong;
  type FT_F2Dot14 (line 260) | typedef signed short  FT_F2Dot14;
  type FT_F26Dot6 (line 272) | typedef signed long  FT_F26Dot6;
  type FT_Fixed (line 284) | typedef signed long  FT_Fixed;
  type FT_Error (line 296) | typedef int  FT_Error;
  type FT_Offset (line 320) | typedef size_t  FT_Offset;
  type ft_ptrdiff_t (line 333) | typedef ft_ptrdiff_t  FT_PtrDist;
  type FT_UnitVector (line 350) | typedef struct  FT_UnitVector_
  type FT_Matrix (line 381) | typedef struct  FT_Matrix_
  type FT_Data (line 402) | typedef struct  FT_Data_
  type FT_Generic (line 455) | typedef struct  FT_Generic_
  type FT_ListNodeRec_ (line 511) | struct FT_ListNodeRec_
  type FT_ListRec_ (line 522) | struct FT_ListRec_
  type FT_ListNodeRec (line 540) | typedef struct  FT_ListNodeRec_
  type FT_ListRec (line 563) | typedef struct  FT_ListRec_

FILE: core/include/thirdparties/freetype/freetype/ftwinfnt.h
  type FT_WinFNT_HeaderRec (line 183) | typedef struct  FT_WinFNT_HeaderRec_
  type FT_WinFNT_HeaderRec_ (line 233) | struct FT_WinFNT_HeaderRec_

FILE: core/include/thirdparties/freetype/freetype/internal/autohint.h
  type FT_AutoHinterRec_ (line 80) | struct FT_AutoHinterRec_
  type FT_Error (line 174) | typedef FT_Error
  type FT_AutoHinter_InterfaceRec (line 190) | typedef struct  FT_AutoHinter_InterfaceRec_

FILE: core/include/thirdparties/freetype/freetype/internal/ftdebug.h
  type FT_Trace (line 57) | typedef enum  FT_Trace_

FILE: core/include/thirdparties/freetype/freetype/internal/ftdriver.h
  type FT_Error (line 41) | typedef FT_Error
  type FT_Error (line 48) | typedef FT_Error
  type FT_Error (line 55) | typedef FT_Error
  type FT_Error (line 59) | typedef FT_Error
  type FT_Error (line 63) | typedef FT_Error
  type FT_UInt (line 70) | typedef FT_UInt
  type FT_Long (line 74) | typedef FT_Long
  type FT_Error (line 79) | typedef FT_Error
  type FT_Error (line 86) | typedef FT_Error
  type FT_Error (line 91) | typedef FT_Error
  type FT_Driver_ClassRec (line 166) | typedef struct  FT_Driver_ClassRec_

FILE: core/include/thirdparties/freetype/freetype/internal/ftgloadr.h
  type FT_GlyphLoaderRec_ (line 43) | struct FT_GlyphLoaderRec_
  type FT_SubGlyphRec (line 57) | typedef struct  FT_SubGlyphRec_
  type FT_GlyphLoadRec (line 68) | typedef struct  FT_GlyphLoadRec_
  type FT_GlyphLoaderRec (line 79) | typedef struct  FT_GlyphLoaderRec_

FILE: core/include/thirdparties/freetype/freetype/internal/ftmemory.h
  function T (line 69) | T*

FILE: core/include/thirdparties/freetype/freetype/internal/ftobjs.h
  type FT_CMapRec_ (line 125) | struct FT_CMapRec_
  type FT_CMap_ClassRec_ (line 128) | struct FT_CMap_ClassRec_
  type FT_CMapRec (line 131) | typedef struct  FT_CMapRec_
  type FT_Error (line 149) | typedef FT_Error
  type FT_UInt (line 156) | typedef FT_UInt
  type FT_UInt (line 160) | typedef FT_UInt
  type FT_UInt (line 164) | typedef FT_UInt
  type FT_Bool (line 170) | typedef FT_Bool
  type FT_UInt32 (line 175) | typedef FT_UInt32 *
  type FT_UInt32 (line 179) | typedef FT_UInt32 *
  type FT_UInt32 (line 184) | typedef FT_UInt32 *
  type FT_CMap_ClassRec (line 190) | typedef struct  FT_CMap_ClassRec_
  type FT_Face_InternalRec (line 353) | typedef struct  FT_Face_InternalRec_
  type FT_GlyphSlot_InternalRec (line 407) | typedef struct  FT_Slot_InternalRec_
  type FT_Size_InternalRec (line 432) | typedef struct  FT_Size_InternalRec_
  type FT_ModuleRec (line 469) | typedef struct  FT_ModuleRec_
  type FT_RendererRec (line 688) | typedef struct  FT_RendererRec_
  type FT_DriverRec (line 745) | typedef struct  FT_DriverRec_
  type FT_LibraryRec (line 854) | typedef struct  FT_LibraryRec_
  type FT_Error (line 904) | typedef FT_Error
  type FT_UInt (line 910) | typedef FT_UInt
  type FT_Error (line 1342) | typedef FT_Error

FILE: core/include/thirdparties/freetype/freetype/internal/ftpic.h
  type FT_PIC_Container (line 34) | typedef struct  FT_PIC_Container_

FILE: core/include/thirdparties/freetype/freetype/internal/ftrfork.h
  type FT_RFork_Ref (line 44) | typedef struct  FT_RFork_Ref_
  type FT_Error (line 52) | typedef FT_Error
  type FT_RFork_Rule (line 59) | typedef enum  FT_RFork_Rule_ {
  type ft_raccess_guess_rec (line 77) | typedef struct ft_raccess_guess_rec_ {

FILE: core/include/thirdparties/freetype/freetype/internal/ftserv.h
  type FT_ServiceDescRec (line 150) | typedef struct  FT_ServiceDescRec_
  type FT_ServiceDescRec (line 157) | typedef const FT_ServiceDescRec*  FT_ServiceDesc;
  type FT_ServiceCacheRec (line 634) | typedef struct  FT_ServiceCacheRec_

FILE: core/include/thirdparties/freetype/freetype/internal/ftstream.h
  type FT_Frame_Op (line 57) | typedef enum  FT_Frame_Op_
  type FT_Frame_Field (line 86) | typedef struct  FT_Frame_Field_

FILE: core/include/thirdparties/freetype/freetype/internal/ftvalid.h
  type FT_ValidatorRec_ (line 42) | struct FT_ValidatorRec_
  type FT_ValidationLevel (line 70) | typedef enum  FT_ValidationLevel_
  type FT_ValidatorRec (line 88) | typedef struct  FT_ValidatorRec_

FILE: core/include/thirdparties/freetype/freetype/internal/psaux.h
  type PS_TableRec_ (line 42) | struct PS_TableRec_
  type PS_Table_FuncsRec_ (line 43) | struct PS_Table_FuncsRec_
  type PS_Table_FuncsRec (line 63) | typedef struct  PS_Table_FuncsRec_
  type PS_TableRec (line 120) | typedef struct  PS_TableRec_
  type PS_ParserRec_ (line 146) | struct PS_ParserRec_
  type T1_TokenRec_ (line 148) | struct T1_TokenRec_
  type T1_FieldRec_ (line 150) | struct T1_FieldRec_
  type T1_TokenType (line 154) | typedef enum  T1_TokenType_
  type T1_TokenRec (line 169) | typedef struct  T1_TokenRec_
  type T1_FieldType (line 179) | typedef enum  T1_FieldType_
  type T1_FieldLocation (line 200) | typedef enum  T1_FieldLocation_
  type T1_FieldRec (line 224) | typedef struct  T1_FieldRec_
  type PS_Parser_FuncsRec_ (line 340) | struct PS_Parser_FuncsRec_
  type PS_Parser_FuncsRec (line 342) | typedef struct  PS_Parser_FuncsRec_
  type PS_ParserRec (line 428) | typedef struct  PS_ParserRec_
  type T1_BuilderRec_ (line 450) | struct T1_BuilderRec_
  type FT_Error (line 453) | typedef FT_Error
  type FT_Error (line 463) | typedef FT_Error
  type FT_Error (line 468) | typedef FT_Error
  type FT_Error (line 471) | typedef FT_Error
  type T1_Builder_FuncsRec_ (line 480) | struct T1_Builder_FuncsRec_
  type T1_Builder_FuncsRec (line 482) | typedef struct  T1_Builder_FuncsRec_
  type T1_ParseState (line 505) | typedef enum  T1_ParseState_
  type T1_BuilderRec (line 563) | typedef struct  T1_BuilderRec_
  type T1_Decoder_ZoneRec (line 621) | typedef struct  T1_Decoder_ZoneRec_
  type T1_DecoderRec_ (line 630) | struct T1_DecoderRec_
  type T1_Decoder_FuncsRec_ (line 631) | struct T1_Decoder_FuncsRec_
  type FT_Error (line 634) | typedef FT_Error
  type T1_Decoder_FuncsRec (line 639) | typedef struct  T1_Decoder_FuncsRec_
  type T1_DecoderRec (line 663) | typedef struct  T1_DecoderRec_
  type AFM_ParserRec_ (line 712) | struct AFM_ParserRec_
  type AFM_Parser_FuncsRec (line 714) | typedef struct  AFM_Parser_FuncsRec_
  type AFM_StreamRec_ (line 731) | struct AFM_StreamRec_
  type AFM_ParserRec (line 753) | typedef struct  AFM_ParserRec_
  type T1_CMap_ClassesRec_ (line 778) | struct T1_CMap_ClassesRec_
  type T1_CMap_ClassesRec (line 780) | typedef struct T1_CMap_ClassesRec_
  type PSAux_ServiceRec (line 798) | typedef struct  PSAux_ServiceRec_
  type PSAux_ServiceRec (line 819) | typedef PSAux_ServiceRec   PSAux_Interface;

FILE: core/include/thirdparties/freetype/freetype/internal/pshints.h
  type PSH_GlobalsRec_ (line 41) | struct PSH_GlobalsRec_
  type FT_Error (line 43) | typedef FT_Error
  type FT_Error (line 48) | typedef FT_Error
  type PSH_Globals_FuncsRec (line 59) | typedef struct  PSH_Globals_FuncsRec_
  type T1_HintsRec_ (line 104) | struct T1_HintsRec_
  type T1_Hints_FuncsRec_ (line 117) | struct T1_Hints_FuncsRec_
  type FT_Error (line 265) | typedef FT_Error
  type FT_Error (line 304) | typedef FT_Error
  type T1_Hints_FuncsRec (line 342) | typedef struct  T1_Hints_FuncsRec_
  type T2_HintsRec_ (line 391) | struct T2_HintsRec_
  type T2_Hints_FuncsRec_ (line 404) | struct T2_Hints_FuncsRec_
  type FT_Error (line 579) | typedef FT_Error
  type FT_Error (line 618) | typedef FT_Error
  type T2_Hints_FuncsRec (line 656) | typedef struct  T2_Hints_FuncsRec_
  type PSHinter_Interface (line 672) | typedef struct  PSHinter_Interface_
  type PSHinter_Interface (line 680) | typedef PSHinter_Interface*  PSHinter_Service;

FILE: core/include/thirdparties/freetype/freetype/internal/services/svbdf.h
  type FT_Error (line 31) | typedef FT_Error
  type FT_Error (line 36) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 42) | FT_DEFINE_SERVICE( BDF )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svcid.h
  type FT_Error (line 29) | typedef FT_Error
  type FT_Error (line 34) | typedef FT_Error
  type FT_Error (line 37) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 42) | FT_DEFINE_SERVICE( CID )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svgldict.h
  type FT_Error (line 37) | typedef FT_Error
  type FT_UInt (line 43) | typedef FT_UInt
  function FT_DEFINE_SERVICE (line 48) | FT_DEFINE_SERVICE( GlyphDict )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svgxval.h
  type FT_Error (line 40) | typedef FT_Error
  type FT_Error (line 47) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 53) | FT_DEFINE_SERVICE( GXvalidate )
  function FT_DEFINE_SERVICE (line 58) | FT_DEFINE_SERVICE( CKERNvalidate )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svkern.h
  type FT_Error (line 31) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 37) | FT_DEFINE_SERVICE( Kerning )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svmm.h
  type FT_Error (line 38) | typedef FT_Error
  type FT_Error (line 42) | typedef FT_Error
  type FT_Error (line 46) | typedef FT_Error
  type FT_Error (line 51) | typedef FT_Error
  type FT_Error (line 56) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 62) | FT_DEFINE_SERVICE( MultiMasters )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svotval.h
  type FT_Error (line 31) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 41) | FT_DEFINE_SERVICE( OTvalidate )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svpfr.h
  type FT_Error (line 32) | typedef FT_Error
  type FT_Error (line 39) | typedef FT_Error
  type FT_Error (line 45) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 51) | FT_DEFINE_SERVICE( PfrMetrics )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svpostnm.h
  function FT_DEFINE_SERVICE (line 44) | FT_DEFINE_SERVICE( PsFontName )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svprop.h
  type FT_Error (line 29) | typedef FT_Error
  type FT_Error (line 34) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 40) | FT_DEFINE_SERVICE( Properties )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svpscmap.h
  type FT_UInt32 (line 34) | typedef FT_UInt32
  type PS_UniMap (line 54) | typedef struct  PS_UniMap_
  type PS_UnicodesRec_ (line 62) | struct PS_UnicodesRec_
  type PS_UnicodesRec (line 64) | typedef struct  PS_UnicodesRec_
  type FT_Error (line 89) | typedef FT_Error
  type FT_UInt (line 97) | typedef FT_UInt
  type FT_UInt32 (line 101) | typedef FT_UInt32
  function FT_DEFINE_SERVICE (line 106) | FT_DEFINE_SERVICE( PsCMaps )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svpsinfo.h
  type FT_Error (line 32) | typedef FT_Error
  type FT_Error (line 36) | typedef FT_Error
  type FT_Int (line 40) | typedef FT_Int
  type FT_Error (line 43) | typedef FT_Error
  type FT_Long (line 47) | typedef FT_Long
  function FT_DEFINE_SERVICE (line 55) | FT_DEFINE_SERVICE( PsInfo )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svsfnt.h
  type FT_Error (line 39) | typedef FT_Error
  type FT_Error (line 57) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 65) | FT_DEFINE_SERVICE( SFNT_Table )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svttcmap.h
  type TT_CMapInfo (line 59) | typedef struct  TT_CMapInfo_
  type FT_Error (line 67) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 72) | FT_DEFINE_SERVICE( TTCMaps )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svtteng.h
  function FT_DEFINE_SERVICE (line 39) | FT_DEFINE_SERVICE( TrueTypeEngine )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svttglyf.h
  type FT_ULong (line 30) | typedef FT_ULong
  function FT_DEFINE_SERVICE (line 35) | FT_DEFINE_SERVICE( TTGlyf )

FILE: core/include/thirdparties/freetype/freetype/internal/services/svwinfnt.h
  type FT_Error (line 31) | typedef FT_Error
  function FT_DEFINE_SERVICE (line 36) | FT_DEFINE_SERVICE( WinFnt )

FILE: core/include/thirdparties/freetype/freetype/internal/sfnt.h
  type FT_Error (line 102) | typedef FT_Error
  type FT_Error (line 168) | typedef FT_Error
  type FT_Error (line 204) | typedef FT_Error
  type FT_Error (line 240) | typedef FT_Error
  type FT_Error (line 285) | typedef FT_Error
  type FT_Error (line 315) | typedef FT_Error
  type FT_Error (line 341) | typedef FT_Error
  type FT_Error (line 366) | typedef FT_Error
  type FT_Error (line 391) | typedef FT_Error
  type FT_Error (line 415) | typedef FT_Error
  type FT_Error (line 443) | typedef FT_Error
  type FT_Int (line 478) | typedef FT_Int
  type SFNT_Interface (line 496) | typedef struct  SFNT_Interface_
  type SFNT_Interface (line 559) | typedef SFNT_Interface*   SFNT_Service;

FILE: core/include/thirdparties/freetype/freetype/internal/t1types.h
  type T1_EncodingRecRec_ (line 69) | struct  T1_EncodingRecRec_
  type PS_FontExtraRec (line 86) | typedef struct  PS_FontExtraRec_
  type T1_FontRec (line 93) | typedef struct  T1_FontRec_
  type CID_SubrsRec (line 128) | typedef struct  CID_SubrsRec_
  type AFM_TrackKernRec (line 148) | typedef struct  AFM_TrackKernRec_
  type AFM_KernPairRec (line 158) | typedef struct  AFM_KernPairRec_
  type AFM_FontInfoRec (line 167) | typedef struct  AFM_FontInfoRec_
  type T1_FaceRec_ (line 194) | struct T1_FaceRec_
  type CID_FaceRec_ (line 195) | struct CID_FaceRec_
  type T1_FaceRec (line 198) | typedef struct  T1_FaceRec_
  type CID_FaceRec (line 228) | typedef struct  CID_FaceRec_

FILE: core/include/thirdparties/freetype/freetype/internal/tttypes.h
  type TTC_HeaderRec_ (line 70) | struct  TTC_HeaderRec_
  type SFNT_HeaderRec (line 99) | typedef struct  SFNT_HeaderRec_
  type TT_TableRec (line 130) | typedef struct  TT_TableRec_
  type TT_LongMetricsRec (line 154) | typedef struct  TT_LongMetricsRec_
  type FT_Short (line 171) | typedef FT_Short  TT_ShortMetrics;
  type TT_NameEntryRec (line 201) | typedef struct  TT_NameEntryRec_
  type TT_NameTableRec (line 238) | typedef struct  TT_NameTableRec_
  type TT_GaspRangeRec (line 277) | typedef struct  TT_GaspRangeRec_
  type TT_GaspRec (line 305) | typedef struct  TT_Gasp_
  type TT_SBit_MetricsRec (line 354) | typedef struct  TT_SBit_MetricsRec_
  type TT_SBit_SmallMetricsRec (line 391) | typedef struct  TT_SBit_Small_Metrics_
  type TT_SBit_LineMetricsRec (line 454) | typedef struct  TT_SBit_LineMetricsRec_
  type TT_SBit_RangeRec (line 508) | typedef struct  TT_SBit_RangeRec_
  type TT_SBit_StrikeRec (line 572) | typedef struct  TT_SBit_StrikeRec_
  type TT_SBit_ComponentRec (line 610) | typedef struct  TT_SBit_ComponentRec_
  type TT_SBit_ScaleRec (line 641) | typedef struct  TT_SBit_ScaleRec_
  type TT_Post_20Rec (line 686) | typedef struct  TT_Post_20Rec_
  type TT_Post_25Rec (line 711) | typedef struct  TT_Post_25_
  type TT_Post_NamesRec (line 734) | typedef struct  TT_Post_NamesRec_
  type GX_BlendRec_ (line 762) | struct GX_BlendRec_
  type TT_BDFRec (line 819) | typedef struct  TT_BDFRec_
  type TT_FaceRec_ (line 870) | struct TT_FaceRec_
  type FT_Error (line 874) | typedef FT_Error
  type TT_LoaderRec_ (line 878) | struct TT_LoaderRec_
  type FT_Error (line 906) | typedef FT_Error
  type FT_Error (line 941) | typedef FT_Error
  type FT_Error (line 963) | typedef FT_Error
  type TT_FaceRec (line 1177) | typedef struct  TT_FaceRec_
  type TT_GlyphZoneRec (line 1362) | typedef struct  TT_GlyphZoneRec_
  type TT_ExecContextRec_ (line 1383) | struct TT_ExecContextRec_
  type TT_LoaderRec (line 1386) | typedef struct  TT_LoaderRec_

FILE: core/include/thirdparties/freetype/freetype/t1tables.h
  type PS_FontInfoRec_ (line 69) | struct  PS_FontInfoRec_
  type PS_FontInfoRec_ (line 92) | struct PS_FontInfoRec_
  type PS_FontInfoRec (line 105) | typedef PS_FontInfoRec  T1_FontInfo;
  type PS_PrivateRec (line 118) | typedef struct  PS_PrivateRec_
  type PS_PrivateRec_ (line 167) | struct PS_PrivateRec_
  type PS_PrivateRec (line 180) | typedef PS_PrivateRec  T1_Private;
  type T1_Blend_Flags (line 193) | typedef enum  T1_Blend_Flags_
  type PS_DesignMapRec (line 250) | typedef struct  PS_DesignMap_
  type PS_DesignMapRec (line 259) | typedef PS_DesignMapRec  T1_DesignMap;
  type PS_BlendRec (line 262) | typedef struct  PS_BlendRec_
  type PS_BlendRec (line 294) | typedef PS_BlendRec  T1_Blend;
  type CID_FaceDictRec (line 305) | typedef struct  CID_FaceDictRec_
  type CID_FaceDictRec_ (line 334) | struct CID_FaceDictRec_
  type CID_FaceDictRec (line 340) | typedef CID_FaceDictRec  CID_FontDict;
  type CID_FaceInfoRec (line 351) | typedef struct  CID_FaceInfoRec_
  type CID_FaceInfoRec_ (line 389) | struct CID_FaceInfoRec_
  type CID_FaceInfoRec (line 402) | typedef CID_FaceInfoRec  CID_Info;
  type T1_EncodingType (line 506) | typedef enum  T1_EncodingType_
  type PS_Dict_Keys (line 526) | typedef enum  PS_Dict_Keys_

FILE: core/include/thirdparties/freetype/freetype/tttables.h
  type TT_Header_ (line 63) | struct  TT_Header_
  type TT_HoriHeader (line 180) | typedef struct  TT_HoriHeader_
  type TT_VertHeader (line 306) | typedef struct  TT_VertHeader_
  type TT_OS2 (line 350) | typedef struct  TT_OS2_
  type TT_Postscript (line 414) | typedef struct  TT_Postscript_
  type TT_PCLT (line 441) | typedef struct  TT_PCLT_
  type TT_MaxProfile (line 528) | typedef struct  TT_MaxProfile_
  type FT_Sfnt_Tag (line 558) | typedef enum  FT_Sfnt_Tag_

FILE: core/include/thirdparties/libjpeg/jconfig.h
  type boolean (line 26) | typedef unsigned char boolean;

FILE: core/include/thirdparties/libjpeg/jmorecfg.h
  type JSAMPLE (line 62) | typedef unsigned char JSAMPLE;
  type JSAMPLE (line 67) | typedef char JSAMPLE;
  type JSAMPLE (line 87) | typedef short JSAMPLE;
  type JCOEF (line 102) | typedef short JCOEF;
  type JOCTET (line 113) | typedef unsigned char JOCTET;
  type JOCTET (line 118) | typedef char JOCTET;
  type UINT8 (line 140) | typedef unsigned char UINT8;
  type UINT8 (line 143) | typedef char UINT8;
  type UINT8 (line 145) | typedef short UINT8;
  type UINT16 (line 153) | typedef unsigned short UINT16;
  type UINT16 (line 155) | typedef unsigned int UINT16;
  type INT16 (line 161) | typedef short INT16;
  type INT32 (line 167) | typedef int INT32;
  type JDIMENSION (line 179) | typedef unsigned int JDIMENSION;
  type boolean (line 240) | typedef int boolean;

FILE: core/include/thirdparties/libjpeg/jpegint.h
  type J_BUF_MODE (line 16) | typedef enum {			/* Operating modes for buffer controllers */
  type jpeg_comp_master (line 45) | struct jpeg_comp_master {
  type jpeg_c_main_controller (line 56) | struct jpeg_c_main_controller {
  type jpeg_c_prep_controller (line 64) | struct jpeg_c_prep_controller {
  type jpeg_c_coef_controller (line 76) | struct jpeg_c_coef_controller {
  type jpeg_color_converter (line 83) | struct jpeg_color_converter {
  type jpeg_downsampler (line 91) | struct jpeg_downsampler {
  type jpeg_forward_dct (line 102) | struct jpeg_forward_dct {
  type jpeg_entropy_encoder (line 113) | struct jpeg_entropy_encoder {
  type jpeg_marker_writer (line 120) | struct jpeg_marker_writer {
  type jpeg_decomp_master (line 137) | struct jpeg_decomp_master {
  type jpeg_input_controller (line 146) | struct jpeg_input_controller {
  type jpeg_d_main_controller (line 158) | struct jpeg_d_main_controller {
  type jpeg_d_coef_controller (line 166) | struct jpeg_d_coef_controller {
  type jpeg_d_post_controller (line 177) | struct jpeg_d_post_controller {
  type jpeg_marker_reader (line 189) | struct jpeg_marker_reader {
  type jpeg_entropy_decoder (line 209) | struct jpeg_entropy_decoder {
  type cinfo (line 220) | typedef JMETHOD(void, inverse_DCT_method_ptr,
  type jpeg_inverse_dct (line 225) | struct jpeg_inverse_dct {
  type jpeg_upsampler (line 232) | struct jpeg_upsampler {
  type jpeg_color_deconverter (line 246) | struct jpeg_color_deconverter {
  type jpeg_color_quantizer (line 254) | struct jpeg_color_quantizer {
  type jvirt_sarray_control (line 389) | struct jvirt_sarray_control { long dummy; }
  type jvirt_barray_control (line 390) | struct jvirt_barray_control { long dummy; }

FILE: core/include/thirdparties/libjpeg/jpeglib.h
  type JSAMPLE (line 133) | typedef JSAMPLE  *JSAMPROW;
  type JSAMPROW (line 134) | typedef JSAMPROW *JSAMPARRAY;
  type JSAMPARRAY (line 135) | typedef JSAMPARRAY *JSAMPIMAGE;
  type JCOEF (line 137) | typedef JCOEF JBLOCK[DCTSIZE2];
  type JBLOCK (line 138) | typedef JBLOCK  *JBLOCKROW;
  type JBLOCKROW (line 139) | typedef JBLOCKROW *JBLOCKARRAY;
  type JBLOCKARRAY (line 140) | typedef JBLOCKARRAY *JBLOCKIMAGE;
  type JCOEF (line 142) | typedef JCOEF  *JCOEFPTR;
  type JQUANT_TBL (line 150) | typedef struct {
  type JHUFF_TBL (line 167) | typedef struct {
  type jpeg_component_info (line 183) | typedef struct {
  type jpeg_scan_info (line 251) | typedef struct {
  type jpeg_marker_struct (line 260) | struct jpeg_marker_struct
  type jpeg_marker_struct (line 262) | struct jpeg_marker_struct {
  type J_COLOR_SPACE (line 273) | typedef enum {
  type J_DCT_METHOD (line 284) | typedef enum {
  type J_DITHER_MODE (line 299) | typedef enum {
  type jpeg_memory_mgr (line 310) | struct jpeg_memory_mgr
  type jpeg_progress_mgr (line 311) | struct jpeg_progress_mgr
  type jpeg_common_struct (line 320) | struct jpeg_common_struct {
  type jpeg_common_struct (line 328) | struct jpeg_common_struct
  type jpeg_compress_struct (line 329) | struct jpeg_compress_struct
  type jpeg_decompress_struct (line 330) | struct jpeg_decompress_struct
  type jpeg_compress_struct (line 335) | struct jpeg_compress_struct {
  type jpeg_decompress_struct (line 478) | struct jpeg_decompress_struct {
  type jpeg_error_mgr (line 710) | struct jpeg_error_mgr {
  type jpeg_progress_mgr (line 768) | struct jpeg_progress_mgr {
  type jpeg_destination_mgr (line 780) | struct jpeg_destination_mgr {
  type jpeg_source_mgr (line 792) | struct jpeg_source_mgr {
  type jvirt_sarray_control (line 819) | struct jvirt_sarray_control
  type jvirt_barray_control (line 820) | struct jvirt_barray_control
  type jpeg_memory_mgr (line 823) | struct jpeg_memory_mgr {
  type jpeg_error_mgr (line 951) | struct jpeg_error_mgr
  type jpeg_error_mgr (line 952) | struct jpeg_error_mgr
  type jvirt_sarray_control (line 1127) | struct jvirt_sarray_control { long dummy; }
  type jvirt_barray_control (line 1128) | struct jvirt_barray_control { long dummy; }
  type jpeg_comp_master (line 1129) | struct jpeg_comp_master { long dummy; }
  type jpeg_c_main_controller (line 1130) | struct jpeg_c_main_controller { long dummy; }
  type jpeg_c_prep_controller (line 1131) | struct jpeg_c_prep_controller { long dummy; }
  type jpeg_c_coef_controller (line 1132) | struct jpeg_c_coef_controller { long dummy; }
  type jpeg_marker_writer (line 1133) | struct jpeg_marker_writer { long dummy; }
  type jpeg_color_converter (line 1134) | struct jpeg_color_converter { long dummy; }
  type jpeg_downsampler (line 1135) | struct jpeg_downsampler { long dummy; }
  type jpeg_forward_dct (line 1136) | struct jpeg_forward_dct { long dummy; }
  type jpeg_entropy_encoder (line 1137) | struct jpeg_entropy_encoder { long dummy; }
  type jpeg_decomp_master (line 1138) | struct jpeg_decomp_master { long dummy; }
  type jpeg_d_main_controller (line 1139) | struct jpeg_d_main_controller { long dummy; }
  type jpeg_d_coef_controller (line 1140) | struct jpeg_d_coef_controller { long dummy; }
  type jpeg_d_post_controller (line 1141) | struct jpeg_d_post_controller { long dummy; }
  type jpeg_input_controller (line 1142) | struct jpeg_input_controller { long dummy; }
  type jpeg_marker_reader (line 1143) | struct jpeg_marker_reader { long dummy; }
  type jpeg_entropy_decoder (line 1144) | struct jpeg_entropy_decoder { long dummy; }
  type jpeg_inverse_dct (line 1145) | struct jpeg_inverse_dct { long dummy; }
  type jpeg_upsampler (line 1146) | struct jpeg_upsampler { long dummy; }
  type jpeg_color_deconverter (line 1147) | struct jpeg_color_deconverter { long dummy; }
  type jpeg_color_quantizer (line 1148) | struct jpeg_color_quantizer { long dummy; }

FILE: core/include/thirdparties/zlib/zconf.h
  type Byte (line 368) | typedef unsigned char  Byte;
  type uInt (line 370) | typedef unsigned int   uInt;
  type uLong (line 371) | typedef unsigned long  uLong;
  type Byte (line 377) | typedef Byte  FAR Bytef;
  type charf (line 379) | typedef char  FAR charf;
  type intf (line 380) | typedef int   FAR intf;
  type uInt (line 381) | typedef uInt  FAR uIntf;
  type uLong (line 382) | typedef uLong FAR uLongf;
  type Byte (line 389) | typedef Byte const *voidpc;
  type Byte (line 390) | typedef Byte FAR   *voidpf;
  type Byte (line 391) | typedef Byte       *voidp;
  type Z_U4 (line 406) | typedef Z_U4 z_crc_t;
  type z_crc_t (line 408) | typedef unsigned long z_crc_t;

FILE: core/include/thirdparties/zlib/zlib.h
  type voidpf (line 145) | typedef voidpf (*alloc_func)
  type internal_state (line 148) | struct internal_state
  type z_stream (line 150) | typedef struct z_stream_s {
  type z_stream (line 171) | typedef z_stream FAR *z_streamp;
  type gz_header (line 177) | typedef struct gz_header_s {
  type gz_header (line 194) | typedef gz_header FAR *gz_headerp;
  type gzFile_s (line 1289) | struct gzFile_s
  type gzFile_s (line 1735) | struct gzFile_s {
  type internal_state (line 1807) | struct internal_state {int dummy;}

FILE: core/src/fdrm/crypto/fx_crypt.cpp
  type rc4_state (line 12) | struct rc4_state {
  function CRYPT_ArcFourSetup (line 15) | void CRYPT_ArcFourSetup(void* context,  FX_LPCBYTE key,  FX_DWORD length )
  function CRYPT_ArcFourCrypt (line 36) | void CRYPT_ArcFourCrypt(void* context, unsigned char *data, FX_DWORD len...
  function CRYPT_ArcFourCryptBlock (line 54) | void CRYPT_ArcFourCryptBlock(FX_LPBYTE pData, FX_DWORD size, FX_LPCBYTE ...
  type md5_context (line 60) | struct md5_context {
  function md5_process (line 79) | void md5_process( struct md5_context *ctx, const FX_BYTE data[64] )
  function CRYPT_MD5Start (line 184) | void CRYPT_MD5Start(void* context)
  function CRYPT_MD5Update (line 194) | void CRYPT_MD5Update(FX_LPVOID pctx, FX_LPCBYTE input, FX_DWORD length )
  function CRYPT_MD5Finish (line 229) | void CRYPT_MD5Finish(FX_LPVOID pctx, FX_BYTE digest[16] )
  function CRYPT_MD5Generate (line 245) | void CRYPT_MD5Generate(FX_LPCBYTE input, FX_DWORD length, FX_BYTE digest...
  function CRYPT_SetPubKeyDecryptor (line 253) | void CRYPT_SetPubKeyDecryptor(FX_BOOL (*func)(FX_LPCBYTE pData, FX_DWORD...

FILE: core/src/fdrm/crypto/fx_crypt_aes.cpp
  type AESContext (line 26) | struct AESContext {
  function aes_encrypt_nb_4 (line 649) | static void aes_encrypt_nb_4(AESContext * ctx, unsigned int * block)
  function aes_encrypt_nb_6 (line 677) | static void aes_encrypt_nb_6(AESContext * ctx, unsigned int * block)
  function aes_encrypt_nb_8 (line 713) | static void aes_encrypt_nb_8(AESContext * ctx, unsigned int * block)
  function aes_decrypt_nb_4 (line 767) | static void aes_decrypt_nb_4(AESContext * ctx, unsigned int * block)
  function aes_decrypt_nb_6 (line 795) | static void aes_decrypt_nb_6(AESContext * ctx, unsigned int * block)
  function aes_decrypt_nb_8 (line 831) | static void aes_decrypt_nb_8(AESContext * ctx, unsigned int * block)
  function aes_setup (line 877) | static void aes_setup(AESContext * ctx, int blocklen,
  function aes_decrypt (line 943) | static void aes_decrypt(AESContext * ctx, unsigned int * block)
  function aes_decrypt_cbc (line 947) | static void aes_decrypt_cbc(unsigned char *dest, const unsigned char *sr...
  function aes_encrypt (line 968) | static void aes_encrypt(AESContext * ctx, unsigned int * block)
  function aes_encrypt_cbc (line 972) | static void aes_encrypt_cbc(unsigned char *dest, const unsigned char *sr...
  function CRYPT_AESSetKey (line 992) | void CRYPT_AESSetKey(FX_LPVOID context, FX_DWORD blocklen, FX_LPCBYTE ke...
  function CRYPT_AESSetIV (line 996) | void CRYPT_AESSetIV(FX_LPVOID context, FX_LPCBYTE iv)
  function CRYPT_AESDecrypt (line 1003) | void CRYPT_AESDecrypt(FX_LPVOID context, FX_LPBYTE dest, FX_LPCBYTE src,...
  function CRYPT_AESEncrypt (line 1007) | void CRYPT_AESEncrypt(FX_LPVOID context, FX_LPBYTE dest, FX_LPCBYTE src,...

FILE: core/src/fdrm/crypto/fx_crypt_sha.cpp
  function SHA_Core_Init (line 19) | static void SHA_Core_Init(unsigned int h[5])
  function SHATransform (line 27) | static void SHATransform(unsigned int * digest, unsigned int * block)
  function CRYPT_SHA1Start (line 85) | void CRYPT_SHA1Start(FX_LPVOID context)
  function CRYPT_SHA1Update (line 92) | void CRYPT_SHA1Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size)
  function CRYPT_SHA1Finish (line 124) | void CRYPT_SHA1Finish(FX_LPVOID context, FX_BYTE digest[20])
  function CRYPT_SHA1Generate (line 157) | void CRYPT_SHA1Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest[20])
  function CRYPT_SHA256Start (line 184) | void CRYPT_SHA256Start( FX_LPVOID context )
  function sha256_process (line 198) | static void sha256_process( sha256_context *ctx, const FX_BYTE data[64] )
  function CRYPT_SHA256Update (line 318) | void CRYPT_SHA256Update( void* context, FX_LPCBYTE input, FX_DWORD length )
  function CRYPT_SHA256Finish (line 356) | void CRYPT_SHA256Finish( FX_LPVOID context, FX_BYTE digest[32] )
  function CRYPT_SHA256Generate (line 380) | void CRYPT_SHA256Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest...
  function FX_UINT64 (line 392) | FX_UINT64 FX_ato64i(FX_LPCSTR str)
  function CRYPT_SHA384Start (line 414) | void CRYPT_SHA384Start(FX_LPVOID context)
  function sha384_process (line 559) | static void sha384_process( sha384_context *ctx, const FX_BYTE data[128] )
  function CRYPT_SHA384Update (line 627) | void CRYPT_SHA384Update(FX_LPVOID context, FX_LPCBYTE input, FX_DWORD le...
  function CRYPT_SHA384Finish (line 658) | void CRYPT_SHA384Finish(FX_LPVOID context, FX_BYTE digest[48])
  function CRYPT_SHA384Generate (line 681) | void CRYPT_SHA384Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest...
  function CRYPT_SHA512Start (line 688) | void CRYPT_SHA512Start(FX_LPVOID context)
  function CRYPT_SHA512Update (line 704) | void CRYPT_SHA512Update(FX_LPVOID context, FX_LPCBYTE data, FX_DWORD size)
  function CRYPT_SHA512Finish (line 708) | void CRYPT_SHA512Finish(FX_LPVOID context, FX_BYTE digest[64])
  function CRYPT_SHA512Generate (line 733) | void CRYPT_SHA512Generate(FX_LPCBYTE data, FX_DWORD size, FX_BYTE digest...

FILE: core/src/fpdfapi/fpdf_basic_module.cpp
  function CPDF_ModuleMgr (line 10) | CPDF_ModuleMgr* CPDF_ModuleMgr::Get()
  function FX_BOOL (line 57) | FX_BOOL CPDF_ModuleMgr::DownloadModule(FX_LPCSTR module_name)
  function CFX_ByteString (line 64) | static CFX_ByteString _GetPath(const CFX_ByteString& folder, FX_LPCSTR n...
  function CFX_ByteString (line 89) | CFX_ByteString CPDF_ModuleMgr::GetModuleFilePath(FX_LPCSTR module_name, ...
  function FX_LPVOID (line 138) | FX_LPVOID CPDF_ModuleMgr::GetPrivateData(FX_LPVOID module_id)
  function CPDF_SecurityHandler (line 142) | CPDF_SecurityHandler* CPDF_ModuleMgr::CreateSecurityHandler(FX_LPCSTR fi...
  function ICodec_FaxModule (line 155) | ICodec_FaxModule* CPDF_ModuleMgr::GetFaxModule()
  function ICodec_JpegModule (line 159) | ICodec_JpegModule* CPDF_ModuleMgr::GetJpegModule()
  function ICodec_JpxModule (line 163) | ICodec_JpxModule* CPDF_ModuleMgr::GetJpxModule()
  function ICodec_Jbig2Module (line 167) | ICodec_Jbig2Module* CPDF_ModuleMgr::GetJbig2Module()
  function ICodec_IccModule (line 171) | ICodec_IccModule* CPDF_ModuleMgr::GetIccModule()
  function ICodec_FlateModule (line 175) | ICodec_FlateModule* CPDF_ModuleMgr::GetFlateModule()

FILE: core/src/fpdfapi/fpdf_cmaps/cmap_int.h
  type FXCMAP_CMap (line 9) | struct FXCMAP_CMap {

FILE: core/src/fpdfapi/fpdf_cmaps/fpdf_cmaps.cpp
  function FPDFAPI_FindEmbeddedCMap (line 11) | void FPDFAPI_FindEmbeddedCMap(const char* name, int charset, int coding,...
  function compareWord (line 26) | static int compareWord(const void* p1, const void* p2)
  function compareWordRange (line 32) | static int compareWordRange(const void* key, const void* element)
  function compareDWordRange (line 44) | static int compareDWordRange(const void* p1, const void* p2)
  function compareDWordSingle (line 66) | static int compareDWordSingle(const void* p1, const void* p2)
  function FX_WORD (line 79) | FX_WORD FPDFAPI_CIDFromCharCode(const FXCMAP_CMap* pMap, FX_DWORD charcode)
  function FX_DWORD (line 124) | FX_DWORD FPDFAPI_CharCodeFromCID(const FXCMAP_CMap* pMap, FX_WORD cid)
  function FPDFAPI_LoadCID2UnicodeMap (line 178) | void FPDFAPI_LoadCID2UnicodeMap(int charset, const FX_WORD*& pMap, FX_DW...

FILE: core/src/fpdfapi/fpdf_edit/editint.h
  function class (line 9) | class CPDF_ObjectStream : public CFX_Object
  function class (line 30) | class CPDF_XRefStream : public CFX_Object

FILE: core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp
  function CFX_ByteTextBuf (line 12) | CFX_ByteTextBuf& operator << (CFX_ByteTextBuf& ar, CFX_AffineMatrix& mat...
  function FX_BOOL (line 33) | FX_BOOL CPDF_PageContentGenerate::InsertPageObject(CPDF_PageObject* pPag...
  function CFX_ByteString (line 60) | CFX_ByteString CPDF_PageContentGenerate::RealizeResource(CPDF_Object* pR...

FILE: core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
  function FX_INT32 (line 15) | FX_INT32 PDF_CreatorAppendObject(const CPDF_Object* pObj, CFX_FileBuffer...
  function FX_INT32 (line 174) | FX_INT32 PDF_CreatorWriteTrailer(CPDF_Document* pDocument, CFX_FileBuffe...
  function FX_INT32 (line 262) | FX_INT32 PDF_CreatorWriteEncrypt(const CPDF_Dictionary* pEncryptDict, FX...
  function FX_BOOL (line 286) | FX_BOOL PDF_GenerateFileID(FX_DWORD dwSeed1, FX_DWORD dwSeed2, FX_LPDWOR...
  class CPDF_FlateEncoder (line 304) | class CPDF_FlateEncoder
  function FX_BOOL (line 334) | FX_BOOL CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, FX_BOOL bFla...
  function FX_BOOL (line 365) | FX_BOOL CPDF_FlateEncoder::Initialize(FX_LPCBYTE pBuffer, FX_DWORD size,...
  class CPDF_Encryptor (line 389) | class CPDF_Encryptor
  function FX_BOOL (line 405) | FX_BOOL CPDF_Encryptor::Initialize(CPDF_CryptoHandler* pHandler, int obj...
  function FX_BOOL (line 436) | FX_BOOL CPDF_ObjectStream::Start()
  function FX_INT32 (line 445) | FX_INT32 CPDF_ObjectStream::CompressIndirectObject(FX_DWORD dwObjNum, co...
  function FX_INT32 (line 452) | FX_INT32 CPDF_ObjectStream::CompressIndirectObject(FX_DWORD dwObjNum, FX...
  function FX_FILESIZE (line 459) | FX_FILESIZE CPDF_ObjectStream::End(CPDF_Creator* pCreator)
  function FX_BOOL (line 551) | FX_BOOL CPDF_XRefStream::Start()
  function FX_INT32 (line 558) | FX_INT32 CPDF_XRefStream::CompressIndirectObject(FX_DWORD dwObjNum, cons...
  function FX_INT32 (line 570) | FX_INT32 CPDF_XRefStream::CompressIndirectObject(FX_DWORD dwObjNum, FX_L...
  function _AppendIndex0 (line 582) | static void _AppendIndex0(CFX_ByteTextBuf& buffer, FX_BOOL bFirstObject ...
  function _AppendIndex1 (line 597) | static void _AppendIndex1(CFX_ByteTextBuf& buffer, FX_FILESIZE offset)
  function _AppendIndex2 (line 607) | static void _AppendIndex2(CFX_ByteTextBuf& buffer, FX_DWORD objnum, FX_I...
  function FX_INT32 (line 617) | FX_INT32 CPDF_XRefStream::EndObjectStream(CPDF_Creator *pCreator, FX_BOO...
  function FX_BOOL (line 686) | FX_BOOL CPDF_XRefStream::GenerateXRefStream(CPDF_Creator* pCreator, FX_B...
  function FX_BOOL (line 818) | FX_BOOL CPDF_XRefStream::End(CPDF_Creator *pCreator, FX_BOOL bEOF )
  function FX_BOOL (line 825) | FX_BOOL CPDF_XRefStream::EndXRefStream(CPDF_Creator* pCreator)
  function FX_BOOL (line 849) | FX_BOOL CPDF_XRefStream::AddObjectNumberToIndexArray(FX_DWORD objnum)
  function FX_BOOL (line 907) | static FX_BOOL _IsXRefNeedEnd(CPDF_XRefStream* pXRef, FX_DWORD flag)
  function FX_INT32 (line 919) | FX_INT32 CPDF_Creator::WriteIndirectObjectToStream(const CPDF_Object* pObj)
  function FX_INT32 (line 964) | FX_INT32 CPDF_Creator::WriteIndirectObjectToStream(FX_DWORD objnum, FX_L...
  function FX_INT32 (line 985) | FX_INT32 CPDF_Creator::AppendObjectNumberToXRef(FX_DWORD objnum)
  function FX_INT32 (line 1002) | FX_INT32 CPDF_Creator::WriteStream(const CPDF_Object* pStream, FX_DWORD ...
  function FX_INT32 (line 1032) | FX_INT32 CPDF_Creator::WriteIndirectObj(FX_DWORD objnum, const CPDF_Obje...
  function FX_INT32 (line 1063) | FX_INT32 CPDF_Creator::WriteIndirectObj(const CPDF_Object* pObj)
  function FX_INT32 (line 1071) | FX_INT32 CPDF_Creator::WriteDirectObj(FX_DWORD objnum, const CPDF_Object...
  function FX_INT32 (line 1252) | FX_INT32 CPDF_Creator::WriteOldIndirectObject(FX_DWORD objnum)
  function FX_INT32 (line 1318) | FX_INT32 CPDF_Creator::WriteOldObjs(IFX_Pause *pPause)
  function FX_INT32 (line 1338) | FX_INT32 CPDF_Creator::WriteNewObjs(FX_BOOL bIncremental, IFX_Pause *pPa...
  function FX_INT32 (line 1475) | FX_INT32 CPDF_Creator::WriteDoc_Stage1(IFX_Pause *pPause)
  function FX_INT32 (line 1570) | FX_INT32 CPDF_Creator::WriteDoc_Stage2(IFX_Pause *pPause)
  function FX_INT32 (line 1619) | FX_INT32 CPDF_Creator::WriteDoc_Stage3(IFX_Pause *pPause)
  function FX_INT32 (line 1729) | static FX_INT32 _OutPutIndex(CFX_FileBufferArchive* pFile, FX_FILESIZE o...
  function FX_INT32 (line 1765) | FX_INT32 CPDF_Creator::WriteDoc_Stage4(IFX_Pause *pPause)
  function FX_BOOL (line 1982) | FX_BOOL CPDF_Creator::Create(FX_LPCSTR filename, FX_DWORD flags)
  function FX_BOOL (line 1993) | FX_BOOL CPDF_Creator::Create(FX_LPCWSTR filename, FX_DWORD flags)
  function FX_BOOL (line 2004) | FX_BOOL CPDF_Creator::Create(IFX_StreamWrite* pFile, FX_DWORD flags)
  function FX_BOOL (line 2014) | FX_BOOL CPDF_Creator::Create(FX_DWORD flags)
  function FX_INT32 (line 2082) | FX_INT32 CPDF_Creator::Continue(IFX_Pause *pPause)
  function FX_BOOL (line 2109) | FX_BOOL CPDF_Creator::SetFileVersion(FX_INT32 fileVersion )

FILE: core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
  function _InsertWidthArray (line 195) | static void _InsertWidthArray(HDC hDC, int start, int end, CPDF_Array* p...
  function CPDF_Font (line 218) | CPDF_Font* CPDF_Document::AddWindowsFont(LOGFONTW* pLogFont, FX_BOOL bVe...
  function CFX_ByteString (line 230) | CFX_ByteString _FPDF_GetPSNameFromTT(HDC hDC)
  function CPDF_Font (line 242) | CPDF_Font* CPDF_Document::AddWindowsFont(LOGFONTA* pLogFont, FX_BOOL bVe...
  function FX_UINT32 (line 432) | FX_UINT32 FX_GetLangHashCode( FX_LPCSTR pStr)
  type FX_LANG2CS (line 443) | struct FX_LANG2CS {
  function FX_WORD (line 515) | static FX_WORD FX_GetCsFromLangCode(FX_UINT32 uCode)
  function FX_WORD (line 532) | static FX_WORD FX_GetCharsetFromLang(FX_LPCSTR pLang, FX_INT32 iLength)
  function _CFString2CFXByteString (line 541) | static void _CFString2CFXByteString(CFStringRef src, CFX_ByteString &dest)
  function FX_BOOL (line 551) | FX_BOOL IsHasCharSet(CFArrayRef languages, const CFX_DWordArray &charSets)
  function FX_GetCharWidth (line 565) | void FX_GetCharWidth(CTFontRef font, UniChar start, UniChar end, int* wi...
  function _InsertWidthArray (line 578) | static void _InsertWidthArray(CTFontRef font, int start, int end, CPDF_A...
  function CPDF_Font (line 601) | CPDF_Font* CPDF_Document::AddMacFont(CTFontRef pFont, FX_BOOL bVert, FX_...
  function _InsertWidthArray1 (line 844) | static void _InsertWidthArray1(CFX_Font* pFont, IFX_FontEncoding* pEncod...
  function CPDF_Font (line 870) | CPDF_Font* CPDF_Document::AddFont(CFX_Font* pFont, int charset, FX_BOOL ...
  function CPDF_Stream (line 1056) | static CPDF_Stream* GetFormStream(CPDF_Document* pDoc, CPDF_Object* pRes...
  function InsertDeletePDFPage (line 1076) | static int InsertDeletePDFPage(CPDF_Document* pDoc, CPDF_Dictionary* pPa...
  function InsertNewPage (line 1120) | static int InsertNewPage(CPDF_Document* pDoc, int iPage, CPDF_Dictionary...
  function CPDF_Dictionary (line 1153) | CPDF_Dictionary* CPDF_Document::CreateNewPage(int iPage)
  function CPDF_Font (line 1165) | CPDF_Font* CPDF_Document::AddStandardFont(FX_LPCSTR font, CPDF_FontEncod...
  function FPDFAPI_FlatPageAttr (line 1195) | void FPDFAPI_FlatPageAttr(CPDF_Dictionary* pPageDict, FX_BSTR name)

FILE: core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp
  function CPDF_Dictionary (line 13) | CPDF_Dictionary* CPDF_Image::InitJPEG(FX_LPBYTE pData, FX_DWORD size)
  function _DCTEncodeBitmap (line 94) | void _DCTEncodeBitmap(CPDF_Dictionary *pBitmapDict, const CFX_DIBitmap* ...
  function _JBIG2EncodeBitmap (line 97) | void _JBIG2EncodeBitmap(CPDF_Dictionary *pBitmapDict, const CFX_DIBitmap...

FILE: core/src/fpdfapi/fpdf_font/common.h
  type TT_int8_t (line 9) | typedef signed char TT_int8_t;
  type TT_uint8_t (line 10) | typedef unsigned char TT_uint8_t;
  type TT_int16_t (line 11) | typedef signed short TT_int16_t;
  type TT_uint16_t (line 12) | typedef unsigned short TT_uint16_t;
  type FX_INT32 (line 13) | typedef FX_INT32 TT_int32_t;
  type FX_DWORD (line 14) | typedef FX_DWORD TT_uint32_t;
  type FX_INT64 (line 15) | typedef FX_INT64 TT_int64_t;
  type FX_UINT64 (line 16) | typedef FX_UINT64 TT_uint64_t;

FILE: core/src/fpdfapi/fpdf_font/font_int.h
  function class (line 8) | class CPDF_CMapManager : public CFX_Object
  function class (line 28) | class CPDF_FontGlobals : public CFX_Object
  type _CMap_CodeRange (line 49) | struct _CMap_CodeRange {
  function class (line 54) | class CPDF_CMapParser : public CFX_Object
  function class (line 79) | class CPDF_CMap : public CFX_Object
  function class (line 123) | class CPDF_PredefinedCMap
  type FXMP_FILEHEADER (line 133) | typedef struct _FileHeader {
  function class (line 144) | class CPDF_FXMP : public CFX_Object
  function class (line 168) | class CPDF_CID2UnicodeMap : public CFX_Object
  function class (line 185) | class CPDF_ToUnicodeMap : public CFX_Object

FILE: core/src/fpdfapi/fpdf_font/fpdf_font.cpp
  function FX_BOOL (line 13) | FX_BOOL FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id)
  class CFX_StockFontArray (line 38) | class CFX_StockFontArray : public CFX_Object
    method CFX_StockFontArray (line 41) | CFX_StockFontArray()
  function CPDF_Font (line 47) | CPDF_Font* CPDF_FontGlobals::Find(void* key, int index)
  function FX_BOOL (line 124) | FX_BOOL CPDF_Font::Initialize()
  function FX_BOOL (line 143) | FX_BOOL CPDF_Font::IsVertWriting() const
  function CFX_ByteString (line 154) | CFX_ByteString CPDF_Font::GetFontTypeName() const
  function CFX_WideString (line 178) | CFX_WideString CPDF_Font::UnicodeFromCharCode(FX_DWORD charcode) const
  function FX_DWORD (line 195) | FX_DWORD CPDF_Font::CharCodeFromUnicode(FX_WCHAR unicode) const
  function CFX_WideString (line 208) | CFX_WideString CPDF_Font::DecodeString(const CFX_ByteString& str) const
  function CFX_ByteString (line 226) | CFX_ByteString CPDF_Font::EncodeString(const CFX_WideString& str) const
  function TT2PDF (line 305) | short TT2PDF(int m, FXFT_Face face)
  function CPDF_Font (line 399) | CPDF_Font* CPDF_Font::GetStockFont(CPDF_Document* pDoc, FX_BSTR name)
  function CPDF_Font (line 427) | CPDF_Font* CPDF_Font::CreateFontF(CPDF_Document* pDoc, CPDF_Dictionary* ...
  function FX_BOOL (line 484) | FX_BOOL CPDF_Font::Load()
  function CFX_WideString (line 496) | static CFX_WideString _FontMap_GetWideString(CFX_CharMap* pMap, const CF...
  function CFX_ByteString (line 500) | static CFX_ByteString _FontMap_GetByteString(CFX_CharMap* pMap, const CF...
  function CFX_WideString (line 510) | CFX_WideString CPDF_ToUnicodeMap::Lookup(FX_DWORD charcode)
  function FX_DWORD (line 538) | FX_DWORD CPDF_ToUnicodeMap::ReverseLookup(FX_WCHAR unicode)
  function FX_DWORD (line 550) | static FX_DWORD _StringToCode(FX_BSTR str)
  function CFX_WideString (line 583) | static CFX_WideString _StringDataAdd(CFX_WideString str)
  function CFX_WideString (line 602) | static CFX_WideString _StringToWideString(FX_BSTR str)
  function FX_BOOL (line 743) | static FX_BOOL GetPredefinedEncoding(int& basemap, const CFX_ByteString&...
  function FX_BOOL (line 821) | FX_BOOL CPDF_Font::IsStandardFont() const
  function FX_LPCSTR (line 927) | FX_LPCSTR GetAdobeCharName(int iBaseEncoding, const CFX_ByteString* pCha...
  function FX_BOOL (line 945) | FX_BOOL CPDF_SimpleFont::LoadCommon()
  function FX_BOOL (line 1037) | FX_BOOL CPDF_SimpleFont::IsUnicodeCompatible() const
  function FX_BOOL (line 1046) | FX_BOOL CPDF_Type1Font::_Load()
  function FX_BOOL (line 1070) | static FX_BOOL FT_UseType1Charmap(FXFT_Face face)
  type _GlyphNameMap (line 1102) | struct _GlyphNameMap {
  function compareString (line 1114) | static int compareString(const void* key, const void* element)
  function FX_LPCSTR (line 1119) | static FX_LPCSTR _GlyphNameRemap(FX_LPCSTR pStrAdobe)
  function FX_BOOL (line 1387) | FX_BOOL CPDF_FontEncoding::IsIdentical(CPDF_FontEncoding* pAnother) const
  function CPDF_Object (line 1391) | CPDF_Object* CPDF_FontEncoding::Realize()
  function FX_BOOL (line 1437) | FX_BOOL CPDF_TrueTypeFont::_Load()
  function FX_BOOL (line 1637) | FX_BOOL CPDF_Type3Font::_Load()
  function CPDF_Type3Char (line 1687) | CPDF_Type3Char* CPDF_Type3Font::LoadChar(FX_DWORD charcode, int level)

FILE: core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp
  type _UnicodeAlt (line 10) | struct _UnicodeAlt {
  function FX_CHAR (line 63) | const FX_CHAR* FCS_GetAltStr(FX_WCHAR unicode)
  function FX_CHAR (line 478) | const FX_CHAR*  PDF_CharNameFromPredefinedCharSet(int encoding, FX_BYTE ...
  function FX_WCHAR (line 509) | FX_WCHAR FT_UnicodeFromCharCode(int encoding, FX_DWORD charcode)
  function FX_DWORD (line 527) | static FX_DWORD PDF_FindCode(const FX_WORD* pCodes, FX_WORD unicode)
  function FX_DWORD (line 563) | FX_DWORD FT_CharCodeFromUnicode(int encoding, FX_WCHAR unicode)
  function FX_WORD (line 583) | const FX_WORD* PDF_UnicodesForPredefinedCharSet(int encoding)
  function FX_DWORD (line 605) | FX_DWORD PDF_PredefinedCharCodeFromUnicode(int encoding, FX_WCHAR unicode)
  function FX_WCHAR (line 616) | FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name)
  function CFX_ByteString (line 620) | CFX_ByteString PDF_AdobeNameFromUnicode(FX_WCHAR unicode)

FILE: core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
  function FX_LPVOID (line 38) | FX_LPVOID CPDF_CMapManager::GetPackage(FX_BOOL bPrompt)
  function CPDF_CMap (line 56) | CPDF_CMap* CPDF_CMapManager::GetPredefinedCMap(const CFX_ByteString& nam...
  function CPDF_CMap (line 69) | CPDF_CMap* CPDF_CMapManager::LoadPredefinedCMap(const CFX_ByteString& na...
  function _CharsetFromOrdering (line 81) | int _CharsetFromOrdering(const CFX_ByteString& Ordering)
  function CPDF_CID2UnicodeMap (line 124) | CPDF_CID2UnicodeMap* CPDF_CMapManager::GetCID2UnicodeMap(int charset, FX...
  function CPDF_CID2UnicodeMap (line 131) | CPDF_CID2UnicodeMap* CPDF_CMapManager::LoadCID2UnicodeMap(int charset, F...
  function FX_BOOL (line 147) | FX_BOOL	CPDF_CMapParser::Initialize(CPDF_CMap* pCMap)
  function FX_DWORD (line 155) | static FX_DWORD CMap_GetCode(FX_BSTR word)
  function FX_BOOL (line 182) | static FX_BOOL _CMap_GetCodeRange(_CMap_CodeRange& range, FX_BSTR first,...
  function CFX_ByteString (line 214) | static CFX_ByteString CMap_GetString(FX_BSTR word)
  function FX_BOOL (line 384) | FX_BOOL CPDF_CMap::LoadPredefined(CPDF_CMapManager* pMgr, FX_LPCSTR pNam...
  function compare_dword (line 473) | static int compare_dword(const void* data1, const void* data2)
  function FX_BOOL (line 478) | FX_BOOL CPDF_CMap::LoadEmbedded(FX_LPCBYTE pData, FX_DWORD size)
  function compareCID (line 500) | static int compareCID(const void* key, const void* element)
  function FX_WORD (line 511) | FX_WORD CPDF_CMap::CIDFromCharCode(FX_DWORD charcode) const
  function _CheckCodeRange (line 544) | static int _CheckCodeRange(FX_LPBYTE codes, int size, _CMap_CodeRange* p...
  function FX_DWORD (line 573) | FX_DWORD CPDF_CMap::GetNextChar(FX_LPCSTR pString, int& offset) const
  function _GetCharSize (line 666) | int _GetCharSize(FX_DWORD charcode, _CMap_CodeRange* pRanges, int iRange...
  function FX_BOOL (line 758) | FX_BOOL CPDF_CID2UnicodeMap::Initialize()
  function FX_BOOL (line 765) | FX_BOOL CPDF_CID2UnicodeMap::IsLoaded()
  function FX_WCHAR (line 773) | FX_WCHAR CPDF_CID2UnicodeMap::UnicodeFromCID(FX_WORD CID)
  function FX_WORD (line 835) | FX_WORD CPDF_CIDFont::CIDFromCharCode(FX_DWORD charcode) const
  function FX_BOOL (line 842) | FX_BOOL CPDF_CIDFont::IsVertWriting() const
  function FX_DWORD (line 847) | static FX_DWORD _EmbeddedCharcodeFromUnicode(const FXCMAP_CMap* pEmbedMa...
  function FX_WCHAR (line 869) | static FX_WCHAR _EmbeddedUnicodeFromCharcode(const FXCMAP_CMap* pEmbedMa...
  function FX_WCHAR (line 888) | FX_WCHAR CPDF_CIDFont::_UnicodeFromCharCode(FX_DWORD charcode) const
  function FX_DWORD (line 922) | FX_DWORD CPDF_CIDFont::_CharCodeFromUnicode(FX_WCHAR unicode) const
  function FT_UseCIDCharmap (line 965) | static void FT_UseCIDCharmap(FXFT_Face face, int coding)
  function FX_BOOL (line 992) | FX_BOOL CPDF_CIDFont::_Load()
  function FX_FLOAT (line 1104) | FX_FLOAT _CIDTransformToFloat(FX_BYTE ch)
  function FX_DWORD (line 1431) | FX_DWORD CPDF_CIDFont::GetNextChar(FX_LPCSTR pString, int& offset) const
  function FX_BOOL (line 1447) | FX_BOOL CPDF_CIDFont::IsUnicodeCompatible() const
  function FX_BOOL (line 1454) | FX_BOOL CPDF_CIDFont::IsFontStyleFromCharCode(FX_DWORD charcode) const
  function FX_BOOL (line 1510) | FX_BOOL CPDF_CIDFont::LoadGB2312()
  type _CIDTransform (line 1533) | struct _CIDTransform {
  function FX_LPCBYTE (line 1693) | FX_LPCBYTE CPDF_CIDFont::GetCIDTransform(FX_WORD CID) const

FILE: core/src/fpdfapi/fpdf_font/fpdf_font_utility.cpp
  function FX_LPVOID (line 18) | FX_LPVOID FXFC_LoadPackage(FX_LPCSTR name)
  function FXFC_ClosePackage (line 37) | void FXFC_ClosePackage(FX_LPVOID p)
  function FX_BOOL (line 43) | FX_BOOL FXFC_LoadFile(FX_LPVOID p, FX_LPCSTR name, FX_LPBYTE& pBuffer, F...
  function FX_BOOL (line 70) | FX_BOOL CPDF_FXMP::LoadFile(FX_LPVOID pPackage, FX_LPCSTR fileid)
  function FX_LPBYTE (line 87) | FX_LPBYTE CPDF_FXMP::GetRecord(FX_DWORD index)

FILE: core/src/fpdfapi/fpdf_font/ttgsubtable.cpp
  function _CompareInt (line 17) | static int _CompareInt(const void* p1, const void* p2)
  type _IntPair (line 22) | struct _IntPair {
  function FX_BOOL (line 49) | FX_BOOL CFX_GlyphMap::Lookup(int key, int &value)
  type TFeature (line 124) | struct TFeature
  type TLookup (line 145) | struct TLookup
  type TCoverageFormatBase (line 171) | struct TCoverageFormatBase
  type TScriptList (line 212) | struct TScriptList
  type TScriptRecord (line 220) | struct TScriptRecord
  type TScript (line 229) | struct TScript
  type TLangSysRecord (line 238) | struct TLangSysRecord
  type TLangSys (line 247) | struct TLangSys
  type TFeatureRecord (line 270) | struct TFeatureRecord
  type TLookup (line 301) | struct TLookup
  type TSubTableBase (line 319) | struct TSubTableBase
  function FX_BOOL (line 421) | FX_BOOL CFX_GSUBTable::GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vgl...
  function IFX_GSUBTable (line 425) | IFX_GSUBTable* FXGE_CreateGSUBTable(CFX_Font* pFont)

FILE: core/src/fpdfapi/fpdf_font/ttgsubtable.h
  function class (line 12) | class CFX_GlyphMap
  function class (line 22) | class CFX_CTTGSUBTable : public CFX_Object
  function virtual (line 30) | virtual ~CFX_CTTGSUBTable() {}
  function IsOk (line 31) | bool IsOk(void) const
  type tt_gsub_header (line 38) | struct tt_gsub_header {
  type TLangSys (line 44) | struct TLangSys {
  type TFeature (line 105) | struct TFeature {
  type TFeatureRecord (line 120) | struct TFeatureRecord {
  type TFeatureList (line 128) | struct TFeatureList {
  type TLookupFlag (line 142) | enum TLookupFlag {
  type TCoverageFormatBase (line 150) | struct TCoverageFormatBase {
  type TCoverageFormat1 (line 159) | struct TCoverageFormat1
  type TRangeRecord (line 176) | struct TRangeRecord {
  type TClassDefFormatBase (line 205) | struct TClassDefFormatBase {
  function TClassDefFormatBase (line 213) | struct TClassDefFormat1: public TClassDefFormatBase {
  type TClassRangeRecord (line 231) | struct TClassRangeRecord {
  type TDevice (line 257) | struct TDevice {
  function TSubTableBase (line 291) | struct TSingleSubstFormat2: public TSubTableBase {
  type TLookup (line 312) | struct TLookup {
  type TLookupList (line 331) | struct TLookupList {
  type TFeature (line 365) | struct TFeature
  type TLookup (line 369) | struct TLookup
  type TCoverageFormatBase (line 370) | struct TCoverageFormatBase
  function TT_uint8_t (line 371) | TT_uint8_t GetUInt8(FT_Bytes& p) const
  function TT_int16_t (line 377) | TT_int16_t GetInt16(FT_Bytes& p) const
  function TT_uint16_t (line 383) | TT_uint16_t GetUInt16(FT_Bytes& p) const
  function TT_int32_t (line 389) | TT_int32_t GetInt32(FT_Bytes& p) const
  function TT_uint32_t (line 395) | TT_uint32_t GetUInt32(FT_Bytes& p) const
  type tt_gsub_header (line 404) | struct tt_gsub_header
  type TScriptList (line 405) | struct TScriptList
  type TFeatureList (line 406) | struct TFeatureList
  type TLookupList (line 407) | struct TLookupList

FILE: core/src/fpdfapi/fpdf_page/fpdf_page.cpp
  function CPDF_PageObject (line 14) | CPDF_PageObject* CPDF_PageObject::Create(int type)
  function CPDF_PageObject (line 30) | CPDF_PageObject* CPDF_PageObject::Clone() const
  function FX_RECT (line 90) | FX_RECT CPDF_PageObject::GetBBox(const CFX_AffineMatrix* pMatrix) const
  function FX_FLOAT (line 321) | FX_FLOAT CPDF_TextObject::GetCharWidth(FX_DWORD charcode) const
  function FX_FLOAT (line 337) | FX_FLOAT CPDF_TextObject::GetSpaceCharWidth() const
  function FX_POSITION (line 726) | FX_POSITION CPDF_PageObjects::InsertObject(FX_POSITION posInsertAfter, C...
  function CPDF_PageObject (line 747) | CPDF_PageObject* CPDF_PageObjects::GetObjectByIndex(int index) const
  function CFX_FloatRect (line 763) | CFX_FloatRect CPDF_PageObjects::CalcBoundingBox() const
  function CPDF_Object (line 923) | CPDF_Object* FPDFAPI_GetPageAttr(CPDF_Dictionary* pPageDict, FX_BSTR name)
  function CPDF_Object (line 942) | CPDF_Object* CPDF_Page::GetPageAttr(FX_BSTR name) const
  function CPDF_Form (line 981) | CPDF_Form* CPDF_Form::Clone() const

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp
  function sRGB_to_AdobeCMYK (line 12) | void sRGB_to_AdobeCMYK(FX_FLOAT R, FX_FLOAT G, FX_FLOAT B, FX_FLOAT& c, ...
  function FX_BOOL (line 36) | FX_BOOL CPDF_DeviceCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, ...
  function FX_BOOL (line 81) | FX_BOOL CPDF_DeviceCS::v_GetCMYK(FX_FLOAT* pBuf, FX_FLOAT& c, FX_FLOAT& ...
  function FX_BOOL (line 92) | FX_BOOL CPDF_DeviceCS::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX...
  function FX_BOOL (line 112) | FX_BOOL CPDF_DeviceCS::v_SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m,...
  function ReverseRGB (line 128) | static void ReverseRGB(FX_LPBYTE pDestBuf, FX_LPCBYTE pSrcBuf, int pixels)
  function XYZ_to_sRGB (line 210) | static void XYZ_to_sRGB(FX_FLOAT X, FX_FLOAT Y, FX_FLOAT Z, FX_FLOAT& R,...
  class CPDF_CalGray (line 261) | class CPDF_CalGray : public CPDF_ColorSpace
  function FX_BOOL (line 278) | FX_BOOL CPDF_CalGray::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 296) | FX_BOOL CPDF_CalGray::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, F...
  function FX_BOOL (line 301) | FX_BOOL CPDF_CalGray::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_...
  class CPDF_CalRGB (line 318) | class CPDF_CalRGB : public CPDF_ColorSpace
  function FX_BOOL (line 337) | FX_BOOL CPDF_CalRGB::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 369) | FX_BOOL CPDF_CalRGB::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX...
  function FX_BOOL (line 392) | FX_BOOL CPDF_CalRGB::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_F...
  class CPDF_LabCS (line 418) | class CPDF_LabCS : public CPDF_ColorSpace
    method CPDF_LabCS (line 421) | CPDF_LabCS()
  function FX_BOOL (line 435) | FX_BOOL CPDF_LabCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 470) | FX_BOOL CPDF_LabCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX_...
  function FX_BOOL (line 497) | FX_BOOL CPDF_LabCS::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_FL...
  class CPDF_ICCBasedCS (line 531) | class CPDF_ICCBasedCS : public CPDF_ColorSpace
    method GetDefaultValue (line 537) | void				GetDefaultValue(int i, FX_FLOAT& min, FX_FLOAT& max) const
  function FX_BOOL (line 577) | FX_BOOL CPDF_ICCBasedCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 628) | FX_BOOL CPDF_ICCBasedCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G...
  function FX_BOOL (line 653) | FX_BOOL CPDF_ICCBasedCS::v_GetCMYK(FX_FLOAT* pBuf, FX_FLOAT& c, FX_FLOAT...
  function FX_BOOL (line 664) | FX_BOOL CPDF_ICCBasedCS::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, ...
  class CPDF_IndexedCS (line 719) | class CPDF_IndexedCS : public CPDF_ColorSpace
    method GetDefaultValue (line 725) | void				GetDefaultValue(int iComponent, FX_FLOAT& min, FX_FLOAT& max) ...
    method CPDF_ColorSpace (line 731) | virtual CPDF_ColorSpace*	GetBaseCS() const
  function FX_BOOL (line 759) | FX_BOOL CPDF_IndexedCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 797) | FX_BOOL CPDF_IndexedCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G,...
  type _PatternValue (line 827) | struct _PatternValue {
  function FX_BOOL (line 845) | FX_BOOL CPDF_PatternCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 863) | FX_BOOL CPDF_PatternCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G,...
  class CPDF_SeparationCS (line 873) | class CPDF_SeparationCS : public CPDF_ColorSpace
    method GetDefaultValue (line 878) | virtual void		GetDefaultValue(int iComponent, FX_FLOAT& value, FX_FLOA...
  function FX_BOOL (line 907) | FX_BOOL CPDF_SeparationCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 930) | FX_BOOL CPDF_SeparationCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT&...
  class CPDF_DeviceNCS (line 968) | class CPDF_DeviceNCS : public CPDF_ColorSpace
    method GetDefaultValue (line 973) | virtual void		GetDefaultValue(int iComponent, FX_FLOAT& value, FX_FLOA...
  function FX_BOOL (line 1000) | FX_BOOL CPDF_DeviceNCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray)
  function FX_BOOL (line 1024) | FX_BOOL CPDF_DeviceNCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G,...
  function CPDF_ColorSpace (line 1045) | CPDF_ColorSpace* CPDF_ColorSpace::GetStockCS(int family)
  function CPDF_ColorSpace (line 1049) | CPDF_ColorSpace* _CSFromName(const CFX_ByteString& name)
  function CPDF_ColorSpace (line 1065) | CPDF_ColorSpace* CPDF_ColorSpace::Load(CPDF_Document* pDoc, CPDF_Object*...
  function FX_FLOAT (line 1162) | FX_FLOAT* CPDF_ColorSpace::CreateBuf()
  function FX_BOOL (line 1168) | FX_BOOL CPDF_ColorSpace::sRGB() const
  function FX_BOOL (line 1179) | FX_BOOL CPDF_ColorSpace::GetCMYK(FX_FLOAT* pBuf, FX_FLOAT& c, FX_FLOAT& ...
  function FX_BOOL (line 1191) | FX_BOOL CPDF_ColorSpace::SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m,...
  function FX_BOOL (line 1359) | FX_BOOL CPDF_Color::GetRGB(int& R, int& G, int& B) const
  function CPDF_Pattern (line 1373) | CPDF_Pattern* CPDF_Color::GetPattern() const
  function CPDF_ColorSpace (line 1381) | CPDF_ColorSpace* CPDF_Color::GetPatternCS() const
  function FX_FLOAT (line 1388) | FX_FLOAT* CPDF_Color::GetPatternColor() const
  function FX_BOOL (line 1396) | FX_BOOL CPDF_Color::IsEqual(const CPDF_Color& other) const

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp
  class CPDF_PageModule (line 12) | class CPDF_PageModule : public CPDF_PageModuleDef
    method CPDF_PageModule (line 15) | CPDF_PageModule() : m_StockGrayCS(PDFCS_DEVICEGRAY), m_StockRGBCS(PDFC...
    method FX_BOOL (line 18) | virtual FX_BOOL		Installed()
    method CPDF_DocPageData (line 22) | virtual CPDF_DocPageData*	CreateDocData(CPDF_Document* pDoc)
    method CPDF_FontGlobals (line 28) | virtual CPDF_FontGlobals*	GetFontGlobals()
    method ClearStockFont (line 32) | virtual void				ClearStockFont(CPDF_Document* pDoc)
  function CPDF_ColorSpace (line 44) | CPDF_ColorSpace* CPDF_PageModule::GetStockCS(int family)
  function CPDF_Font (line 80) | CPDF_Font* CPDF_Document::LoadFont(CPDF_Dictionary* pFontDict)
  function CPDF_Font (line 87) | CPDF_Font* CPDF_Document::FindFont(CPDF_Dictionary* pFontDict)
  function CPDF_StreamAcc (line 94) | CPDF_StreamAcc* CPDF_Document::LoadFontFile(CPDF_Stream* pStream)
  function CPDF_ColorSpace (line 102) | CPDF_ColorSpace* CPDF_Document::LoadColorSpace(CPDF_Object* pCSObj, CPDF...
  function CPDF_Pattern (line 106) | CPDF_Pattern* CPDF_Document::LoadPattern(CPDF_Object* pPatternObj, FX_BO...
  function CPDF_IccProfile (line 110) | CPDF_IccProfile* CPDF_Document::LoadIccProfile(CPDF_Stream* pStream, int...
  function CPDF_Image (line 114) | CPDF_Image* CPDF_Document::LoadImageF(CPDF_Object* pObj)
  function CPDF_Font (line 247) | CPDF_Font* CPDF_DocPageData::GetFont(CPDF_Dictionary* pFontDict, FX_BOOL...
  function CPDF_Font (line 290) | CPDF_Font* CPDF_DocPageData::GetStandardFont(FX_BSTR fontName, CPDF_Font...
  function CPDF_ColorSpace (line 359) | CPDF_ColorSpace* CPDF_DocPageData::GetColorSpace(CPDF_Object* pCSObj, CP...
  function CPDF_ColorSpace (line 435) | CPDF_ColorSpace* CPDF_DocPageData::GetCopiedColorSpace(CPDF_Object* pCSObj)
  function CPDF_Pattern (line 464) | CPDF_Pattern* CPDF_DocPageData::GetPattern(CPDF_Object* pPatternObj, FX_...
  function CPDF_Image (line 523) | CPDF_Image* CPDF_DocPageData::GetImage(CPDF_Object* pImageStream)
  function CPDF_IccProfile (line 556) | CPDF_IccProfile* CPDF_DocPageData::GetIccProfile(CPDF_Stream* pIccProfil...
  function CPDF_StreamAcc (line 611) | CPDF_StreamAcc* CPDF_DocPageData::GetFontFileStreamAcc(CPDF_Stream* pFon...

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_func.cpp
  class CPDF_PSEngine (line 11) | class CPDF_PSEngine
    method FX_BOOL (line 35) | FX_BOOL	Execute()
    method Reset (line 40) | void	Reset()
    method Push (line 45) | void	Push(int value)
    method GetStackSize (line 50) | int		GetStackSize()
  class CPDF_PSProc (line 20) | class CPDF_PSProc : public CFX_Object
  class CPDF_PSEngine (line 29) | class CPDF_PSEngine : public CFX_Object
    method FX_BOOL (line 35) | FX_BOOL	Execute()
    method Reset (line 40) | void	Reset()
    method Push (line 45) | void	Push(int value)
    method GetStackSize (line 50) | int		GetStackSize()
  function FX_BOOL (line 73) | FX_BOOL CPDF_PSProc::Execute(CPDF_PSEngine* pEngine)
  function FX_FLOAT (line 121) | FX_FLOAT CPDF_PSEngine::Pop()
  type _PDF_PSOpName (line 128) | struct _PDF_PSOpName {
  function FX_BOOL (line 146) | FX_BOOL CPDF_PSEngine::Parse(const FX_CHAR* string, int size)
  function FX_BOOL (line 155) | FX_BOOL CPDF_PSProc::Parse(CPDF_SimpleParser& parser)
  function FX_BOOL (line 191) | FX_BOOL CPDF_PSEngine::DoOperator(PDF_PSOP op)
  function FX_FLOAT (line 421) | static FX_FLOAT PDF_Interpolate(FX_FLOAT x, FX_FLOAT xmin, FX_FLOAT xmax...
  function FX_DWORD (line 425) | static FX_DWORD _GetBits32(FX_LPCBYTE pData, int bitpos, int nbits)
  class CPDF_SampledFunc (line 441) | class CPDF_SampledFunc : public CPDF_Function
  function FX_BOOL (line 471) | FX_BOOL CPDF_SampledFunc::v_Init(CPDF_Object* pObj)
  function FX_BOOL (line 532) | FX_BOOL CPDF_SampledFunc::v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const
  class CPDF_PSFunc (line 580) | class CPDF_PSFunc : public CPDF_Function
  function FX_BOOL (line 587) | FX_BOOL CPDF_PSFunc::v_Init(CPDF_Object* pObj)
  function FX_BOOL (line 594) | FX_BOOL CPDF_PSFunc::v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const
  class CPDF_ExpIntFunc (line 611) | class CPDF_ExpIntFunc : public CPDF_Function
  function FX_BOOL (line 637) | FX_BOOL CPDF_ExpIntFunc::v_Init(CPDF_Object* pObj)
  function FX_BOOL (line 665) | FX_BOOL CPDF_ExpIntFunc::v_Call(FX_FLOAT* inputs, FX_FLOAT* results) const
  class CPDF_StitchFunc (line 674) | class CPDF_StitchFunc : public CPDF_Function
  function FX_BOOL (line 709) | FX_BOOL CPDF_StitchFunc::v_Init(CPDF_Object* pObj)
  function FX_BOOL (line 759) | FX_BOOL CPDF_StitchFunc::v_Call(FX_FLOAT* inputs, FX_FLOAT* outputs) const
  function CPDF_Function (line 775) | CPDF_Function* CPDF_Function::Load(CPDF_Object* pFuncObj)
  function FX_BOOL (line 822) | FX_BOOL CPDF_Function::Init(CPDF_Object* pObj)
  function FX_BOOL (line 861) | FX_BOOL CPDF_Function::Call(FX_FLOAT* inputs, int ninputs, FX_FLOAT* res...

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
  function CPDF_Rect (line 100) | CPDF_Rect CPDF_ClipPath::GetClipBox() const
  function FX_FLOAT (line 321) | FX_FLOAT CPDF_TextState::GetFontSizeV() const
  function FX_FLOAT (line 328) | FX_FLOAT CPDF_TextState::GetFontSizeH() const
  function FX_FLOAT (line 335) | FX_FLOAT CPDF_TextState::GetBaselineAngle() const
  function FX_FLOAT (line 340) | FX_FLOAT CPDF_TextState::GetShearAngle() const
  function GetBlendType (line 376) | static int GetBlendType(FX_BSTR mode)
  function RI_StringToId (line 426) | int RI_StringToId(const CFX_ByteString& ri)
  function FX_BOOL (line 632) | FX_BOOL	CPDF_ContentMarkItem::HasMCID() const
  function FX_BOOL (line 677) | FX_BOOL CPDF_ContentMark::HasMark(FX_BSTR mark) const
  function FX_BOOL (line 690) | FX_BOOL CPDF_ContentMark::LookupMark(FX_BSTR mark, CPDF_Dictionary*& pDi...

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_image.cpp
  function CPDF_Image (line 52) | CPDF_Image* CPDF_Image::Clone()
  function FX_BOOL (line 96) | FX_BOOL CPDF_Image::LoadImageF(CPDF_Stream* pStream, FX_BOOL bInline)

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
  function FX_BOOL (line 42) | FX_BOOL CPDF_StreamContentParser::Initialize()
  function CPDF_Object (line 202) | CPDF_Object* CPDF_StreamContentParser::GetObject(FX_DWORD index)
  function CFX_ByteString (line 230) | CFX_ByteString CPDF_StreamContentParser::GetString(FX_DWORD index)
  function FX_FLOAT (line 248) | FX_FLOAT CPDF_StreamContentParser::GetNumber(FX_DWORD index)
  function FX_FLOAT (line 266) | FX_FLOAT CPDF_StreamContentParser::GetNumber16(FX_DWORD index)
  type _OpCode (line 285) | struct _OpCode {
  function FX_BOOL (line 363) | FX_BOOL CPDF_StreamContentParser::OnOperator(FX_LPCSTR op)
  type _FX_BSTR (line 451) | struct _FX_BSTR {
  function CFX_ByteStringC (line 480) | static CFX_ByteStringC _PDF_FindFullName(const _FX_BSTR* table, int coun...
  function _PDF_ReplaceAbbr (line 491) | void _PDF_ReplaceAbbr(CPDF_Object* pObj)
  function CFX_ByteStringC (line 538) | static CFX_ByteStringC _PDF_FindAbbrName(const _FX_BSTR* table, int coun...
  function _PDF_ReplaceFull (line 549) | void _PDF_ReplaceFull(CPDF_Object* pObj)
  function CPDF_ImageObject (line 841) | CPDF_ImageObject* CPDF_StreamContentParser::AddImage(CPDF_Stream* pStrea...
  function CPDF_Object (line 1277) | CPDF_Object* CPDF_StreamContentParser::FindResourceObj(FX_BSTR type, con...
  function CPDF_Font (line 1305) | CPDF_Font* CPDF_StreamContentParser::FindFont(const CFX_ByteString& name)
  function CPDF_ColorSpace (line 1319) | CPDF_ColorSpace* CPDF_StreamContentParser::FindColorSpace(const CFX_Byte...
  function CPDF_Pattern (line 1346) | CPDF_Pattern* CPDF_StreamContentParser::FindPattern(const CFX_ByteString...
  function CFX_ByteString (line 1645) | CFX_ByteString _FPDF_ByteStringFromHex(CFX_BinaryBuf& src_buf)

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_parser_new.cpp
  function FX_BOOL (line 333) | FX_BOOL CPDF_StreamContentParser::SetToCurObj(CPDF_Object* pObject)

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp
  function FX_BOOL (line 21) | FX_BOOL _PDF_HasInvalidOpChar(FX_LPCSTR op)
  function FX_DWORD (line 34) | FX_DWORD CPDF_StreamContentParser::Parse(FX_LPCBYTE pData, FX_DWORD dwSi...
  function FX_DWORD (line 241) | FX_DWORD _DecodeAllScanlines(ICodec_ScanlineDecoder* pDecoder, FX_LPBYTE...
  function FX_DWORD (line 274) | FX_DWORD PDF_DecodeInlineStream(const FX_BYTE* src_buf, FX_DWORD limit,
  function CPDF_Stream (line 301) | CPDF_Stream* CPDF_StreamParser::ReadInlineStream(CPDF_Document* pDoc, CP...
  function CPDF_Object (line 572) | CPDF_Object* CPDF_StreamParser::ReadNextObject(FX_BOOL bAllowNestedArray...
  function CFX_ByteString (line 747) | CFX_ByteString CPDF_StreamParser::ReadString()
  function CFX_ByteString (line 843) | CFX_ByteString CPDF_StreamParser::ReadHexString()

FILE: core/src/fpdfapi/fpdf_page/fpdf_page_pattern.cpp
  function FX_BOOL (line 30) | FX_BOOL CPDF_TilingPattern::Load()
  function FX_BOOL (line 95) | FX_BOOL CPDF_ShadingPattern::Load()
  function FX_BOOL (line 135) | FX_BOOL CPDF_ShadingPattern::Reload()
  function FX_BOOL (line 140) | FX_BOOL CPDF_MeshStream::Load(CPDF_Stream* pShadingStream, CPDF_Function...
  function FX_DWORD (line 178) | FX_DWORD CPDF_MeshStream::GetFlag()
  function FX_DWORD (line 214) | FX_DWORD CPDF_MeshStream::GetVertex(CPDF_MeshVertex& vertex, CFX_AffineM...
  function FX_BOOL (line 223) | FX_BOOL CPDF_MeshStream::GetVertexRow(CPDF_MeshVertex* vertex, int count...
  function CFX_FloatRect (line 236) | CFX_FloatRect _GetShadingBBox(CPDF_Stream* pStream, int type, const CFX_...

FILE: core/src/fpdfapi/fpdf_page/pageint.h
  function class (line 12) | class CPDF_StreamParser : public CFX_Object
  type PDFOP (line 60) | typedef enum {
  type _ContentParam (line 100) | typedef struct {
  function class (line 124) | class CPDF_StreamContentParser : public CFX_Object
  function class (line 320) | class CPDF_ContentParser : public CFX_Object
  function class (line 352) | class CPDF_AllStates : public CPDF_GraphicStates
  type CFX_MapPtrTemplate (line 370) | typedef CFX_MapPtrTemplate<CPDF_Dictionary*, CPDF_CountedObject<CPDF_Fon...
  type CFX_MapPtrTemplate (line 371) | typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_ColorSp...
  type CFX_MapPtrTemplate (line 372) | typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_Pattern...
  type CFX_MapPtrTemplate (line 373) | typedef CFX_MapPtrTemplate<FX_DWORD, CPDF_CountedObject<CPDF_Image*>*>		...
  type CFX_MapPtrTemplate (line 374) | typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedObject<CPDF_IccProf...
  type CFX_MapPtrTemplate (line 375) | typedef CFX_MapPtrTemplate<CPDF_Stream*, CPDF_CountedObject<CPDF_StreamA...
  function class (line 410) | class CPDF_DocPageData : public CFX_Object
  function class (line 439) | class CPDF_Function : public CFX_Object
  function class (line 462) | class CPDF_IccProfile : public CFX_Object
  function class (line 470) | class CPDF_DeviceCS : public CPDF_ColorSpace
  function class (line 480) | class CPDF_PatternCS : public CPDF_ColorSpace
  function class (line 494) | class CPDF_ResourceNaming : public CFX_Object

FILE: core/src/fpdfapi/fpdf_parser/filters_int.h
  function class (line 7) | class CPDF_DecryptFilter : public CFX_DataFilter
  function class (line 18) | class CPDF_FlateFilter : public CFX_DataFilter
  function class (line 28) | class CPDF_LzwFilter : public CFX_DataFilter
  function class (line 47) | class CPDF_PredictorFilter : public CFX_DataFilter
  function class (line 59) | class CPDF_AsciiHexFilter : public CFX_DataFilter
  function class (line 69) | class CPDF_Ascii85Filter : public CFX_DataFilter
  function class (line 80) | class CPDF_RunLenFilter : public CFX_DataFilter
  function class (line 90) | class CPDF_JpegFilter : public CFX_DataFilter
  function class (line 103) | class CPDF_FaxFilter : public CFX_DataFilter

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
  function FX_DWORD (line 12) | FX_DWORD _A85Decode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE...
  function FX_DWORD (line 88) | FX_DWORD _HexDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE...
  function FX_DWORD (line 128) | FX_DWORD RunLengthDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_L...
  function ICodec_ScanlineDecoder (line 191) | ICodec_ScanlineDecoder* FPDFAPI_CreateFaxDecoder(FX_LPCBYTE src_buf, FX_...
  function FX_BOOL (line 217) | static FX_BOOL CheckFlateDecodeParams(int Colors, int BitsPerComponent, ...
  function ICodec_ScanlineDecoder (line 237) | ICodec_ScanlineDecoder* FPDFAPI_CreateFlateDecoder(FX_LPCBYTE src_buf, F...
  function FX_DWORD (line 256) | FX_DWORD FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, const FX_BYTE* src_buf, ...
  function FX_BOOL (line 276) | FX_BOOL PDF_DataDecode(FX_LPCBYTE src_buf, FX_DWORD src_size, const CPDF...
  function CFX_WideString (line 397) | CFX_WideString PDF_DecodeText(FX_LPCBYTE src_data, FX_DWORD src_len, CFX...
  function CFX_WideString (line 439) | CFX_WideString PDF_DecodeText(const CFX_ByteString& bstr, CFX_CharMap* p...
  function CFX_ByteString (line 443) | CFX_ByteString PDF_EncodeText(FX_LPCWSTR pString, int len, CFX_CharMap* ...
  function CFX_ByteString (line 488) | CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, FX_BOOL bHex)
  function FlateEncode (line 518) | void FlateEncode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYTE& d...
  function FlateEncode (line 525) | void FlateEncode(FX_LPCBYTE src_buf, FX_DWORD src_size, int predictor, i...
  function FX_DWORD (line 533) | FX_DWORD FlateDecode(const FX_BYTE* src_buf, FX_DWORD src_size, FX_LPBYT...

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp
  function CPDF_DocPageData (line 22) | CPDF_DocPageData* CPDF_Document::GetValidatePageData()
  function CPDF_DocRenderData (line 30) | CPDF_DocRenderData* CPDF_Document::GetValidateRenderData()
  function CPDF_Dictionary (line 107) | CPDF_Dictionary* CPDF_Document::_FindPDFPage(CPDF_Dictionary* pPages, in...
  function CPDF_Dictionary (line 145) | CPDF_Dictionary* CPDF_Document::GetPage(int iPage)
  function _CountPages (line 258) | static int _CountPages(CPDF_Dictionary* pPages, int level)
  function FX_BOOL (line 301) | static FX_BOOL _EnumPages(CPDF_Dictionary* pPages, IPDF_EnumPageHandler*...
  function FX_BOOL (line 334) | FX_BOOL CPDF_Document::IsContentUsedElsewhere(FX_DWORD objnum, CPDF_Dict...
  function FX_DWORD (line 359) | FX_DWORD CPDF_Document::GetUserPermissions(FX_BOOL bCheckRevision) const
  function FX_BOOL (line 366) | FX_BOOL CPDF_Document::IsOwner() const
  function FX_BOOL (line 373) | FX_BOOL CPDF_Document::IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) const

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_encrypt.cpp
  function CalcEncryptKey (line 16) | void CalcEncryptKey(CPDF_Dictionary* pEncrypt, FX_LPCBYTE password, FX_D...
  function CPDF_CryptoHandler (line 53) | CPDF_CryptoHandler* CPDF_StandardSecurityHandler::CreateCryptoHandler()
  type _PDF_CRYPTOITEM (line 57) | struct _PDF_CRYPTOITEM : public CFX_Object {
  function FX_BOOL (line 77) | FX_BOOL CPDF_StandardSecurityHandler::OnInit(CPDF_Parser* pParser, CPDF_...
  function FX_BOOL (line 88) | FX_BOOL CPDF_StandardSecurityHandler::CheckSecurity(FX_INT32 key_len)
  function FX_DWORD (line 102) | FX_DWORD CPDF_StandardSecurityHandler::GetPermissions()
  function FX_BOOL (line 106) | static FX_BOOL _LoadCryptInfo(CPDF_Dictionary* pEncryptDict, FX_BSTR nam...
  function FX_BOOL (line 150) | FX_BOOL CPDF_StandardSecurityHandler::LoadDict(CPDF_Dictionary* pEncrypt...
  function FX_BOOL (line 170) | FX_BOOL CPDF_StandardSecurityHandler::LoadDict(CPDF_Dictionary* pEncrypt...
  function FX_BOOL (line 193) | FX_BOOL CPDF_StandardSecurityHandler::GetCryptInfo(int& cipher, FX_LPCBY...
  function BigOrder64BitsMod3 (line 207) | int BigOrder64BitsMod3(FX_LPBYTE data)
  function Revision6_Hash (line 219) | void Revision6_Hash(FX_LPCBYTE password, FX_DWORD size, FX_LPCBYTE salt,...
  function FX_BOOL (line 292) | FX_BOOL CPDF_StandardSecurityHandler::AES256_CheckPassword(FX_LPCBYTE pa...
  function FX_BOOL (line 389) | FX_BOOL CPDF_StandardSecurityHandler::CheckUserPassword(FX_LPCBYTE passw...
  function CFX_ByteString (line 433) | CFX_ByteString CPDF_StandardSecurityHandler::GetUserPassword(FX_LPCBYTE ...
  function CFX_ByteString (line 437) | CFX_ByteString CPDF_StandardSecurityHandler::GetUserPassword(FX_LPCBYTE ...
  function FX_BOOL (line 484) | FX_BOOL CPDF_StandardSecurityHandler::CheckOwnerPassword(FX_LPCBYTE pass...
  function FX_BOOL (line 493) | FX_BOOL CPDF_StandardSecurityHandler::IsMetadataEncrypted()
  function CPDF_SecurityHandler (line 497) | CPDF_SecurityHandler* FPDF_CreateStandardSecurityHandler()
  type _AESCryptContext (line 722) | struct _AESCryptContext {
  function FX_LPVOID (line 728) | FX_LPVOID CPDF_StandardCryptoHandler::CryptStart(FX_DWORD objnum, FX_DWO...
  function FX_BOOL (line 776) | FX_BOOL CPDF_StandardCryptoHandler::CryptStream(FX_LPVOID context, FX_LP...
  function FX_BOOL (line 829) | FX_BOOL CPDF_StandardCryptoHandler::CryptFinish(FX_LPVOID context, CFX_B...
  function FX_LPVOID (line 862) | FX_LPVOID CPDF_StandardCryptoHandler::DecryptStart(FX_DWORD objnum, FX_D...
  function FX_DWORD (line 866) | FX_DWORD CPDF_StandardCryptoHandler::DecryptGetSize(FX_DWORD src_size)
  function FX_BOOL (line 870) | FX_BOOL CPDF_StandardCryptoHandler::Init(CPDF_Dictionary* pEncryptDict, ...
  function FX_BOOL (line 887) | FX_BOOL CPDF_StandardCryptoHandler::Init(int cipher, FX_LPCBYTE key, int...
  function FX_BOOL (line 919) | FX_BOOL CPDF_StandardCryptoHandler::DecryptStream(FX_LPVOID context, FX_...
  function FX_BOOL (line 924) | FX_BOOL CPDF_StandardCryptoHandler::DecryptFinish(FX_LPVOID context, CFX...
  function FX_DWORD (line 928) | FX_DWORD CPDF_StandardCryptoHandler::EncryptGetSize(FX_DWORD objnum, FX_...
  function FX_BOOL (line 935) | FX_BOOL CPDF_StandardCryptoHandler::EncryptContent(FX_DWORD objnum, FX_D...

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
  function CFDF_Document (line 20) | CFDF_Document* CFDF_Document::CreateNewDoc()
  function CFDF_Document (line 29) | CFDF_Document* CFDF_Document::ParseFile(FX_LPCSTR file_path)
  function CFDF_Document (line 33) | CFDF_Document* CFDF_Document::ParseFile(FX_LPCWSTR file_path)
  function CFDF_Document (line 37) | CFDF_Document* CFDF_Document::ParseFile(IFX_FileRead *pFile, FX_BOOL bOw...
  function CFDF_Document (line 50) | CFDF_Document* CFDF_Document::ParseMemory(FX_LPCBYTE pData, FX_DWORD size)
  function FX_BOOL (line 96) | FX_BOOL CFDF_Document::WriteBuf(CFX_ByteTextBuf& buf) const
  function CFX_WideString (line 112) | CFX_WideString CFDF_Document::GetWin32Path() const
  function FX_BOOL (line 124) | FX_BOOL CFDF_Document::WriteFile(FX_LPCSTR file_path) const
  function FX_BOOL (line 134) | FX_BOOL CFDF_Document::WriteFile(FX_LPCWSTR file_path) const
  function FX_BOOL (line 144) | FX_BOOL CFDF_Document::WriteFile(IFX_FileWrite *pFile) const
  function CFX_WideString (line 154) | static CFX_WideString ChangeSlash(FX_LPCWSTR str)
  function FPDF_FileSpec_SetWin32Path (line 169) | void FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideSt...
  function CFX_WideString (line 192) | CFX_WideString	FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec)

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_filters.cpp
  function CFX_DataFilter (line 69) | CFX_DataFilter* FPDF_CreateFilter(FX_BSTR name, const CPDF_Dictionary* p...
  function CFX_DataFilter (line 133) | CFX_DataFilter* _FPDF_CreateFilterFromDict(CPDF_Dictionary* pDict)
  function CPDF_StreamFilter (line 169) | CPDF_StreamFilter* CPDF_Stream::GetStreamFilter(FX_BOOL bRaw) const
  function FX_DWORD (line 202) | FX_DWORD CPDF_StreamFilter::ReadBlock(FX_LPBYTE buffer, FX_DWORD buf_size)
  function FX_DWORD (line 252) | FX_DWORD CPDF_StreamFilter::ReadLeftOver(FX_LPBYTE buffer, FX_DWORD buf_...
  function my_free_func (line 301) | static void   my_free_func  (void* opaque, void* address)
  function FX_BYTE (line 464) | static FX_BYTE PaethPredictor(int a, int b, int c)
  function PNG_PredictorLine (line 478) | static void PNG_PredictorLine(FX_LPBYTE cur_buf, FX_LPBYTE ref_buf, int ...
  function FX_BOOL (line 798) | FX_BOOL CPDF_FaxFilter::Initialize(int Encoding, int bEndOfLine, int bBy...
  function FX_BOOL (line 876) | FX_BOOL CPDF_FaxFilter::ReadLine(FX_LPCBYTE src_buf, int bitsize, int& b...

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp
  function CFX_ByteString (line 37) | CFX_ByteString CPDF_Object::GetString() const
  function CFX_ByteStringC (line 62) | CFX_ByteStringC CPDF_Object::GetConstString() const
  function FX_FLOAT (line 83) | FX_FLOAT CPDF_Object::GetNumber() const
  function FX_FLOAT (line 102) | FX_FLOAT CPDF_Object::GetNumber16() const
  function CPDF_Dictionary (line 129) | CPDF_Dictionary* CPDF_Object::GetDict() const
  function CPDF_Array (line 150) | CPDF_Array* CPDF_Object::GetArray() const
  function FX_BOOL (line 184) | FX_BOOL CPDF_Object::IsIdentical(CPDF_Object* pOther) const
  function CPDF_Object (line 222) | CPDF_Object* CPDF_Object::GetDirect() const
  function CPDF_Object (line 233) | CPDF_Object* CPDF_Object::Clone(FX_BOOL bDirect) const
  function CPDF_Object (line 238) | CPDF_Object* CPDF_Object::CloneInternal(FX_BOOL bDirect, CFX_MapPtrToPtr...
  function CPDF_Object (line 304) | CPDF_Object* CPDF_Object::CloneRef(CPDF_IndirectObjects* pDoc) const
  function CFX_WideString (line 311) | CFX_WideString CPDF_Object::GetUnicodeText(CFX_CharMap* pCharMap) const
  function FX_BOOL (line 362) | FX_BOOL CPDF_Number::Identical(CPDF_Number* pOther) const
  function CFX_ByteString (line 366) | CFX_ByteString CPDF_Number::GetString() const
  function CFX_FloatRect (line 390) | CFX_FloatRect CPDF_Array::GetRect()
  function CFX_AffineMatrix (line 402) | CFX_AffineMatrix CPDF_Array::GetMatrix()
  function CPDF_Object (line 411) | CPDF_Object* CPDF_Array::GetElement(FX_DWORD i) const
  function CPDF_Object (line 418) | CPDF_Object* CPDF_Array::GetElementValue(FX_DWORD i) const
  function CFX_ByteString (line 425) | CFX_ByteString CPDF_Array::GetString(FX_DWORD i) const
  function CFX_ByteStringC (line 434) | CFX_ByteStringC CPDF_Array::GetConstString(FX_DWORD i) const
  function FX_FLOAT (line 451) | FX_FLOAT CPDF_Array::GetNumber(FX_DWORD i) const
  function CPDF_Dictionary (line 459) | CPDF_Dictionary* CPDF_Array::GetDict(FX_DWORD i) const
  function CPDF_Stream (line 471) | CPDF_Stream* CPDF_Array::GetStream(FX_DWORD i) const
  function CPDF_Array (line 479) | CPDF_Array* CPDF_Array::GetArray(FX_DWORD i) const
  function FX_BOOL (line 559) | FX_BOOL CPDF_Array::Identical(CPDF_Array* pOther) const
  function FX_POSITION (line 579) | FX_POSITION CPDF_Dictionary::GetStartPos() const
  function CPDF_Object (line 583) | CPDF_Object* CPDF_Dictionary::GetNextElement(FX_POSITION& pos, CFX_ByteS...
  function CPDF_Object (line 592) | CPDF_Object* CPDF_Dictionary::GetElement(FX_BSTR key) const
  function CPDF_Object (line 598) | CPDF_Object* CPDF_Dictionary::GetElementValue(FX_BSTR key) const
  function CFX_ByteString (line 604) | CFX_ByteString CPDF_Dictionary::GetString(FX_BSTR key) const
  function CFX_ByteStringC (line 613) | CFX_ByteStringC CPDF_Dictionary::GetConstString(FX_BSTR key) const
  function CFX_WideString (line 622) | CFX_WideString CPDF_Dictionary::GetUnicodeText(FX_BSTR key, CFX_CharMap*...
  function CFX_ByteString (line 636) | CFX_ByteString CPDF_Dictionary::GetString(FX_BSTR key, FX_BSTR def) const
  function CFX_ByteStringC (line 645) | CFX_ByteStringC CPDF_Dictionary::GetConstString(FX_BSTR key, FX_BSTR def...
  function FX_FLOAT (line 672) | FX_FLOAT CPDF_Dictionary::GetNumber(FX_BSTR key) const
  function FX_BOOL (line 681) | FX_BOOL CPDF_Dictionary::GetBoolean(FX_BSTR key, FX_BOOL bDefault) const
  function CPDF_Dictionary (line 690) | CPDF_Dictionary* CPDF_Dictionary::GetDict(FX_BSTR key) const
  function CPDF_Array (line 702) | CPDF_Array* CPDF_Dictionary::GetArray(FX_BSTR key) const
  function CPDF_Stream (line 710) | CPDF_Stream* CPDF_Dictionary::GetStream(FX_BSTR key) const
  function CFX_FloatRect (line 718) | CFX_FloatRect CPDF_Dictionary::GetRect(FX_BSTR key) const
  function CFX_AffineMatrix (line 727) | CFX_AffineMatrix CPDF_Dictionary::GetMatrix(FX_BSTR key) const
  function FX_BOOL (line 736) | FX_BOOL CPDF_Dictionary::KeyExist(FX_BSTR key) const
  function FX_BOOL (line 788) | FX_BOOL CPDF_Dictionary::Identical(CPDF_Dictionary* pOther) const
  function FX_BOOL (line 936) | FX_BOOL CPDF_Stream::ReadRawData(FX_FILESIZE offset, FX_LPBYTE buf, FX_D...
  function FX_BOOL (line 955) | FX_BOOL CPDF_Stream::Identical(CPDF_Stream* pOther) const
  function CPDF_Stream (line 1027) | CPDF_Stream* CPDF_Stream::Clone(FX_BOOL bDirect, FPDF_LPFCloneStreamCall...
  function FX_LPCBYTE (line 1141) | FX_LPCBYTE CPDF_StreamAcc::GetData() const
  function FX_DWORD (line 1151) | FX_DWORD CPDF_StreamAcc::GetSize() const
  function FX_LPBYTE (line 1161) | FX_LPBYTE CPDF_StreamAcc::DetachData()
  function CPDF_Object (line 1200) | CPDF_Object* CPDF_IndirectObjects::GetIndirectObject(FX_DWORD objnum, st...
  function FX_DWORD (line 1247) | FX_DWORD CPDF_IndirectObjects::AddIndirectObject(CPDF_Object* pObj)
  function FX_DWORD (line 1290) | FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
  function FX_BOOL (line 15) | FX_BOOL IsSignatureDict(const CPDF_Dictionary* pDict)
  function FX_INT32 (line 29) | static FX_INT32 _CompareDWord(const void* p1, const void* p2)
  function _CompareFileSize (line 33) | static int _CompareFileSize(const void* p1, const void* p2)
  function FX_DWORD (line 60) | FX_DWORD CPDF_Parser::GetLastObjNum()
  function FX_INT32 (line 109) | static FX_INT32 GetHeaderOffset(IFX_FileRead* pFile)
  function FX_DWORD (line 128) | FX_DWORD CPDF_Parser::StartParse(FX_LPCSTR filename, FX_BOOL bReParse)
  function FX_DWORD (line 136) | FX_DWORD CPDF_Parser::StartParse(FX_LPCWSTR filename, FX_BOOL bReParse)
  function FX_DWORD (line 146) | FX_DWORD CPDF_Parser::StartParse(IFX_FileRead* pFileAccess, FX_BOOL bReP...
  function FX_DWORD (line 240) | FX_DWORD CPDF_Parser::SetEncryptHandler()
  function FX_FILESIZE (line 311) | FX_FILESIZE CPDF_Parser::GetObjectOffset(FX_DWORD objnum)
  function FX_INT32 (line 324) | static FX_INT32 GetDirectInteger(CPDF_Dictionary* pDict, FX_BSTR key)
  function FX_BOOL (line 335) | static FX_BOOL CheckDirectType(CPDF_Dictionary* pDict, FX_BSTR key, FX_I...
  function FX_BOOL (line 343) | FX_BOOL CPDF_Parser::LoadAllCrossRefV4(FX_FILESIZE xrefpos)
  function FX_BOOL (line 395) | FX_BOOL CPDF_Parser::LoadLinearizedAllCrossRefV4(FX_FILESIZE xrefpos, FX...
  function FX_BOOL (line 429) | FX_BOOL CPDF_Parser::LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD ...
  function FX_BOOL (line 491) | FX_BOOL CPDF_Parser::LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streamp...
  function FX_BOOL (line 596) | FX_BOOL CPDF_Parser::LoadAllCrossRefV5(FX_FILESIZE xrefpos)
  function FX_BOOL (line 609) | FX_BOOL CPDF_Parser::RebuildCrossRef()
  function FX_DWORD (line 982) | static FX_DWORD _GetVarInt(FX_LPCBYTE p, FX_INT32 n)
  function FX_BOOL (line 990) | FX_BOOL CPDF_Parser::LoadCrossRefV5(FX_FILESIZE pos, FX_FILESIZE& prev, ...
  function CPDF_Array (line 1113) | CPDF_Array* CPDF_Parser::GetIDArray()
  function FX_DWORD (line 1128) | FX_DWORD CPDF_Parser::GetRootObjNum()
  function FX_DWORD (line 1136) | FX_DWORD CPDF_Parser::GetInfoObjNum()
  function FX_BOOL (line 1144) | FX_BOOL CPDF_Parser::IsFormStream(FX_DWORD objnum, FX_BOOL& bForm)
  function CPDF_Object (line 1171) | CPDF_Object* CPDF_Parser::ParseIndirectObject(CPDF_IndirectObjects* pObj...
  function CPDF_StreamAcc (line 1208) | CPDF_StreamAcc* CPDF_Parser::GetObjectStream(FX_DWORD objnum)
  function FX_FILESIZE (line 1223) | FX_FILESIZE CPDF_Parser::GetObjectSize(FX_DWORD objnum)
  function CPDF_Object (line 1350) | CPDF_Object* CPDF_Parser::ParseIndirectObjectAt(CPDF_IndirectObjects* pO...
  function CPDF_Object (line 1392) | CPDF_Object* CPDF_Parser::ParseIndirectObjectAtByStrict(CPDF_IndirectObj...
  function CPDF_Dictionary (line 1425) | CPDF_Dictionary* CPDF_Parser::LoadTrailerV4()
  function FX_DWORD (line 1439) | FX_DWORD CPDF_Parser::GetPermissions(FX_BOOL bCheckRevision)
  function FX_BOOL (line 1454) | FX_BOOL CPDF_Parser::IsOwner()
  function FX_BOOL (line 1473) | FX_BOOL CPDF_Parser::IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWOR...
  function FX_DWORD (line 1521) | FX_DWORD CPDF_Parser::StartAsynParse(IFX_FileRead* pFileAccess, FX_BOOL ...
  function FX_BOOL (line 1604) | FX_BOOL CPDF_Parser::LoadLinearizedAllCrossRefV5(FX_FILESIZE xrefpos)
  function FX_DWORD (line 1617) | FX_DWORD CPDF_Parser::LoadLinearizedMainXRefTable()
  function FX_BOOL (line 1678) | FX_BOOL CPDF_SyntaxParser::GetCharAt(FX_FILESIZE pos, FX_BYTE& ch)
  function FX_BOOL (line 1686) | FX_BOOL CPDF_SyntaxParser::GetNextChar(FX_BYTE& ch)
  function FX_BOOL (line 1715) | FX_BOOL CPDF_SyntaxParser::GetCharAtBackward(FX_FILESIZE pos, FX_BYTE& ch)
  function FX_BOOL (line 1745) | FX_BOOL CPDF_SyntaxParser::ReadBlock(FX_LPBYTE pBuf, FX_DWORD size)
  function CFX_ByteString (line 1838) | CFX_ByteString CPDF_SyntaxParser::ReadString()
  function CFX_ByteString (line 1925) | CFX_ByteString CPDF_SyntaxParser::ReadHexString()
  function CFX_ByteString (line 2023) | CFX_ByteString CPDF_SyntaxParser::GetNextWord(FX_BOOL& bIsNumber)
  function CFX_ByteString (line 2029) | CFX_ByteString CPDF_SyntaxParser::GetKeyword()
  function CPDF_Object (line 2034) | CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjects* pObjList...
  function CPDF_Object (line 2230) | CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(CPDF_IndirectObjects* ...
  function CPDF_Stream (line 2408) | CPDF_Stream* CPDF_SyntaxParser::ReadStream(CPDF_Dictionary* pDict, PARSE...
  function FX_INT32 (line 2515) | FX_INT32 CPDF_SyntaxParser::GetDirectNum()
  function FX_BOOL (line 2524) | FX_BOOL CPDF_SyntaxParser::IsWholeWord(FX_FILESIZE startpos, FX_FILESIZE...
  function FX_BOOL (line 2545) | FX_BOOL CPDF_SyntaxParser::SearchWord(FX_BSTR tag, FX_BOOL bWholeWord, F...
  type _SearchTagRecord (line 2611) | struct _SearchTagRecord {
  function FX_INT32 (line 2616) | FX_INT32 CPDF_SyntaxParser::SearchMultiWord(FX_BSTR tags, FX_BOOL bWhole...
  function FX_FILESIZE (line 2678) | FX_FILESIZE CPDF_SyntaxParser::FindTag(FX_BSTR tag, FX_FILESIZE limit)
  function FX_DWORD (line 2795) | FX_DWORD CPDF_DataAvail::GetObjectSize(FX_DWORD objnum, FX_FILESIZE& off...
  function FX_BOOL (line 2823) | FX_BOOL CPDF_DataAvail::IsObjectsAvail(CFX_PtrArray& obj_array, FX_BOOL ...
  function FX_BOOL (line 2922) | FX_BOOL CPDF_DataAvail::IsDocAvail(IFX_DownloadHints* pHints)
  function FX_BOOL (line 2937) | FX_BOOL CPDF_DataAvail::CheckAcroFormSubObject(IFX_DownloadHints* pHints)
  function FX_BOOL (line 2965) | FX_BOOL CPDF_DataAvail::CheckAcroForm(IFX_DownloadHints* pHints)
  function FX_BOOL (line 2984) | FX_BOOL CPDF_DataAvail::CheckDocStatus(IFX_DownloadHints *pHints)
  function FX_BOOL (line 3036) | FX_BOOL	CPDF_DataAvail::CheckPageStatus(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3051) | FX_BOOL CPDF_DataAvail::LoadAllFile(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3060) | FX_BOOL CPDF_DataAvail::LoadAllXref(IFX_DownloadHints* pHints)
  function CPDF_Object (line 3075) | CPDF_Object* CPDF_DataAvail::GetObject(FX_DWORD objnum, IFX_DownloadHint...
  function FX_BOOL (line 3113) | FX_BOOL CPDF_DataAvail::CheckInfo(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3145) | FX_BOOL CPDF_DataAvail::CheckRoot(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3182) | FX_BOOL CPDF_DataAvail::PreparePageItem()
  function FX_BOOL (line 3195) | FX_BOOL CPDF_DataAvail::IsFirstCheck(int iPage)
  function FX_BOOL (line 3222) | FX_BOOL CPDF_DataAvail::CheckPage(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3292) | FX_BOOL CPDF_DataAvail::GetPageKids(CPDF_Parser *pParser, CPDF_Object *p...
  function FX_BOOL (line 3323) | FX_BOOL CPDF_DataAvail::CheckPages(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3348) | FX_BOOL CPDF_DataAvail::CheckHeader(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3370) | FX_BOOL CPDF_DataAvail::CheckFirstPage(IFX_DownloadHints *pHints)
  function CPDF_Object (line 3431) | CPDF_Object	* CPDF_DataAvail::ParseIndirectObjectAt(FX_FILESIZE pos, FX_...
  function FX_INT32 (line 3457) | FX_INT32 CPDF_DataAvail::IsLinearizedPDF()
  function FX_BOOL (line 3477) | FX_BOOL CPDF_DataAvail::IsLinearizedFile(FX_LPBYTE pData, FX_DWORD dwLen)
  function FX_BOOL (line 3520) | FX_BOOL CPDF_DataAvail::CheckEnd(IFX_DownloadHints* pHints)
  function FX_DWORD (line 3555) | FX_DWORD CPDF_DataAvail::CheckCrossRefStream(IFX_DownloadHints* pHints, ...
  function FX_BOOL (line 3602) | FX_BOOL CPDF_DataAvail::GetNextToken(CFX_ByteString &token)
  function FX_BOOL (line 3688) | FX_BOOL CPDF_DataAvail::GetNextChar(FX_BYTE &ch)
  function FX_BOOL (line 3713) | FX_BOOL CPDF_DataAvail::CheckCrossRefItem(IFX_DownloadHints *pHints)
  function FX_BOOL (line 3730) | FX_BOOL CPDF_DataAvail::CheckAllCrossRefStream(IFX_DownloadHints *pHints)
  function FX_BOOL (line 3747) | FX_BOOL CPDF_DataAvail::CheckCrossRef(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3778) | FX_BOOL CPDF_DataAvail::CheckTrailerAppend(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3796) | FX_BOOL CPDF_DataAvail::CheckTrailer(IFX_DownloadHints* pHints)
  function FX_BOOL (line 3853) | FX_BOOL CPDF_DataAvail::CheckPage(FX_INT32 iPage, IFX_DownloadHints* pHi...
  function FX_BOOL (line 3878) | FX_BOOL	CPDF_DataAvail::CheckArrayPageNode(FX_DWORD dwPageNo, CPDF_PageN...
  function FX_BOOL (line 3912) | FX_BOOL CPDF_DataAvail::CheckUnkownPageNode(FX_DWORD dwPageNo, CPDF_Page...
  function FX_BOOL (line 3982) | FX_BOOL CPDF_DataAvail::CheckPageNode(CPDF_PageNode &pageNodes, FX_INT32...
  function FX_BOOL (line 4026) | FX_BOOL CPDF_DataAvail::LoadDocPage(FX_INT32 iPage, IFX_DownloadHints* p...
  function FX_BOOL (line 4043) | FX_BOOL CPDF_DataAvail::CheckPageCount(IFX_DownloadHints* pHints)
  function FX_BOOL (line 4072) | FX_BOOL CPDF_DataAvail::LoadDocPages(IFX_DownloadHints* pHints)
  function FX_BOOL (line 4085) | FX_BOOL CPDF_DataAvail::LoadPages(IFX_DownloadHints* pHints)
  function FX_BOOL (line 4098) | FX_BOOL CPDF_DataAvail::CheckLinearizedData(IFX_DownloadHints* pHints)
  function FX_BOOL (line 4121) | FX_BOOL CPDF_DataAvail::CheckPageAnnots(FX_INT32 iPage, IFX_DownloadHint...
  function FX_BOOL (line 4151) | FX_BOOL CPDF_DataAvail::CheckLinearizedFirstPage(FX_INT32 iPage, IFX_Dow...
  function FX_BOOL (line 4166) | FX_BOOL CPDF_DataAvail::HaveResourceAncestor(CPDF_Dictionary *pDict)
  function FX_BOOL (line 4184) | FX_BOOL CPDF_DataAvail::IsPageAvail(FX_INT32 iPage, IFX_DownloadHints* p...
  function FX_BOOL (line 4302) | FX_BOOL CPDF_DataAvail::CheckResources(IFX_DownloadHints* pHints)
  function FX_INT32 (line 4332) | FX_INT32 CPDF_DataAvail::IsFormAvail(IFX_DownloadHints *pHints)
  function FX_BOOL (line 4371) | FX_BOOL CPDF_SortObjNumArray::Find(FX_DWORD dwObjNum)
  function FX_BOOL (line 4376) | FX_BOOL CPDF_SortObjNumArray::BinarySearch(FX_DWORD value, FX_INT32 &iNext)

FILE: core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
  function CFX_ByteStringC (line 128) | CFX_ByteStringC CPDF_SimpleParser::GetWord()
  function FX_BOOL (line 171) | FX_BOOL CPDF_SimpleParser::SearchToken(FX_BSTR token)
  function FX_BOOL (line 186) | FX_BOOL CPDF_SimpleParser::SkipWord(FX_BSTR token)
  function FX_BOOL (line 199) | FX_BOOL CPDF_SimpleParser::FindTagPair(FX_BSTR start_token, FX_BSTR end_...
  function FX_BOOL (line 220) | FX_BOOL CPDF_SimpleParser::FindTagParam(FX_BSTR token, int nParams)
  function _hex2dec (line 251) | static int _hex2dec(char ch)
  function CFX_ByteString (line 264) | CFX_ByteString PDF_NameDecode(FX_BSTR bstr)
  function CFX_ByteString (line 285) | CFX_ByteString PDF_NameDecode(const CFX_ByteString& orig)
  function CFX_ByteString (line 292) | CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig)
  function CFX_ByteTextBuf (line 328) | CFX_ByteTextBuf& operator << (CFX_ByteTextBuf& buf, const CPDF_Object* p...
  function FX_FLOAT (line 404) | FX_FLOAT PDF_ClipFloat(FX_FLOAT f)
  function CPDF_Object (line 414) | static CPDF_Object* SearchNumberNode(CPDF_Dictionary* pNode, int num)
  function CPDF_Object (line 450) | CPDF_Object* CPDF_NumberTree::LookupValue(int num)

FILE: core/src/fpdfapi/fpdf_render/fpdf_render.cpp
  function FX_BOOL (line 62) | FX_BOOL CPDF_DocRenderData::Initialize()
  function CPDF_Type3Cache (line 67) | CPDF_Type3Cache* CPDF_DocRenderData::GetCachedType3(CPDF_Type3Font* pFont)
  class CPDF_RenderModule (line 88) | class CPDF_RenderModule : public CPDF_RenderModuleDef
    method FX_BOOL (line 92) | virtual FX_BOOL	Installed()
    method CPDF_DocRenderData (line 99) | virtual CPDF_DocRenderData* GetRenderData()
    method CPDF_PageRenderCache (line 103) | virtual CPDF_PageRenderCache*	CreatePageCache(CPDF_Page* pPage)
    method CPDF_RenderConfig (line 108) | virtual CPDF_RenderConfig*	GetConfig()
  function CPDF_DocRenderData (line 116) | CPDF_DocRenderData*	CPDF_RenderModule::CreateDocData(CPDF_Document* pDoc)
  function FX_ARGB (line 156) | FX_ARGB CPDF_RenderOptions::TranslateColor(FX_ARGB argb) const
  function FX_BOOL (line 217) | FX_BOOL CPDF_RenderStatus::Initialize(int level, CPDF_RenderContext* pCo...
  function FX_BOOL (line 321) | FX_BOOL CPDF_RenderStatus::ContinueSingleObject(const CPDF_PageObject* p...
  function IPDF_ObjectRenderer (line 368) | IPDF_ObjectRenderer* IPDF_ObjectRenderer::Create(int type)
  function FX_BOOL (line 376) | FX_BOOL CPDF_RenderStatus::GetObjectClippedRect(const CPDF_PageObject* p...
  function FX_BOOL (line 444) | FX_BOOL CPDF_RenderStatus::DrawObjWithBlend(const CPDF_PageObject* pObj,...
  function FX_BOOL (line 497) | FX_BOOL CPDF_RenderStatus::ProcessForm(CPDF_FormObject* pFormObj, const ...
  function FX_BOOL (line 519) | FX_BOOL IsAvailableMatrix(const CFX_AffineMatrix& matrix)
  function FX_BOOL (line 529) | FX_BOOL CPDF_RenderStatus::ProcessPath(CPDF_PathObject* pPathObj, const ...
  function CPDF_TransferFunc (line 577) | CPDF_TransferFunc* CPDF_RenderStatus::GetTransferFunc(CPDF_Object* pObj)...
  function FX_ARGB (line 586) | FX_ARGB CPDF_RenderStatus::GetFillArgb(const CPDF_PageObject* pObj, FX_B...
  function FX_ARGB (line 617) | FX_ARGB CPDF_RenderStatus::GetStrokeArgb(const CPDF_PageObject* pObj) const
  function FX_BOOL (line 734) | FX_BOOL CPDF_RenderStatus::SelectClipPath(CPDF_PathObject* pPathObj, con...
  function FX_BOOL (line 751) | FX_BOOL CPDF_RenderStatus::ProcessTransparency(const CPDF_PageObject* pP...
  function CFX_DIBitmap (line 906) | CFX_DIBitmap* CPDF_RenderStatus::GetBackdrop(const CPDF_PageObject* pObj...
  function CPDF_GraphicStates (line 960) | CPDF_GraphicStates* CPDF_RenderStatus::CloneObjStates(const CPDF_Graphic...
  function CPDF_TransferFunc (line 1235) | CPDF_TransferFunc* CPDF_DocRenderData::GetTransferFunc(CPDF_Object* pObj)
  function FX_BOOL (line 1345) | FX_BOOL CPDF_DeviceBuffer::Initialize(CPDF_RenderContext* pContext, CFX_...
  function FX_BOOL (line 1414) | FX_BOOL CPDF_ScaledRenderBuffer::Initialize(CPDF_RenderContext* pContext...
  function FX_BOOL (line 1474) | FX_BOOL IPDF_OCContext::CheckObjectVisible(const CPDF_PageObject* pObj)

FILE: core/src/fpdfapi/fpdf_render/fpdf_render_cache.cpp
  type CACHEINFO (line 12) | struct CACHEINFO {
  function compare (line 17) | static int compare(const void* data1, const void* data2)
  function FX_DWORD (line 84) | FX_DWORD CPDF_PageRenderCache::EstimateSize()
  function FX_DWORD (line 96) | FX_DWORD CPDF_PageRenderCache::GetCachedSize(CPDF_Stream* pStream) const
  function FX_BOOL (line 125) | FX_BOOL	CPDF_PageRenderCache::StartGetCachedBitmap(CPDF_Stream* pStream,...
  function FX_BOOL (line 144) | FX_BOOL	CPDF_PageRenderCache::Continue(IFX_Pause* pPause)
  function FX_DWORD (line 223) | static FX_DWORD FPDF_ImageCache_EstimateImageSize(const CFX_DIBSource* p...
  function FX_BOOL (line 227) | FX_BOOL CPDF_ImageCache::GetCachedBitmap(CFX_DIBSource*& pBitmap, CFX_DI...
  function CFX_DIBSource (line 284) | CFX_DIBSource* CPDF_ImageCache::DetachBitmap()
  function CFX_DIBSource (line 290) | CFX_DIBSource* CPDF_ImageCache::DetachMask()

FILE: core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp
  function FX_BOOL (line 14) | FX_BOOL CPDF_RenderStatus::ProcessImage(CPDF_ImageObject* pImageObj, con...
  function FX_BOOL (line 28) | FX_BOOL CPDF_RenderStatus::ProcessInlines(CPDF_InlineImages* pInlines, c...
  function FX_COLORREF (line 159) | FX_COLORREF CPDF_TransferFunc::TranslateColor(FX_COLORREF rgb)
  function CFX_DIBSource (line 164) | CFX_DIBSource* CPDF_TransferFunc::TranslateImage(const CFX_DIBSource* pS...
  function FXDIB_Format (line 170) | FXDIB_Format CPDF_DIBTransferFunc::GetDestFormat()
  function FX_BOOL (line 312) | static FX_BOOL _IsSupported(CPDF_ColorSpace* pCS)
  function FX_BOOL (line 359) | FX_BOOL CPDF_ImageRenderer::StartLoadDIBSource()
  function FX_BOOL (line 381) | FX_BOOL CPDF_ImageRenderer::StartRenderDIBSource()
  function FX_BOOL (line 510) | FX_BOOL CPDF_ImageRenderer::Start(CPDF_RenderStatus* pStatus, const CPDF...
  function FX_BOOL (line 530) | FX_BOOL CPDF_ImageRenderer::Start(CPDF_RenderStatus* pStatus, const CFX_...
  function FX_BOOL (line 543) | FX_BOOL	CPDF_ImageRenderer::DrawPatternImage(const CFX_Matrix* pObj2Device)
  function FX_BOOL (line 633) | FX_BOOL CPDF_ImageRenderer::DrawMaskedImage()
  function FX_BOOL (line 722) | FX_BOOL CPDF_ImageRenderer::StartDIBSource()
  function FX_BOOL (line 800) | FX_BOOL CPDF_ImageRenderer::StartBitmapAlpha()
  function FX_BOOL (line 836) | FX_BOOL CPDF_ImageRenderer::Continue(IFX_Pause* pPause)
  function FX_BOOL (line 909) | FX_BOOL CPDF_QuickStretcher::Start(CPDF_ImageObject* pImageObj, CFX_Affi...
  function FX_BOOL (line 985) | FX_BOOL CPDF_QuickStretcher::Continue(IFX_Pause* pPause)
  function CFX_DIBitmap (line 1044) | CFX_DIBitmap* CPDF_RenderStatus::LoadSMask(CPDF_Dictionary* pSMaskDict,

FILE: core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
  function _GetBits8 (line 15) | static unsigned int _GetBits8(FX_LPCBYTE pData, int bitpos, int nbits)
  function CFX_DIBSource (line 31) | CFX_DIBSource* CPDF_Image::LoadDIBSource(CFX_DIBSource** ppMask, FX_DWOR...
  function CFX_DIBSource (line 40) | CFX_DIBSource* CPDF_Image::DetachBitmap()
  function CFX_DIBSource (line 46) | CFX_DIBSource* CPDF_Image::DetachMask()
  function FX_BOOL (line 52) | FX_BOOL CPDF_Image::StartLoadDIBSource(CPDF_Dictionary* pFormResource, C...
  function FX_BOOL (line 68) | FX_BOOL CPDF_Image::Continue(IFX_Pause* pPause)
  function CFX_DIBitmap (line 146) | CFX_DIBitmap* CPDF_DIBSource::GetBitmap() const
  function FX_BOOL (line 159) | FX_BOOL CPDF_DIBSource::Load(CPDF_Document* pDoc, const CPDF_Stream* pSt...
  function FX_BOOL (line 468) | FX_BOOL CPDF_DIBSource::LoadColorInfo(CPDF_Dictionary* pFormResources, C...
  function CPDF_DIBSource (line 749) | CPDF_DIBSource* CPDF_DIBSource::LoadMask(FX_DWORD& MatteColor)
  function CPDF_DIBSource (line 822) | CPDF_DIBSource*	CPDF_DIBSource::DetachMask()
  function CPDF_DIBSource (line 828) | CPDF_DIBSource* CPDF_DIBSource::LoadMaskDIB(CPDF_Stream* pMask)
  function FX_DWORD (line 914) | FX_DWORD CPDF_DIBSource::GetValidBpc() const
  function FX_LPBYTE (line 1050) | FX_LPBYTE CPDF_DIBSource::GetBuffer() const
  function FX_LPCBYTE (line 1057) | FX_LPCBYTE CPDF_DIBSource::GetScanline(int line) const
  function FX_BOOL (line 1177) | FX_BOOL CPDF_DIBSource::SkipToScanline(int line, IFX_Pause* pPause) const
  function FX_BOOL (line 1429) | FX_BOOL CPDF_ProgressiveImageLoaderHandle::Start(CPDF_ImageLoader* pImag...
  function FX_BOOL (line 1456) | FX_BOOL CPDF_ProgressiveImageLoaderHandle::Continue(IFX_Pause* pPause)
  function FX_BOOL (line 1478) | FX_BOOL CPDF_ImageLoader::Load(const CPDF_ImageObject* pImage, CPDF_Page...
  function FX_BOOL (line 1492) | FX_BOOL CPDF_ImageLoader::StartLoadImage(const CPDF_ImageObject* pImage,...
  function FX_BOOL (line 1502) | FX_BOOL	CPDF_ImageLoader::Continue(FX_LPVOID LoadHandle, IFX_Pause* pPause)

FILE: core/src/fpdfapi/fpdf_render/fpdf_render_pattern.cpp
  function _DrawAxialShading (line 13) | static void _DrawAxialShading(CFX_DIBitmap* pBitmap, CFX_AffineMatrix* p...
  function _DrawRadialShading (line 97) | static void _DrawRadialShading(CFX_DIBitmap* pBitmap, CFX_AffineMatrix* ...
  function _DrawFuncShading (line 227) | static void _DrawFuncShading(CFX_DIBitmap* pBitmap, CFX_AffineMatrix* pO...
  function FX_BOOL (line 287) | FX_BOOL _GetScanlineIntersect(int y, FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT ...
  function _DrawGouraud (line 304) | static void _DrawGouraud(CFX_DIBitmap* pBitmap, int alpha, CPDF_MeshVert...
  function _DrawFreeGouraudShading (line 379) | static void _DrawFreeGouraudShading(CFX_DIBitmap* pBitmap, CFX_AffineMat...
  function _DrawLatticeGouraudShading (line 412) | static void _DrawLatticeGouraudShading(CFX_DIBitmap* pBitmap, CFX_Affine...
  type Coon_BezierCoeff (line 454) | struct Coon_BezierCoeff {
    method FromPoints (line 456) | void FromPoints(float p0, float p1, float p2, float p3)
    method Coon_BezierCoeff (line 463) | Coon_BezierCoeff first_half()
    method Coon_BezierCoeff (line 472) | Coon_BezierCoeff second_half()
    method GetPoints (line 481) | void GetPoints(float p[4])
    method GetPointsReverse (line 488) | void GetPointsReverse(float p[4])
    method BezierInterpol (line 495) | void BezierInterpol(Coon_BezierCoeff& C1, Coon_BezierCoeff& C2, Coon_B...
    method Distance (line 502) | float Distance()
  type Coon_Bezier (line 508) | struct Coon_Bezier {
    method FromPoints (line 510) | void FromPoints(float x0, float y0, float x1, float y1, float x2, floa...
    method Coon_Bezier (line 515) | Coon_Bezier first_half()
    method Coon_Bezier (line 522) | Coon_Bezier second_half()
    method BezierInterpol (line 529) | void BezierInterpol(Coon_Bezier& C1, Coon_Bezier& C2, Coon_Bezier& D1,...
    method GetPoints (line 534) | void GetPoints(FX_PATHPOINT* pPoints)
    method GetPointsReverse (line 547) | void GetPointsReverse(FX_PATHPOINT* pPoints)
    method Distance (line 560) | float Distance()
  function _BiInterpol (line 565) | static int _BiInterpol(int c0, int c1, int c2, int c3, int x, int y, int...
  type Coon_Color (line 571) | struct Coon_Color {
    method Coon_Color (line 572) | Coon_Color()
    method BiInterpol (line 577) | void	BiInterpol(Coon_Color colors[4], int x, int y, int x_scale, int y...
    method Distance (line 583) | int		Distance(Coon_Color& o)
  type CPDF_PatchDrawer (line 598) | struct CPDF_PatchDrawer {
    method Draw (line 605) | void Draw(int x_scale, int y_scale, int left, int bottom, Coon_Bezier ...
  function _DrawCoonPatchMeshes (line 668) | static void _DrawCoonPatchMeshes(FX_BOOL bTensor, CFX_DIBitmap* pBitmap,...
  function FX_BOOL (line 847) | FX_BOOL CPDF_RenderStatus::ProcessShading(CPDF_ShadingObject* pShadingOb...
  function CFX_DIBitmap (line 866) | static CFX_DIBitmap* DrawPatternBitmap(CPDF_Document* pDoc, CPDF_PageRen...

FILE: core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp
  function CFX_GlyphBitmap (line 24) | CFX_GlyphBitmap* CPDF_Type3Cache::LoadGlyph(FX_DWORD charcode, const CFX...
  function _AdjustBlue (line 53) | static int _AdjustBlue(FX_FLOAT pos, int& count, int blues[])
  function FX_BOOL (line 79) | static FX_BOOL _IsScanLine1bpp(FX_LPBYTE pBuf, int width)
  function FX_BOOL (line 92) | static FX_BOOL _IsScanLine8bpp(FX_LPBYTE pBuf, int width)
  function _DetectFirstLastScan (line 100) | static int _DetectFirstLastScan(const CFX_DIBitmap* pBitmap, FX_BOOL bFi...
  function CFX_GlyphBitmap (line 125) | CFX_GlyphBitmap* CPDF_Type3Cache::RenderGlyph(CPDF_Type3Glyphs* pSize, F...
  function FX_BOOL (line 188) | FX_BOOL CPDF_RenderStatus::ProcessText(const CPDF_TextObject* textobj, c...
  function CPDF_Type3Cache (line 303) | CPDF_Type3Cache* CPDF_RenderStatus::GetCachedType3(CPDF_Type3Font* pFont)
  function ReleaseCachedType3 (line 311) | static void ReleaseCachedType3(CPDF_Type3Font* pFont)
  function FX_BOOL (line 319) | FX_BOOL CPDF_Type3Char::LoadBitmap(CPDF_RenderContext* pContext)
  class CPDF_RefType3Cache (line 355) | class CPDF_RefType3Cache
    method CPDF_RefType3Cache (line 358) | CPDF_RefType3Cache(CPDF_Type3Font* pType3Font)
  function FX_BOOL (line 372) | FX_BOOL CPDF_RenderStatus::ProcessType3Text(const CPDF_TextObject* texto...
  class CPDF_CharPosList (line 518) | class CPDF_CharPosList
  function FX_BOOL (line 591) | FX_BOOL CPDF_TextRenderer::DrawTextPath(CFX_RenderDevice* pDevice, int n...
  function FX_BOOL (line 661) | FX_BOOL CPDF_TextRenderer::DrawNormalText(CFX_RenderDevice* pDevice, int...
  function CFX_PathData (line 751) | CFX_PathData* CPDF_Font::LoadGlyphPath(FX_DWORD charcode, int dest_width)

FILE: core/src/fpdfapi/fpdf_render/render_int.h
  function class (line 12) | class CPDF_Type3Glyphs : public CFX_Object
  function class (line 28) | class CPDF_Type3Cache : public CFX_Object
  function class (line 42) | class CPDF_TransferFunc : public CFX_Object
  type CFX_MapPtrTemplate (line 52) | typedef CFX_MapPtrTemplate<CPDF_Font*, CPDF_CountedObject<CPDF_Type3Cach...
  type CFX_MapPtrTemplate (line 53) | typedef CFX_MapPtrTemplate<CPDF_Object*, CPDF_CountedObject<CPDF_Transfe...
  function class (line 54) | class CPDF_DocRenderData : public CFX_Object
  type _PDF_RenderItem (line 75) | struct _PDF_RenderItem {
  type CFX_ArrayTemplate (line 80) | typedef CFX_ArrayTemplate<_PDF_RenderItem>	CPDF_RenderLayer;
  function class (line 81) | class IPDF_ObjectRenderer : public CFX_Object
  function class (line 90) | class CPDF_RenderStatus : public CFX_Object
  function class (line 179) | class CPDF_ImageLoader : public CFX_Object
  function class (line 205) | class CPDF_ProgressiveImageLoaderHandle : public CFX_Object
  function class (line 221) | class CPDF_ImageRenderer : public IPDF_ObjectRenderer
  function class (line 258) | class CPDF_ScaledRenderBuffer : public CFX_Object
  function class (line 283) | class CPDF_QuickStretcher : public CFX_Object
  function class (line 300) | class CPDF_DeviceBuffer : public CFX_Object
  function class (line 324) | class CPDF_ImageCache : public CFX_Object
  type DIB_COMP_DATA (line 371) | typedef struct {
  function class (line 377) | class CPDF_DIBSource : public CFX_DIBSource

FILE: core/src/fpdfdoc/doc_action.cpp
  function CPDF_Dest (line 8) | CPDF_Dest CPDF_Action::GetDest(CPDF_Document* pDoc) const
  function CFX_WideString (line 51) | CFX_WideString CPDF_Action::GetFilePath() const
  function CFX_ByteString (line 73) | CFX_ByteString CPDF_Action::GetURI(CPDF_Document* pDoc) const
  function FX_DWORD (line 92) | FX_DWORD CPDF_ActionFields::GetFieldsCount() const
  function CPDF_Object (line 155) | CPDF_Object* CPDF_ActionFields::GetField(FX_DWORD iIndex) const
  function CPDF_LWinParam (line 185) | CPDF_LWinParam CPDF_Action::GetWinParam() const
  function CFX_WideString (line 195) | CFX_WideString CPDF_Action::GetJavaScript() const
  function CPDF_Dictionary (line 207) | CPDF_Dictionary* CPDF_Action::GetAnnot() const
  function FX_INT32 (line 220) | FX_INT32 CPDF_Action::GetOperationType() const
  function FX_DWORD (line 242) | FX_DWORD CPDF_Action::GetSubActionsCount() const
  function CPDF_Action (line 260) | CPDF_Action CPDF_Action::GetSubAction(FX_DWORD iIndex) const
  function FX_BOOL (line 283) | FX_BOOL CPDF_AAction::ActionExist(AActionType eType) const
  function CPDF_Action (line 290) | CPDF_Action CPDF_AAction::GetAction(AActionType eType) const
  function FX_POSITION (line 297) | FX_POSITION CPDF_AAction::GetStartPos() const
  function CPDF_Action (line 304) | CPDF_Action CPDF_AAction::GetNextAction(FX_POSITION& pos, AActionType& e...
  function CPDF_Action (line 337) | CPDF_Action CPDF_DocJSActions::GetJSAction(int index, CFX_ByteString& cs...
  function CPDF_Action (line 347) | CPDF_Action CPDF_DocJSActions::GetJSAction(const CFX_ByteString& csName)...

FILE: core/src/fpdfdoc/doc_annot.cpp
  function CPDF_Reference (line 148) | CPDF_Reference* CPDF_Annot::NewAnnotRef()
  function CFX_ByteString (line 166) | CFX_ByteString CPDF_Annot::GetSubType() const
  function CPDF_Stream (line 178) | CPDF_Stream* FPDFDOC_GetAnnotAP(CPDF_Dictionary* pAnnotDict, CPDF_Annot:...
  function CPDF_Form (line 218) | CPDF_Form* CPDF_Annot::GetAPForm(const CPDF_Page* pPage, AppearanceMode ...
  function CPDF_Form (line 236) | static CPDF_Form* FPDFDOC_Annot_GetMatrix(const CPDF_Page* pPage, CPDF_A...
  function FX_BOOL (line 251) | FX_BOOL CPDF_Annot::DrawAppearance(const CPDF_Page* pPage, CFX_RenderDev...
  function FX_BOOL (line 264) | FX_BOOL CPDF_Annot::DrawInContext(const CPDF_Page* pPage, const CPDF_Ren...
  function CPDF_PageObject (line 274) | CPDF_PageObject* CPDF_Annot::GetBorder(FX_BOOL bPrint, const CPDF_Render...
  function CPDF_Annot (line 502) | CPDF_Annot* CPDF_Annot::GetIRTNote(int index)

FILE: core/src/fpdfdoc/doc_ap.cpp
  function FX_BOOL (line 11) | FX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict)
  class CPVT_FontMap (line 39) | class CPVT_FontMap : public IPVT_FontMap
  function CPDF_Font (line 87) | CPDF_Font* CPVT_FontMap::GetPDFFont(FX_INT32 nFontIndex)
  function CFX_ByteString (line 100) | CFX_ByteString CPVT_FontMap::GetPDFFontAlias(FX_INT32 nFontIndex)
  function FX_INT32 (line 120) | FX_INT32 CPVT_Provider::GetCharWidth(FX_INT32 nFontIndex, FX_WORD word, ...
  function FX_INT32 (line 130) | FX_INT32 CPVT_Provider::GetTypeAscent(FX_INT32 nFontIndex)
  function FX_INT32 (line 137) | FX_INT32 CPVT_Provider::GetTypeDescent(FX_INT32 nFontIndex)
  function FX_INT32 (line 144) | FX_INT32 CPVT_Provider::GetWordFontIndex(FX_WORD word, FX_INT32 charset,...
  function FX_BOOL (line 157) | FX_BOOL CPVT_Provider::IsLatinWord(FX_WORD word)
  function FX_INT32 (line 164) | FX_INT32 CPVT_Provider::GetDefaultFontIndex()
  function CFX_ByteString (line 168) | static CFX_ByteString GetPDFWordString(IPVT_FontMap * pFontMap, FX_INT32...
  function CFX_ByteString (line 189) | static CFX_ByteString GetWordRenderString(const CFX_ByteString & strWords)
  function CFX_ByteString (line 196) | static CFX_ByteString GetFontSetString(IPVT_FontMap * pFontMap, FX_INT32...
  function CPVT_Color (line 207) | static CPVT_Color ParseColor(const CFX_ByteString & str)
  function CPVT_Color (line 231) | static CPVT_Color ParseColor(const CPDF_Array & array)
  function FX_BOOL (line 247) | static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, CPDF_Dictionary* pA...
  function FX_BOOL (line 628) | FX_BOOL CPVT_GenerateAP::GenerateTextFieldAP(CPDF_Document* pDoc, CPDF_D...
  function FX_BOOL (line 632) | FX_BOOL CPVT_GenerateAP::GenerateComboBoxAP(CPDF_Document* pDoc, CPDF_Di...
  function FX_BOOL (line 636) | FX_BOOL CPVT_GenerateAP::GenerateListBoxAP(CPDF_Document* pDoc, CPDF_Dic...
  function CFX_ByteString (line 640) | CFX_ByteString CPVT_GenerateAP::GenerateEditAP(IPVT_FontMap * pFontMap, ...
  function CFX_ByteString (line 715) | CFX_ByteString CPVT_GenerateAP::GenerateBorderAP(const CPDF_Rect & rect,...
  function CFX_ByteString (line 794) | CFX_ByteString CPVT_GenerateAP::GenerateColorAP(const CPVT_Color & color...

FILE: core/src/fpdfdoc/doc_basic.cpp
  function FX_DWORD (line 26) | FX_DWORD CPDF_Dest::GetPageObjNum()
  function FX_FLOAT (line 61) | FX_FLOAT CPDF_Dest::GetParam(int index)
  function CFX_ByteString (line 68) | CFX_ByteString CPDF_Dest::GetRemoteName()
  function CPDF_Object (line 82) | static CPDF_Object* SearchNameNode(CPDF_Dictionary* pNode, const CFX_Byt...
  function CPDF_Object (line 139) | static CPDF_Object* SearchNameNode(CPDF_Dictionary* pNode, int nIndex, i...
  function CountNames (line 175) | static int CountNames(CPDF_Dictionary* pNode, int nLevel = 0)
  function CPDF_Object (line 216) | CPDF_Object* CPDF_NameTree::LookupValue(int nIndex, CFX_ByteString& csNa...
  function CPDF_Object (line 224) | CPDF_Object* CPDF_NameTree::LookupValue(const CFX_ByteString& csName) const
  function CPDF_Array (line 232) | CPDF_Array*	CPDF_NameTree::LookupNamedDest(CPDF_Document* pDoc, FX_BSTR ...
  function CFX_WideString (line 253) | static CFX_WideString ChangeSlashToPlatform(FX_LPCWSTR str)
  function CFX_WideString (line 272) | static CFX_WideString FILESPEC_DecodeFileName(FX_WSTR filepath)
  function FX_BOOL (line 304) | FX_BOOL CPDF_FileSpec::GetFileName(CFX_WideString &csFileName) const
  function FX_BOOL (line 342) | FX_BOOL CPDF_FileSpec::IsURL() const
  function CFX_WideString (line 352) | static CFX_WideString ChangeSlashToPDF(FX_LPCWSTR str)
  function CFX_WideString (line 365) | CFX_WideString FILESPEC_EncodeFileName(FX_WSTR filepath)
  function CPDF_Stream (line 403) | CPDF_Stream* CPDF_FileSpec::GetFileStream() const
  function FPDFDOC_FILESPEC_SetFileName (line 420) | static void FPDFDOC_FILESPEC_SetFileName(CPDF_Object *pObj, FX_WSTR wsFi...
  function CFX_WideString (line 446) | static CFX_WideString _MakeRoman(int num)
  function CFX_WideString (line 467) | static CFX_WideString _MakeLetters(int num)
  function CFX_WideString (line 484) | static CFX_WideString _GetLabelNumPortion(int num, const CFX_ByteString&...
  function CFX_WideString (line 505) | CFX_WideString CPDF_PageLabel::GetLabel(int nPage) const
  function FX_INT32 (line 543) | FX_INT32 CPDF_PageLabel::GetPageByLabel(FX_BSTR bsLabel) const
  function FX_INT32 (line 568) | FX_INT32 CPDF_PageLabel::GetPageByLabel(FX_WSTR wsLabel) const

FILE: core/src/fpdfdoc/doc_bookmark.cpp
  function CPDF_Bookmark (line 8) | CPDF_Bookmark CPDF_BookmarkTree::GetFirstChild(CPDF_Bookmark Parent)
  function CPDF_Bookmark (line 19) | CPDF_Bookmark CPDF_BookmarkTree::GetNextSibling(CPDF_Bookmark This)
  function FX_DWORD (line 27) | FX_DWORD CPDF_Bookmark::GetColorRef()
  function FX_DWORD (line 41) | FX_DWORD CPDF_Bookmark::GetFontStyle()
  function CFX_WideString (line 48) | CFX_WideString CPDF_Bookmark::GetTitle()
  function CPDF_Dest (line 67) | CPDF_Dest CPDF_Bookmark::GetDest(CPDF_Document* pDocument)
  function CPDF_Action (line 85) | CPDF_Action CPDF_Bookmark::GetAction()

FILE: core/src/fpdfdoc/doc_form.cpp
  class _CFieldNameExtractor (line 32) | class _CFieldNameExtractor : public CFX_Object
    method _CFieldNameExtractor (line 35) | _CFieldNameExtractor(const CFX_WideString& full_name)
    method GetNext (line 41) | void GetNext(FX_LPCWSTR &pSubName, FX_STRSIZE& size)
  class CFieldTree (line 57) | class CFieldTree : public CFX_Object
    type _Node (line 60) | struct _Node : public CFX_Object {
      method CountFields (line 65) | int CountFields(int nLevel = 0)
      method CPDF_FormField (line 79) | CPDF_FormField* GetField(int* fields_to_go)
      method CPDF_FormField (line 97) | CPDF_FormField* GetField(int index)
  function CPDF_FormField (line 201) | CPDF_FormField *CFieldTree::GetField(const CFX_WideString &full_name)
  function CPDF_FormField (line 219) | CPDF_FormField *CFieldTree::RemoveField(const CFX_WideString & full_name)
  function FX_BOOL (line 306) | FX_BOOL CPDF_InterForm::UpdatingAPEnabled()
  function CFX_ByteString (line 314) | CFX_ByteString CPDF_InterForm::GenerateNewResourceName(const CPDF_Dictio...
  type _PDF_FONTDATA (line 367) | struct _PDF_FONTDATA {
  function EnumFontFamExProc (line 371) | static int CALLBACK EnumFontFamExProc(	ENUMLOGFONTEXA *lpelfe,
  function FX_BOOL (line 386) | static FX_BOOL RetrieveSpecificFont(LOGFONTA& lf)
  function FX_BOOL (line 398) | static FX_BOOL RetrieveSpecificFont(FX_BYTE charSet, FX_BYTE pitchAndFam...
  function FX_BOOL (line 408) | static FX_BOOL RetrieveStockFont(int iFontObject, FX_BYTE charSet, LOGFO...
  function CPDF_Font (line 421) | CPDF_Font* CPDF_InterForm::AddSystemDefaultFont(const CPDF_Document* pDo...
  function CPDF_Font (line 440) | CPDF_Font* CPDF_InterForm::AddSystemFont(const CPDF_Document* pDocument,...
  function CPDF_Font (line 462) | CPDF_Font* CPDF_InterForm::AddSystemFont(const CPDF_Document* pDocument,...
  function CPDF_Font (line 484) | CPDF_Font* CPDF_InterForm::AddStandardFont(const CPDF_Document* pDocumen...
  function CFX_ByteString (line 498) | CFX_ByteString CPDF_InterForm::GetNativeFont(FX_BYTE charSet, FX_LPVOID ...
  function CFX_ByteString (line 535) | CFX_ByteString CPDF_InterForm::GetNativeFont(FX_LPVOID pLogFont)
  function FX_BYTE (line 544) | FX_BYTE CPDF_InterForm::GetNativeCharSet()
  function CPDF_Font (line 604) | CPDF_Font* CPDF_InterForm::AddNativeFont(FX_BYTE charSet, const CPDF_Doc...
  function CPDF_Font (line 623) | CPDF_Font* CPDF_InterForm::AddNativeFont(const CPDF_Document* pDocument)
  function FX_BOOL (line 633) | FX_BOOL CPDF_InterForm::ValidateFieldName(CFX_WideString& csNewFieldName...
  function FX_BOOL (line 699) | FX_BOOL CPDF_InterForm::ValidateFieldName(CFX_WideString& csNewFieldName...
  function FX_BOOL (line 703) | FX_BOOL CPDF_InterForm::ValidateFieldName(const CPDF_FormField* pField, ...
  function FX_BOOL (line 710) | FX_BOOL CPDF_InterForm::ValidateFieldName(const CPDF_FormControl* pContr...
  function FX_DWORD (line 756) | FX_DWORD CPDF_InterForm::CountFields(const CFX_WideString &csFieldName)
  function CPDF_FormField (line 767) | CPDF_FormField* CPDF_InterForm::GetField(FX_DWORD index, const CFX_WideS...
  function FX_BOOL (line 790) | FX_BOOL CPDF_InterForm::IsValidFormField(const void* pField)
  function CPDF_FormField (line 804) | CPDF_FormField* CPDF_InterForm::GetFieldByDict(CPDF_Dictionary* pFieldDi...
  function FX_DWORD (line 812) | FX_DWORD CPDF_InterForm::CountControls(CFX_WideString csFieldName)
  function CPDF_FormControl (line 823) | CPDF_FormControl* CPDF_InterForm::GetControl(FX_DWORD index, CFX_WideStr...
  function FX_BOOL (line 834) | FX_BOOL CPDF_InterForm::IsValidFormControl(const void* pControl)
  function CPDF_FormControl (line 870) | CPDF_FormControl* CPDF_InterForm::GetPageControl(CPDF_Page* pPage, int i...
  function CPDF_FormControl (line 893) | CPDF_FormControl* CPDF_InterForm::GetControlAtPoint(CPDF_Page* pPage, FX...
  function CPDF_FormControl (line 915) | CPDF_FormControl* CPDF_InterForm::GetControlByDict(CPDF_Dictionary* pWid...
  function FX_DWORD (line 921) | FX_DWORD CPDF_InterForm::CountInternalFields(const CFX_WideString& csFie...
  function CPDF_Dictionary (line 977) | CPDF_Dictionary* CPDF_InterForm::GetInternalField(FX_DWORD index, const ...
  function FX_BOOL (line 1033) | FX_BOOL CPDF_InterForm::NeedConstructAP()
  function CPDF_FormField (line 1059) | CPDF_FormField* CPDF_InterForm::GetFieldInCalculationOrder(int index)
  function FX_DWORD (line 1091) | FX_DWORD CPDF_InterForm::CountFormFonts()
  function CPDF_Font (line 1095) | CPDF_Font* CPDF_InterForm::GetFormFont(FX_DWORD index, CFX_ByteString& c...
  function CPDF_Font (line 1099) | CPDF_Font* CPDF_InterForm::GetFormFont(CFX_ByteString csNameTag)
  function CPDF_Font (line 1103) | CPDF_Font* CPDF_InterForm::GetFormFont(CFX_ByteString csFontName, CFX_By...
  function CPDF_Font (line 1107) | CPDF_Font* CPDF_InterForm::GetNativeFormFont(FX_BYTE charSet, CFX_ByteSt...
  function CPDF_Font (line 1111) | CPDF_Font* CPDF_InterForm::GetNativeFormFont(CFX_ByteString& csNameTag)
  function FX_BOOL (line 1115) | FX_BOOL CPDF_InterForm::FindFormFont(const CPDF_Font* pFont, CFX_ByteStr...
  function FX_BOOL (line 1119) | FX_BOOL CPDF_InterForm::FindFormFont(CFX_ByteString csFontName, CPDF_Fon...
  function CPDF_Font (line 1128) | CPDF_Font* CPDF_InterForm::AddNativeFormFont(FX_BYTE charSet, CFX_ByteSt...
  function CPDF_Font (line 1133) | CPDF_Font* CPDF_InterForm::AddNativeFormFont(CFX_ByteString& csNameTag)
  function CPDF_DefaultAppearance (line 1148) | CPDF_DefaultAppearance CPDF_InterForm::GetDefaultAppearance()
  function CPDF_Font (line 1157) | CPDF_Font* CPDF_InterForm::GetDefaultFormFont()
  function FX_BOOL (line 1168) | FX_BOOL CPDF_InterForm::ResetForm(const CFX_PtrArray& fields, FX_BOOL bI...
  function FX_BOOL (line 1199) | FX_BOOL CPDF_InterForm::ResetForm(FX_BOOL bNotify)
  function FX_BOOL (line 1279) | FX_BOOL CPDF_InterForm::HasXFAForm() const
  function CPDF_FormField (line 1302) | CPDF_FormField* CPDF_InterForm::AddTerminalField(const CPDF_Dictionary* ...
  function CPDF_FormControl (line 1368) | CPDF_FormControl* CPDF_InterForm::AddControl(const CPDF_FormField* pFiel...
  function CPDF_FormField (line 1382) | CPDF_FormField* CPDF_InterForm::CheckRequiredFields(const CFX_PtrArray *...
  function CFDF_Document (line 1411) | CFDF_Document* CPDF_InterForm::ExportToFDF(FX_WSTR pdf_path, FX_BOOL bSi...
  function CFDF_Document (line 1422) | CFDF_Document* CPDF_InterForm::ExportToFDF(FX_WSTR pdf_path, CFX_PtrArra...
  type _SupportFieldEncoding (line 1491) | struct _SupportFieldEncoding {
  function FPDFDOC_FDF_GetFieldValue (line 1500) | static void FPDFDOC_FDF_GetFieldValue(CPDF_Dictionary *pFieldDict, CFX_W...
  function FX_BOOL (line 1586) | FX_BOOL CPDF_InterForm::ImportFromFDF(const CFDF_Document* pFDF, FX_BOOL...

FILE: core/src/fpdfdoc/doc_formcontrol.cpp
  function CFX_FloatRect (line 14) | CFX_FloatRect CPDF_FormControl::GetRect()
  function CFX_ByteString (line 18) | CFX_ByteString CPDF_FormControl::GetOnStateName()
  function CFX_ByteString (line 83) | CFX_ByteString CPDF_FormControl::GetCheckedAPState()
  function CFX_WideString (line 99) | CFX_WideString CPDF_FormControl::GetExportValue()
  function FX_BOOL (line 116) | FX_BOOL CPDF_FormControl::IsChecked()
  function FX_BOOL (line 123) | FX_BOOL CPDF_FormControl::IsDefaultChecked()
  function CPDF_ApSettings (line 189) | CPDF_ApSettings CPDF_FormControl::GetMK(FX_BOOL bCreate)
  function FX_BOOL (line 204) | FX_BOOL CPDF_FormControl::HasMKEntry(CFX_ByteString csEntry)
  function FX_ARGB (line 214) | FX_ARGB CPDF_FormControl::GetColor(int& iColorType, CFX_ByteString csEntry)
  function FX_FLOAT (line 219) | FX_FLOAT CPDF_FormControl::GetOriginalColor(int index, CFX_ByteString cs...
  function CFX_WideString (line 229) | CFX_WideString CPDF_FormControl::GetCaption(CFX_ByteString csEntry)
  function CPDF_Stream (line 234) | CPDF_Stream* CPDF_FormControl::GetIcon(CFX_ByteString csEntry)
  function CPDF_IconFit (line 239) | CPDF_IconFit CPDF_FormControl::GetIconFit()
  function CPDF_Action (line 249) | CPDF_Action CPDF_FormControl::GetAction()
  function CPDF_AAction (line 264) | CPDF_AAction CPDF_FormControl::GetAdditionalAction()
  function CPDF_DefaultAppearance (line 275) | CPDF_DefaultAppearance CPDF_FormControl::GetDefaultAppearance()
  function CPDF_Font (line 290) | CPDF_Font* CPDF_FormControl::GetDefaultControlFont()
  function FX_BOOL (line 343) | FX_BOOL CPDF_ApSettings::HasMKEntry(FX_BSTR csEntry)
  function FX_ARGB (line 357) | FX_ARGB CPDF_ApSettings::GetColor(int& iColorType, FX_BSTR csEntry)
  function FX_FLOAT (line 392) | FX_FLOAT CPDF_ApSettings::GetOriginalColor(int index, FX_BSTR csEntry)
  function CFX_WideString (line 433) | CFX_WideString CPDF_ApSettings::GetCaption(FX_BSTR csEntry)
  function CPDF_Stream (line 441) | CPDF_Stream* CPDF_ApSettings::GetIcon(FX_BSTR csEntry)
  function CPDF_IconFit (line 448) | CPDF_IconFit CPDF_ApSettings::GetIconFit()

FILE: core/src/fpdfdoc/doc_formfield.cpp
  function FX_BOOL (line 10) | FX_BOOL PDF_FormField_IsUnison(CPDF_FormField *pField)
  function CFX_WideString (line 99) | CFX_WideString CPDF_FormField::GetFullName()
  function FX_BOOL (line 103) | FX_BOOL CPDF_FormField::ResetField(FX_BOOL bNotify)
  function CPDF_AAction (line 254) | CPDF_AAction CPDF_FormField::GetAdditionalAction()
  function CFX_WideString (line 262) | CFX_WideString CPDF_FormField::GetAlternateName()
  function CFX_WideString (line 270) | CFX_WideString CPDF_FormField::GetMappingName()
  function FX_DWORD (line 278) | FX_DWORD CPDF_FormField::GetFieldFlags()
  function CFX_ByteString (line 286) | CFX_ByteString CPDF_FormField::GetDefaultStyle()
  function CFX_WideString (line 294) | CFX_WideString CPDF_FormField::GetRichTextString()
  function CFX_WideString (line 302) | CFX_WideString CPDF_FormField::GetValue(FX_BOOL bDefault)
  function CFX_WideString (line 332) | CFX_WideString CPDF_FormField::GetValue()
  function CFX_WideString (line 336) | CFX_WideString CPDF_FormField::GetDefaultValue()
  function FX_BOOL (line 340) | FX_BOOL CPDF_FormField::SetValue(const CFX_WideString& value, FX_BOOL bD...
  function FX_BOOL (line 415) | FX_BOOL CPDF_FormField::SetValue(const CFX_WideString& value, FX_BOOL bN...
  function FX_BOOL (line 506) | FX_BOOL CPDF_FormField::ClearSelection(FX_BOOL bNotify)
  function FX_BOOL (line 541) | FX_BOOL CPDF_FormField::IsItemSelected(int index)
  function FX_BOOL (line 590) | FX_BOOL CPDF_FormField::SetItemSelection(int index, FX_BOOL bSelected, F...
  function FX_BOOL (line 692) | FX_BOOL CPDF_FormField::IsItemDefaultSelected(int index)
  function CFX_WideString (line 747) | CFX_WideString CPDF_FormField::GetOptionText(int index, int sub_index)
  function CFX_WideString (line 765) | CFX_WideString CPDF_FormField::GetOptionLabel(int index)
  function CFX_WideString (line 769) | CFX_WideString CPDF_FormField::GetOptionValue(int index)
  function FX_BOOL (line 798) | FX_BOOL CPDF_FormField::CheckControl(int iControlIndex, FX_BOOL bChecked...
  function CFX_WideString (line 862) | CFX_WideString CPDF_FormField::GetCheckValue(FX_BOOL bDefault)
  function FX_BOOL (line 882) | FX_BOOL CPDF_FormField::SetCheckValue(const CFX_WideString& value, FX_BO...
  function FX_BOOL (line 948) | FX_BOOL CPDF_FormField::IsOptionSelected(int iOptIndex)
  function FX_BOOL (line 966) | FX_BOOL CPDF_FormField::SelectOption(int iOptIndex, FX_BOOL bSelected, F...
  function FX_BOOL (line 1047) | FX_BOOL CPDF_FormField::ClearSelectedOptions(FX_BOOL bNotify)

FILE: core/src/fpdfdoc/doc_link.cpp
  function CFX_PtrArray (line 17) | CFX_PtrArray* CPDF_LinkList::GetPageLinks(CPDF_Page* pPage)
  function CPDF_Link (line 42) | CPDF_Link CPDF_LinkList::GetLink(CPDF_Page* pPage, int index)
  function CPDF_Link (line 50) | CPDF_Link CPDF_LinkList::GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x...
  function CPDF_Rect (line 83) | CPDF_Rect CPDF_Link::GetRect()
  function CPDF_Dest (line 87) | CPDF_Dest CPDF_Link::GetDest(CPDF_Document* pDoc)
  function CPDF_Action (line 102) | CPDF_Action CPDF_Link::GetAction()

FILE: core/src/fpdfdoc/doc_metadata.cpp
  type _PDFDOC_METADATA (line 9) | struct _PDFDOC_METADATA {
  function FX_INT32 (line 79) | FX_INT32 CPDF_Metadata::GetString(FX_BSTR bsItem, CFX_WideString &wsStr)
  function CXML_Element (line 144) | CXML_Element* CPDF_Metadata::GetRoot() const
  function CXML_Element (line 148) | CXML_Element* CPDF_Metadata::GetRDF() const

FILE: core/src/fpdfdoc/doc_ocg.cpp
  function FX_INT32 (line 8) | static FX_INT32 FPDFDOC_OCG_FindGroup(const CPDF_Object *pObject, const ...
  function FX_BOOL (line 28) | static FX_BOOL FPDFDOC_OCG_HasIntent(const CPDF_Dictionary *pDict, FX_BS...
  function CPDF_Dictionary (line 49) | static CPDF_Dictionary* FPDFDOC_OCG_GetConfig(CPDF_Document *pDoc, const...
  function CFX_ByteString (line 82) | static CFX_ByteString FPDFDOC_OCG_GetUsageTypeString(CPDF_OCContext::Usa...
  function FX_BOOL (line 104) | FX_BOOL CPDF_OCContext::LoadOCGStateFromConfig(FX_BSTR csConfig, const C...
  function FX_BOOL (line 152) | FX_BOOL CPDF_OCContext::LoadOCGState(const CPDF_Dictionary *pOCGDict) const
  function FX_BOOL (line 177) | FX_BOOL CPDF_OCContext::GetOCGVisible(const CPDF_Dictionary *pOCGDict)
  function FX_BOOL (line 190) | FX_BOOL CPDF_OCContext::GetOCGVE(CPDF_Array *pExpression, FX_BOOL bFromC...
  function FX_BOOL (line 241) | FX_BOOL CPDF_OCContext::LoadOCMDState(const CPDF_Dictionary *pOCMDDict, ...
  function FX_BOOL (line 285) | FX_BOOL CPDF_OCContext::CheckOCGVisible(const CPDF_Dictionary *pOCGDict)

FILE: core/src/fpdfdoc/doc_tagged.cpp
  function FX_BOOL (line 12) | static FX_BOOL IsTagged(const CPDF_Document* pDoc)
  function CPDF_StructTree (line 18) | CPDF_StructTree* CPDF_StructTree::LoadPage(const CPDF_Document* pDoc, co...
  function CPDF_StructTree (line 30) | CPDF_StructTree* CPDF_StructTree::LoadDoc(const CPDF_Document* pDoc)
  function CPDF_StructElementImpl (line 134) | CPDF_StructElementImpl* CPDF_StructTreeImpl::AddPageNode(CPDF_Dictionary...
  function FX_BOOL (line 174) | FX_BOOL CPDF_StructTreeImpl::AddTopLevelNode(CPDF_Dictionary* pDict, CPD...
  function CPDF_StructElementImpl (line 232) | CPDF_StructElementImpl* CPDF_StructElementImpl::Retain()
  function CPDF_Dictionary (line 325) | static CPDF_Dictionary* FindAttrDict(CPDF_Object* pAttrs, FX_BSTR owner,...
  function CPDF_Object (line 353) | CPDF_Object* CPDF_StructElementImpl::GetAttr(FX_BSTR owner, FX_BSTR name...
  function CPDF_Object (line 404) | CPDF_Object* CPDF_StructElementImpl::GetAttr(FX_BSTR owner, FX_BSTR name...
  function CFX_ByteString (line 416) | CFX_ByteString CPDF_StructElementImpl::GetName(FX_BSTR owner, FX_BSTR na...
  function FX_ARGB (line 424) | FX_ARGB	CPDF_StructElementImpl::GetColor(FX_BSTR owner, FX_BSTR name, FX...
  function FX_FLOAT (line 433) | FX_FLOAT CPDF_StructElementImpl::GetNumber(FX_BSTR owner, FX_BSTR name, ...

FILE: core/src/fpdfdoc/doc_utils.cpp
  function CFX_WideString (line 31) | CFX_WideString GetFullName(CPDF_Dictionary* pFieldDict)
  function FX_BOOL (line 48) | FX_BOOL CPDF_DefaultAppearance::HasFont()
  function CFX_ByteString (line 56) | CFX_ByteString CPDF_DefaultAppearance::GetFontString()
  function FX_BOOL (line 87) | FX_BOOL CPDF_DefaultAppearance::HasColor(FX_BOOL bStrokingOperation)
  function CFX_ByteString (line 103) | CFX_ByteString CPDF_DefaultAppearance::GetColorString(FX_BOOL bStrokingO...
  function FX_BOOL (line 209) | FX_BOOL CPDF_DefaultAppearance::HasTextMatrix()
  function CFX_ByteString (line 217) | CFX_ByteString CPDF_DefaultAppearance::GetTextMatrixString()
  function CFX_AffineMatrix (line 233) | CFX_AffineMatrix CPDF_DefaultAppearance::GetTextMatrix()
  function InitInterFormDict (line 249) | void InitInterFormDict(CPDF_Dictionary*& pFormDict, CPDF_Document* pDocu...
  function FX_DWORD (line 296) | FX_DWORD CountInterFormFonts(CPDF_Dictionary* pFormDict)
  function CPDF_Font (line 327) | CPDF_Font* GetInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Document* p...
  function CPDF_Font (line 365) | CPDF_Font* GetInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Document* p...
  function CPDF_Font (line 388) | CPDF_Font* GetInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Document* p...
  function CPDF_Font (line 431) | CPDF_Font* GetNativeInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Docum...
  function CPDF_Font (line 475) | CPDF_Font* GetNativeInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Docum...
  function FX_BOOL (line 490) | FX_BOOL FindInterFormFont(CPDF_Dictionary* pFormDict, const CPDF_Font* p...
  function FX_BOOL (line 526) | FX_BOOL FindInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Document* pDo...
  function AddInterFormFont (line 572) | void AddInterFormFont(CPDF_Dictionary*& pFormDict, CPDF_Document* pDocum...
  function CPDF_Font (line 608) | CPDF_Font* AddNativeInterFormFont(CPDF_Dictionary*& pFormDict, CPDF_Docu...
  function CPDF_Font (line 631) | CPDF_Font* AddNativeInterFormFont(CPDF_Dictionary*& pFormDict, CPDF_Docu...
  function RemoveInterFormFont (line 636) | void RemoveInterFormFont(CPDF_Dictionary* pFormDict, const CPDF_Font* pF...
  function RemoveInterFormFont (line 649) | void RemoveInterFormFont(CPDF_Dictionary* pFormDict, CFX_ByteString csNa...
  function CPDF_Font (line 664) | CPDF_Font* GetDefaultInterFormFont(CPDF_Dictionary* pFormDict, CPDF_Docu...
  function FX_BOOL (line 690) | FX_BOOL CPDF_IconFit::IsProportionalScale()
  function FX_BOOL (line 714) | FX_BOOL CPDF_IconFit::GetFittingBounds()
  function SaveCheckedFieldStatus (line 721) | void SaveCheckedFieldStatus(CPDF_FormField* pField, CFX_ByteArray& statu...
  function CPDF_Object (line 732) | CPDF_Object* FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHA...

FILE: core/src/fpdfdoc/doc_viewerPreferences.cpp
  function FX_BOOL (line 14) | FX_BOOL CPDF_ViewerPreferences::IsDirectionR2L() const
  function FX_BOOL (line 23) | FX_BOOL CPDF_ViewerPreferences::PrintScaling() const
  function FX_INT32 (line 32) | FX_INT32 CPDF_ViewerPreferences::NumCopies() const
  function CPDF_Array (line 41) | CPDF_Array* CPDF_ViewerPreferences::PrintPageRange() const
  function CFX_ByteString (line 52) | CFX_ByteString CPDF_ViewerPreferences::Duplex() const

FILE: core/src/fpdfdoc/doc_vt.cpp
  function CPVT_WordPlace (line 25) | CPVT_WordPlace CLine::GetBeginWordPlace() const
  function CPVT_WordPlace (line 29) | CPVT_WordPlace CLine::GetEndWordPlace() const
  function CPVT_WordPlace (line 33) | CPVT_WordPlace CLine::GetPrevWordPlace(const CPVT_WordPlace & place) const
  function CPVT_WordPlace (line 40) | CPVT_WordPlace CLine::GetNextWordPlace(const CPVT_WordPlace & place) const
  function CPVT_WordPlace (line 78) | CPVT_WordPlace CSection::AddWord(const CPVT_WordPlace & place, const CPV...
  function CPVT_WordPlace (line 90) | CPVT_WordPlace CSection::AddLine(const CPVT_LineInfo & lineinfo)
  function CPVT_FloatRect (line 94) | CPVT_FloatRect CSection::Rearrange()
  function CPVT_Size (line 103) | CPVT_Size CSection::GetSectionSize(FX_FLOAT fFontSize)
  function CPVT_WordPlace (line 107) | CPVT_WordPlace CSection::GetBeginWordPlace() const
  function CPVT_WordPlace (line 115) | CPVT_WordPlace CSection::GetEndWordPlace() const
  function CPVT_WordPlace (line 123) | CPVT_WordPlace CSection::GetPrevWordPlace(const CPVT_WordPlace & place) ...
  function CPVT_WordPlace (line 144) | CPVT_WordPlace CSection::GetNextWordPlace(const CPVT_WordPlace & place) ...
  function CPVT_WordPlace (line 185) | CPVT_WordPlace CSection::SearchWordPlace(const CPDF_Point & point) const
  function CPVT_WordPlace (line 231) | CPVT_WordPlace CSection::SearchWordPlace(FX_FLOAT fx, const CPVT_WordPla...
  function CPVT_WordPlace (line 239) | CPVT_WordPlace CSection::SearchWordPlace(FX_FLOAT fx, const CPVT_WordRan...
  function CPVT_FloatRect (line 326) | CPVT_FloatRect CTypeset::CharArray()
  function CPVT_Size (line 396) | CPVT_Size CTypeset::GetEditSize(FX_FLOAT fFontSize)
  function CPVT_FloatRect (line 403) | CPVT_FloatRect CTypeset::Typeset()
  function FX_BOOL (line 431) | static FX_BOOL IsLatin(FX_WORD word)
  function FX_BOOL (line 449) | static FX_BOOL IsDigit(FX_DWORD word)
  function FX_BOOL (line 453) | static FX_BOOL IsCJK(FX_DWORD word)
  function FX_BOOL (line 479) | static FX_BOOL IsPunctuation(FX_DWORD word)
  function FX_BOOL (line 525) | static FX_BOOL IsConnectiveSymbol(FX_DWORD word)
  function FX_BOOL (line 534) | static FX_BOOL IsOpenStylePunctuation(FX_DWORD word)
  function FX_BOOL (line 547) | static FX_BOOL IsCurrencySymbol(FX_WORD word)
  function FX_BOOL (line 557) | static FX_BOOL IsPrefixSymbol(FX_WORD word)
  function FX_BOOL (line 567) | static FX_BOOL IsSpace(FX_WORD word)
  function FX_BOOL (line 571) | static FX_BOOL NeedDivision(FX_WORD prevWord, FX_WORD curWord)
  function CPVT_WordPlace (line 859) | CPVT_WordPlace CPDF_VariableText::InsertWord(const CPVT_WordPlace & plac...
  function CPVT_WordPlace (line 883) | CPVT_WordPlace CPDF_VariableText::InsertSection(const CPVT_WordPlace & p...
  function CPVT_WordPlace (line 924) | CPVT_WordPlace CPDF_VariableText::InsertText(const CPVT_WordPlace & plac...
  function CPVT_WordPlace (line 961) | CPVT_WordPlace CPDF_VariableText::DeleteWords(const CPVT_WordRange & Pla...
  function CPVT_WordPlace (line 976) | CPVT_WordPlace CPDF_VariableText::DeleteWord(const CPVT_WordPlace & place)
  function CPVT_WordPlace (line 980) | CPVT_WordPlace CPDF_VariableText::BackSpaceWord(const CPVT_WordPlace & p...
  function FX_INT32 (line 1056) | FX_INT32 CPDF_VariableText::WordPlaceToWordIndex(const CPVT_WordPlace & ...
  function CPVT_WordPlace (line 1076) | CPVT_WordPlace CPDF_VariableText::WordIndexToWordPlace(FX_INT32 index) c...
  function CPVT_WordPlace (line 1106) | CPVT_WordPlace CPDF_VariableText::GetBeginWordPlace() const
  function CPVT_WordPlace (line 1110) | CPVT_WordPlace CPDF_VariableText::GetEndWordPlace() const
  function CPVT_WordPlace (line 1117) | CPVT_WordPlace CPDF_VariableText::GetPrevWordPlace(const CPVT_WordPlace ...
  function CPVT_WordPlace (line 1138) | CPVT_WordPlace CPDF_VariableText::GetNextWordPlace(const CPVT_WordPlace ...
  function CPVT_WordPlace (line 1159) | CPVT_WordPlace CPDF_VariableText::SearchWordPlace(const CPDF_Point & poi...
  function CPVT_WordPlace (line 1203) | CPVT_WordPlace CPDF_VariableText::GetUpWordPlace(const CPVT_WordPlace & ...
  function CPVT_WordPlace (line 1221) | CPVT_WordPlace CPDF_VariableText::GetDownWordPlace(const CPVT_WordPlace ...
  function CPVT_WordPlace (line 1239) | CPVT_WordPlace CPDF_VariableText::GetLineBeginPlace(const CPVT_WordPlace...
  function CPVT_WordPlace (line 1243) | CPVT_WordPlace CPDF_VariableText::GetLineEndPlace(const CPVT_WordPlace &...
  function CPVT_WordPlace (line 1251) | CPVT_WordPlace CPDF_VariableText::GetSectionBeginPlace(const CPVT_WordPl...
  function CPVT_WordPlace (line 1255) | CPVT_WordPlace CPDF_VariableText::GetSectionEndPlace(const CPVT_WordPlac...
  function FX_INT32 (line 1262) | FX_INT32 CPDF_VariableText::GetTotalWords() const
  function CPVT_WordPlace (line 1278) | CPVT_WordPlace CPDF_VariableText::AddSection(const CPVT_WordPlace & plac...
  function CPVT_WordPlace (line 1297) | CPVT_WordPlace CPDF_VariableText::AddLine(const CPVT_WordPlace & place, ...
  function CPVT_WordPlace (line 1307) | CPVT_WordPlace CPDF_VariableText::AddWord(const CPVT_WordPlace & place, ...
  function FX_BOOL (line 1319) | FX_BOOL CPDF_VariableText::GetWordInfo(const CPVT_WordPlace & place, CPV...
  function FX_BOOL (line 1329) | FX_BOOL CPDF_VariableText::SetWordInfo(const CPVT_WordPlace & place, con...
  function FX_BOOL (line 1339) | FX_BOOL CPDF_VariableText::GetLineInfo(const CPVT_WordPlace & place, CPV...
  function FX_BOOL (line 1349) | FX_BOOL CPDF_VariableText::GetSectionInfo(const CPVT_WordPlace & place, ...
  function CPDF_Rect (line 1357) | CPDF_Rect CPDF_VariableText::GetContentRect() const
  function FX_FLOAT (line 1361) | FX_FLOAT CPDF_VariableText::GetWordFontSize(const CPVT_WordInfo & WordIn...
  function FX_INT32 (line 1365) | FX_INT32 CPDF_VariableText::GetWordFontIndex(const CPVT_WordInfo & WordI...
  function FX_FLOAT (line 1369) | FX_FLOAT CPDF_VariableText::GetWordWidth(FX_INT32 nFontIndex, FX_WORD Wo...
  function FX_FLOAT (line 1375) | FX_FLOAT CPDF_VariableText::GetWordWidth(const CPVT_WordInfo & WordInfo)
  function FX_FLOAT (line 1381) | FX_FLOAT CPDF_VariableText::GetLineAscent(const CPVT_SectionInfo & SecInfo)
  function FX_FLOAT (line 1386) | FX_FLOAT CPDF_VariableText::GetLineDescent(const CPVT_SectionInfo & SecI...
  function FX_FLOAT (line 1391) | FX_FLOAT CPDF_VariableText::GetFontAscent(FX_INT32 nFontIndex, FX_FLOAT ...
  function FX_FLOAT (line 1395) | FX_FLOAT CPDF_VariableText::GetFontDescent(FX_INT32 nFontIndex, FX_FLOAT...
  function FX_FLOAT (line 1399) | FX_FLOAT CPDF_VariableText::GetWordAscent(const CPVT_WordInfo & WordInfo...
  function FX_FLOAT (line 1403) | FX_FLOAT CPDF_VariableText::GetWordDescent(const CPVT_WordInfo & WordInf...
  function FX_FLOAT (line 1407) | FX_FLOAT CPDF_VariableText::GetWordAscent(const CPVT_WordInfo & WordInfo...
  function FX_FLOAT (line 1411) | FX_FLOAT CPDF_VariableText::GetWordDescent(const CPVT_WordInfo & WordInf...
  function FX_FLOAT (line 1415) | FX_FLOAT CPDF_VariableText::GetLineLeading(const CPVT_SectionInfo & SecI...
  function FX_FLOAT (line 1419) | FX_FLOAT CPDF_VariableText::GetLineIndent(const CPVT_SectionInfo & SecInfo)
  function FX_INT32 (line 1423) | FX_INT32 CPDF_VariableText::GetAlignment(const CPVT_SectionInfo& SecInfo)
  function FX_FLOAT (line 1427) | FX_FLOAT CPDF_VariableText::GetCharSpace(const CPVT_WordInfo & WordInfo)
  function FX_INT32 (line 1431) | FX_INT32 CPDF_VariableText::GetHorzScale(const CPVT_WordInfo & WordInfo)
  function CPVT_WordPlace (line 1445) | CPVT_WordPlace CPDF_VariableText::AjustLineHeader(const CPVT_WordPlace &...
  function FX_BOOL (line 1456) | FX_BOOL CPDF_VariableText::ClearEmptySection(const CPVT_WordPlace & place)
  function CPVT_WordPlace (line 1505) | CPVT_WordPlace CPDF_VariableText::ClearLeftWord(const CPVT_WordPlace & p...
  function CPVT_WordPlace (line 1524) | CPVT_WordPlace CPDF_VariableText::ClearRightWord(const CPVT_WordPlace & ...
  function CPVT_FloatRect (line 1546) | CPVT_FloatRect CPDF_VariableText::Rearrange(const CPVT_WordRange & Place...
  function FX_FLOAT (line 1560) | FX_FLOAT CPDF_VariableText::GetAutoFontSize()
  function FX_BOOL (line 1588) | FX_BOOL	CPDF_VariableText::IsBigger(FX_FLOAT fFontSize)
  function CPVT_FloatRect (line 1607) | CPVT_FloatRect CPDF_VariableText::RearrangeSections(const CPVT_WordRange...
  function FX_INT32 (line 1646) | FX_INT32 CPDF_VariableText::GetCharWidth(FX_INT32 nFontIndex, FX_WORD Wo...
  function FX_INT32 (line 1657) | FX_INT32 CPDF_VariableText::GetTypeAscent(FX_INT32 nFontIndex)
  function FX_INT32 (line 1661) | FX_INT32 CPDF_VariableText::GetTypeDescent(FX_INT32 nFontIndex)
  function FX_INT32 (line 1665) | FX_INT32 CPDF_VariableText::GetWordFontIndex(FX_WORD word, FX_INT32 char...
  function FX_INT32 (line 1669) | FX_INT32 CPDF_VariableText::GetDefaultFontIndex()
  function FX_BOOL (line 1673) | FX_BOOL	CPDF_VariableText::IsLatinWord(FX_WORD word)
  function IPDF_VariableText_Iterator (line 1677) | IPDF_VariableText_Iterator * CPDF_VariableText::GetIterator()
  function IPDF_VariableText_Provider (line 1684) | IPDF_VariableText_Provider*	CPDF_VariableText::SetProvider(IPDF_Variable...
  function FX_BOOL (line 1708) | FX_BOOL	CPDF_VariableText_Iterator::NextWord()
  function FX_BOOL (line 1717) | FX_BOOL	CPDF_VariableText_Iterator::PrevWord()
  function FX_BOOL (line 1726) | FX_BOOL	CPDF_VariableText_Iterator::NextLine()
  function FX_BOOL (line 1742) | FX_BOOL	CPDF_VariableText_Iterator::PrevLine()
  function FX_BOOL (line 1760) | FX_BOOL	CPDF_VariableText_Iterator::NextSection()
  function FX_BOOL (line 1769) | FX_BOOL	CPDF_VariableText_Iterator::PrevSection()
  function FX_BOOL (line 1778) | FX_BOOL	CPDF_VariableText_Iterator::GetWord(CPVT_Word & word) const
  function FX_BOOL (line 1804) | FX_BOOL	CPDF_VariableText_Iterator::SetWord(const CPVT_Word & word)
  function FX_BOOL (line 1817) | FX_BOOL	CPDF_VariableText_Iterator::GetLine(CPVT_Line & line) const
  function FX_BOOL (line 1835) | FX_BOOL	CPDF_VariableText_Iterator::GetSection(CPVT_Section & section) c...
  function FX_BOOL (line 1851) | FX_BOOL	CPDF_VariableText_Iterator::SetSection(const CPVT_Section & sect...

FILE: core/src/fpdfdoc/doc_vtmodule.cpp
  function IPDF_VariableText (line 10) | IPDF_VariableText* IPDF_VariableText::NewVariableText()

FILE: core/src/fpdfdoc/pdf_vt.h
  type CPVT_SectionInfo (line 10) | struct CPVT_SectionInfo
  type CPVT_LineInfo (line 11) | struct CPVT_LineInfo
  type CPVT_WordInfo (line 12) | struct CPVT_WordInfo
  function class (line 31) | class CPVT_Size
  function class (line 44) | class CPVT_FloatRect : public CFX_FloatRect
  function Default (line 66) | void Default()
  function if (line 79) | struct CPVT_SectionInfo {
  type CPVT_LineInfo (line 123) | struct CPVT_LineInfo {
  function Clear (line 272) | void									Clear()
  function class (line 283) | class CSection : public CFX_Object
  function SetFontSize (line 443) | void									SetFontSize(FX_FLOAT fFontSize)
  function SetRichText (line 455) | void									SetRichText(FX_BOOL bRichText)
  function SetLineLeading (line 459) | void									SetLineLeading(FX_FLOAT fLineLeading)
  function CPDF_Rect (line 486) | const CPDF_Rect &						GetPlateRect() const
  function CPVT_WordPlace (line 521) | inline CPVT_WordPlace					GetBeginWordPlace() const;

FILE: core/src/fpdfdoc/tagged_int.h
  function class (line 11) | class CPDF_StructTreeImpl : public CPDF_StructTree
  function CPDF_StructTree (line 40) | CPDF_StructTree*		GetTree() const
  function CPDF_StructElement (line 48) | CPDF_StructElement*		GetParent() const
  function CPDF_Dictionary (line 52) | CPDF_Dictionary *		GetDict() const
  function CPDF_StructKid (line 60) | const CPDF_StructKid&	GetKid(int index) const
  function CFX_PtrArray (line 64) | CFX_PtrArray*			GetObjectArray()

FILE: core/src/fpdftext/fpdf_text.cpp
  function CFX_ByteString (line 14) | CFX_ByteString CharFromUnicodeAlt(FX_WCHAR unicode, int destcp, FX_LPCST...
  function CTextBaseLine (line 155) | CTextBaseLine* CTextPage::InsertTextBox(CTextBaseLine* pBaseLine, FX_FLO...
  function NormalizeCompositeChar (line 291) | void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest)
  function NormalizeString (line 307) | void NormalizeString(CFX_WideString& str)
  function FX_BOOL (line 436) | static FX_BOOL IsNumber(CFX_WideString& str)
  function CTextColumn (line 489) | CTextColumn* CTextPage::FindColumn(FX_FLOAT xpos)
  function FX_BOOL (line 550) | FX_BOOL CTextBaseLine::CanMerge(CTextBaseLine* pOther)
  function FX_BOOL (line 592) | FX_BOOL CTextBaseLine::GetWidth(FX_FLOAT& leftx, FX_FLOAT& rightx)
  function CheckRotate (line 685) | static void CheckRotate(CPDF_Page& page, CFX_FloatRect& page_bbox)
  function PDF_GetPageText_Unicode (line 729) | void PDF_GetPageText_Unicode(CFX_WideStringArray& lines, CPDF_Document* ...
  function PDF_GetPageText (line 763) | void PDF_GetPageText(CFX_ByteStringArray& lines, CPDF_Document* pDoc, CP...
  function PDF_GetTextStream_Unicode (line 781) | void PDF_GetTextStream_Unicode(CFX_WideTextBuf& buffer, CPDF_Document* p...

FILE: core/src/fpdftext/fpdf_text_int.cpp
  function FX_BOOL (line 14) | FX_BOOL _IsIgnoreSpaceCharacter(FX_WCHAR curChar)
  function IPDF_TextPage (line 36) | IPDF_TextPage* IPDF_TextPage::CreateTextPage(const CPDF_Page* pPage, CPD...
  function IPDF_TextPage (line 41) | IPDF_TextPage* IPDF_TextPage::CreateTextPage(const CPDF_Page* pPage, int...
  function IPDF_TextPage (line 46) | IPDF_TextPage*	IPDF_TextPage::CreateTextPage(const CPDF_PageObjects* pOb...
  function IPDF_TextPageFind (line 51) | IPDF_TextPageFind*	IPDF_TextPageFind::CreatePageFind(const IPDF_TextPage...
  function IPDF_LinkExtract (line 58) | IPDF_LinkExtract* IPDF_LinkExtract::CreateLinkExtract()
  function FX_BOOL (line 115) | FX_BOOL CPDF_TextPage::IsControlChar(PAGECHAR_INFO* pCharInfo)
  function FX_BOOL (line 138) | FX_BOOL CPDF_TextPage::ParseTextPage()
  function CFX_WideString (line 356) | CFX_WideString CPDF_TextPage::GetTextByRect(CFX_FloatRect rect) const
  function CFX_WideString (line 651) | CFX_WideString CPDF_TextPage::GetPageText(int start , int nCount) const
  function FX_BOOL (line 730) | FX_BOOL CPDF_TextPage::GetBaselineRotate(int start, int end, int& Rotate)
  function FX_BOOL (line 770) | FX_BOOL	CPDF_TextPage::GetBaselineRotate(CFX_FloatRect rect , int& Rotate)
  function FX_BOOL (line 789) | FX_BOOL	CPDF_TextPage::GetBaselineRotate(int rectIndex, int& Rotate)
  function FX_INT32 (line 931) | FX_INT32 CPDF_TextPage::FindTextlineFlowDirection()
  function FX_INT32 (line 1426) | FX_INT32 CPDF_TextPage::PreMarkedContent(PDFTEXT_Obj Obj)
  function FX_INT32 (line 1843) | FX_INT32 CPDF_TextPage::GetTextObjectWritingMode(const CPDF_TextObject* ...
  function FX_BOOL (line 1874) | FX_BOOL CPDF_TextPage::IsHyphen(FX_WCHAR curChar)
  function FX_BOOL (line 2047) | FX_BOOL CPDF_TextPage::IsSameTextObject(CPDF_TextObject* pTextObj1, CPDF...
  function FX_BOOL (line 2097) | FX_BOOL CPDF_TextPage::IsSameAsPreTextObject(CPDF_TextObject* pTextObj, ...
  function FX_BOOL (line 2122) | FX_BOOL CPDF_TextPage::GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO&...
  function FX_BOOL (line 2158) | FX_BOOL CPDF_TextPage::IsRectIntersect(CFX_FloatRect rect1, CFX_FloatRec...
  function FX_BOOL (line 2166) | FX_BOOL	CPDF_TextPage::IsLetter(FX_WCHAR unicode)
  function FX_BOOL (line 2237) | FX_BOOL	CPDF_TextPageFind::FindFirst(CFX_WideString findwhat, int flags,...
  function FX_BOOL (line 2285) | FX_BOOL CPDF_TextPageFind::FindNext()
  function FX_BOOL (line 2387) | FX_BOOL CPDF_TextPageFind::FindPrev()
  function FX_BOOL (line 2486) | FX_BOOL CPDF_TextPageFind::IsMatchWholeWord(CFX_WideString csPageText, i...
  function FX_BOOL (line 2524) | FX_BOOL CPDF_TextPageFind::ExtractSubString(CFX_WideString& rString, FX_...
  function CFX_WideStr
Copy disabled (too large) Download .json
Condensed preview — 1309 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (30,941K chars).
[
  {
    "path": ".gitattributes",
    "chars": 12,
    "preview": "* text=auto\n"
  },
  {
    "path": ".gitignore",
    "chars": 156,
    "preview": "/build/Debug\n/build/Release\n/build/gyp\n/out\n/v8\n/xcodebuild\nMakefile\n.DS_Store\n*.filters\n*.mk\n*.opensdf\n*.pyc\n*.sdf\n*.sl"
  },
  {
    "path": "AUTHORS",
    "chars": 904,
    "preview": "# Names should be added to this file with this pattern:\n#\n# For individuals:\n#   Name <email address>\n#\n# For organizati"
  },
  {
    "path": "BUILD.gn",
    "chars": 35077,
    "preview": "# Copyright 2014 The Chromium Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style license"
  },
  {
    "path": "LICENSE",
    "chars": 1553,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or "
  },
  {
    "path": "README",
    "chars": 72,
    "preview": "For build instructions visit https://code.google.com/p/pdfium/wiki/Build"
  },
  {
    "path": "README.md",
    "chars": 248,
    "preview": "### PDFium.js\n\nPDFium ported to JS with Emscripten\n\n[Online Demo](http://coolwanglu.github.io/PDFium.js/)\n\n[Experimental"
  },
  {
    "path": "TODO",
    "chars": 99,
    "preview": "- Support XHR files\n- Paint PDF to image directly, avoid allocating\n- Worker, for smooth scrolling\n"
  },
  {
    "path": "build/all.gyp",
    "chars": 351,
    "preview": "# Copyright 2014 PDFium Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style license that "
  },
  {
    "path": "build/gyp_pdfium",
    "chars": 1153,
    "preview": "#!/usr/bin/env python\n#\n# Copyright 2014 PDFium Authors. All rights reserved.\n# Use of this source code is governed by a"
  },
  {
    "path": "build/gyp_pdfium.py",
    "chars": 262,
    "preview": "# Copyright 2014 PDFium Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style license that "
  },
  {
    "path": "build/standalone.gypi",
    "chars": 7601,
    "preview": "# Copyright 2014 PDFium Authors. All rights reserved.\n# Use of this source code is governed by a BSD-style license that "
  },
  {
    "path": "build.sh",
    "chars": 1231,
    "preview": "#!/bin/bash\nset -e\n[ -z $EM_DIR] && EM_DIR=~/src/emscripten\n\ndo_config() {\n    build/gyp_pdfium\n}\n\ndo_make() {\n$EM_DIR/e"
  },
  {
    "path": "codereview.settings",
    "chars": 509,
    "preview": "# This file is used by gcl to get repository specific information.\nCODE_REVIEW_SERVER: codereview.chromium.org\nCC_LIST: "
  },
  {
    "path": "core/include/fdrm/fx_crypt.h",
    "chars": 2361,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_module.h",
    "chars": 4572,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_objects.h",
    "chars": 16330,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_page.h",
    "chars": 5824,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_pageobj.h",
    "chars": 14597,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_parser.h",
    "chars": 31239,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_render.h",
    "chars": 9482,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_resource.h",
    "chars": 20885,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdf_serial.h",
    "chars": 6028,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfapi/fpdfapi.h",
    "chars": 471,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfdoc/fpdf_ap.h",
    "chars": 2776,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfdoc/fpdf_doc.h",
    "chars": 35274,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfdoc/fpdf_tagged.h",
    "chars": 2613,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdfdoc/fpdf_vt.h",
    "chars": 12119,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fpdftext/fpdf_text.h",
    "chars": 5515,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcodec/fx_codec.h",
    "chars": 10293,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcodec/fx_codec_def.h",
    "chars": 2344,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcodec/fx_codec_provider.h",
    "chars": 1826,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_arb.h",
    "chars": 654,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_basic.h",
    "chars": 34508,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_coordinates.h",
    "chars": 22462,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_ext.h",
    "chars": 2708,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_memory.h",
    "chars": 3016,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_stream.h",
    "chars": 5912,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_string.h",
    "chars": 20643,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_system.h",
    "chars": 9603,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_ucd.h",
    "chars": 2872,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxcrt/fx_xml.h",
    "chars": 4741,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fpf.h",
    "chars": 1857,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fx_dib.h",
    "chars": 20350,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fx_font.h",
    "chars": 13852,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fx_freetype.h",
    "chars": 9307,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fx_ge.h",
    "chars": 20776,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fx_ge_apple.h",
    "chars": 758,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/fxge/fx_ge_win32.h",
    "chars": 2309,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/reflow/fpdf_layout.h",
    "chars": 6361,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/reflow/reflowengine.h",
    "chars": 2675,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/thirdparties/freetype/foxitnames.h",
    "chars": 15105,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/config/ftconfig.h",
    "chars": 21500,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/config/ftheader.h",
    "chars": 26116,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/config/ftmodule.h",
    "chars": 2660,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/config/ftoption.h",
    "chars": 52940,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/config/ftstdlib.h",
    "chars": 7498,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/freetype.h",
    "chars": 251284,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftadvanc.h",
    "chars": 10578,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftautoh.h",
    "chars": 12903,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftbbox.h",
    "chars": 5246,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftbdf.h",
    "chars": 6751,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftbitmap.h",
    "chars": 14000,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftbzip2.h",
    "chars": 4309,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftcache.h",
    "chars": 57535,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftcffdrv.h",
    "chars": 4623,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftcid.h",
    "chars": 5581,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/fterrdef.h",
    "chars": 12399,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/fterrors.h",
    "chars": 9277,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftgasp.h",
    "chars": 4504,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftglyph.h",
    "chars": 39819,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftgxval.h",
    "chars": 12602,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftgzip.h",
    "chars": 4290,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftimage.h",
    "chars": 83191,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftincrem.h",
    "chars": 11408,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftlcdfil.h",
    "chars": 9311,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftlist.h",
    "chars": 16766,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftlzw.h",
    "chars": 4258,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftmac.h",
    "chars": 17101,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftmm.h",
    "chars": 22710,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftmodapi.h",
    "chars": 32653,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftmoderr.h",
    "chars": 10420,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftotval.h",
    "chars": 7138,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftoutln.h",
    "chars": 33921,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftpfr.h",
    "chars": 6291,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftrender.h",
    "chars": 11724,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftsizes.h",
    "chars": 9563,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftsnames.h",
    "chars": 11177,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftstroke.h",
    "chars": 21599,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftsynth.h",
    "chars": 3977,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftsystem.h",
    "chars": 10447,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/fttrigon.h",
    "chars": 8442,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftttdrv.h",
    "chars": 5435,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/fttypes.h",
    "chars": 35384,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftwinfnt.h",
    "chars": 10404,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ftxf86.h",
    "chars": 4723,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/autohint.h",
    "chars": 14456,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftcalc.h",
    "chars": 7602,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftdebug.h",
    "chars": 11700,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftdriver.h",
    "chars": 21595,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftgloadr.h",
    "chars": 6506,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftmemory.h",
    "chars": 19856,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftobjs.h",
    "chars": 80117,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftpic.h",
    "chars": 2522,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftrfork.h",
    "chars": 14269,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftserv.h",
    "chars": 45536,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftstream.h",
    "chars": 23136,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/fttrace.h",
    "chars": 5619,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/ftvalid.h",
    "chars": 7489,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/internal.h",
    "chars": 3586,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/psaux.h",
    "chars": 36179,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/pshints.h",
    "chars": 22541,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svbdf.h",
    "chars": 3132,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svcid.h",
    "chars": 3876,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svgldict.h",
    "chars": 3434,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svgxval.h",
    "chars": 2732,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svkern.h",
    "chars": 1773,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svmm.h",
    "chars": 4476,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svotval.h",
    "chars": 1933,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svpfr.h",
    "chars": 2269,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svpostnm.h",
    "chars": 2929,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svprop.h",
    "chars": 2961,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svpscmap.h",
    "chars": 6863,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svpsinfo.h",
    "chars": 4383,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svsfnt.h",
    "chars": 3370,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svttcmap.h",
    "chars": 4736,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svtteng.h",
    "chars": 1686,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svttglyf.h",
    "chars": 2333,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svwinfnt.h",
    "chars": 1699,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/services/svxf86nm.h",
    "chars": 2039,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/sfnt.h",
    "chars": 41061,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/t1types.h",
    "chars": 9817,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/internal/tttypes.h",
    "chars": 81427,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/t1tables.h",
    "chars": 27038,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ttnameid.h",
    "chars": 61393,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/tttables.h",
    "chars": 41138,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/tttags.h",
    "chars": 5110,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/freetype/ttunpat.h",
    "chars": 2231,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/freetype/ft2build.h",
    "chars": 2209,
    "preview": "/***************************************************************************/\n/*                                        "
  },
  {
    "path": "core/include/thirdparties/libjpeg/jconfig.h",
    "chars": 1575,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/include/thirdparties/libjpeg/jerror.h",
    "chars": 13948,
    "preview": "/*\n * jerror.h\n *\n * Copyright (C) 1994-1997, Thomas G. Lane.\n * This file is part of the Independent JPEG Group's softw"
  },
  {
    "path": "core/include/thirdparties/libjpeg/jmorecfg.h",
    "chars": 12627,
    "preview": "/*\n * jmorecfg.h\n *\n * Copyright (C) 1991-1997, Thomas G. Lane.\n * This file is part of the Independent JPEG Group's sof"
  },
  {
    "path": "core/include/thirdparties/libjpeg/jpegint.h",
    "chars": 15712,
    "preview": "/*\n * jpegint.h\n *\n * Copyright (C) 1991-1997, Thomas G. Lane.\n * This file is part of the Independent JPEG Group's soft"
  },
  {
    "path": "core/include/thirdparties/libjpeg/jpeglib.h",
    "chars": 50116,
    "preview": "/*\n * jpeglib.h\n *\n * Copyright (C) 1991-1998, Thomas G. Lane.\n * This file is part of the Independent JPEG Group's soft"
  },
  {
    "path": "core/include/thirdparties/zlib/zconf.h",
    "chars": 15988,
    "preview": "/* zconf.h -- configuration of the zlib compression library\n * Copyright (C) 1995-2013 Jean-loup Gailly.\n * For conditio"
  },
  {
    "path": "core/include/thirdparties/zlib/zlib.h",
    "chars": 90581,
    "preview": "/* zlib.h -- interface of the 'zlib' general purpose compression library\n  version 1.2.8, April 28th, 2013\n\n  Copyright "
  },
  {
    "path": "core/src/fdrm/crypto/fx_crypt.cpp",
    "chars": 8948,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fdrm/crypto/fx_crypt_aes.cpp",
    "chars": 42931,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fdrm/crypto/fx_crypt_sha.cpp",
    "chars": 25728,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_basic_module.cpp",
    "chars": 5267,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp",
    "chars": 162560,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/B5pc-H_0.cpp",
    "chars": 6565,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/B5pc-V_0.cpp",
    "chars": 608,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/CNS-EUC-H_0.cpp",
    "chars": 12451,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/CNS-EUC-V_0.cpp",
    "chars": 13815,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/ETen-B5-H_0.cpp",
    "chars": 6744,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/ETen-B5-V_0.cpp",
    "chars": 639,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/ETenms-B5-H_0.cpp",
    "chars": 336,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/ETenms-B5-V_0.cpp",
    "chars": 765,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-H_5.cpp",
    "chars": 30966,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/HKscs-B5-V_5.cpp",
    "chars": 640,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UCS2-H_3.cpp",
    "chars": 416238,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UCS2-V_3.cpp",
    "chars": 643,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/UniCNS-UTF16-H_0.cpp",
    "chars": 247937,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/CNS1/cmaps_cns1.cpp",
    "chars": 3185,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/Adobe-GB1-UCS2_5.cpp",
    "chars": 257727,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GB-EUC-H_0.cpp",
    "chars": 2586,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GB-EUC-V_0.cpp",
    "chars": 814,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBK-EUC-H_2.cpp",
    "chars": 103441,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBK-EUC-V_2.cpp",
    "chars": 815,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-H_5.cpp",
    "chars": 137409,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBK2K-V_5.cpp",
    "chars": 1345,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBKp-EUC-H_2.cpp",
    "chars": 103418,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBKp-EUC-V_2.cpp",
    "chars": 816,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBpc-EUC-H_0.cpp",
    "chars": 2616,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/GBpc-EUC-V_0.cpp",
    "chars": 816,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/UniGB-UCS2-H_4.cpp",
    "chars": 350549,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/UniGB-UCS2-V_4.cpp",
    "chars": 918,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/GB1/cmaps_gb1.cpp",
    "chars": 3039,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/83pv-RKSJ-H_1.cpp",
    "chars": 5934,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/90ms-RKSJ-H_2.cpp",
    "chars": 4642,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/90ms-RKSJ-V_2.cpp",
    "chars": 2285,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/90msp-RKSJ-H_2.cpp",
    "chars": 4619,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/90msp-RKSJ-V_2.cpp",
    "chars": 2286,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/90pv-RKSJ-H_1.cpp",
    "chars": 6974,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/Add-RKSJ-H_1.cpp",
    "chars": 16397,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/Add-RKSJ-V_1.cpp",
    "chars": 1752,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp",
    "chars": 131590,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/EUC-H_1.cpp",
    "chars": 3344,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/EUC-V_1.cpp",
    "chars": 987,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/Ext-RKSJ-H_2.cpp",
    "chars": 17157,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/Ext-RKSJ-V_2.cpp",
    "chars": 1296,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/H_1.cpp",
    "chars": 3292,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp",
    "chars": 417,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-HW-V_4.cpp",
    "chars": 5359,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-H_4.cpp",
    "chars": 166437,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UCS2-V_4.cpp",
    "chars": 4580,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UTF16-H_5.cpp",
    "chars": 235219,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/UniJIS-UTF16-V_5.cpp",
    "chars": 5229,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  },
  {
    "path": "core/src/fpdfapi/fpdf_cmaps/Japan1/V_1.cpp",
    "chars": 983,
    "preview": "// Copyright 2014 PDFium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license tha"
  }
]

// ... and 1109 more files (download for full content)

About this extraction

This page contains the full source code of the coolwanglu/PDFium.js GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1309 files (28.6 MB), approximately 7.6M tokens, and a symbol index with 17042 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!