summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-08-19 14:13:36 -0700
committerTom Sepez <tsepez@chromium.org>2015-08-19 14:13:36 -0700
commit5417f067844892644486d7b0581c247904059a88 (patch)
tree34597c3bf0363c807c2cd9226cb7d7537ea60470
parent7da980351d6fc428fd95be3015081d911f4470c0 (diff)
downloadpdfium-5417f067844892644486d7b0581c247904059a88.tar.xz
Merge to XFA: Extern in .cpp file is a code smell, part 2.
(cherry picked from commit c3f4894a6862c74b9ab32b4ec38c531de6ecd83c) Original Review URL: https://codereview.chromium.org/1298393003 . Fixed IWYU in core/src/fpdftext/text_int.h exposed by new inclusion. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1294933008 .
-rw-r--r--core/include/fpdfapi/fpdf_parser.h13
-rw-r--r--core/include/fpdfapi/fpdf_render.h2
-rw-r--r--core/include/fxge/fx_font.h2
-rw-r--r--core/src/fpdfapi/fpdf_cmaps/cmap_int.h7
-rw-r--r--core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp4
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font.cpp1
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp12
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp8
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp65
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp1
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp9
-rw-r--r--core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp2
-rw-r--r--core/src/fpdfdoc/doc_ap.cpp7
-rw-r--r--core/src/fpdftext/fpdf_text.cpp6
-rw-r--r--core/src/fpdftext/fpdf_text_search.cpp10
-rw-r--r--core/src/fpdftext/text_int.h14
-rw-r--r--core/src/fxge/dib/dib_int.h8
-rw-r--r--core/src/fxge/dib/fx_dib_engine.cpp5
-rw-r--r--core/src/fxge/dib/fx_dib_main.cpp9
-rw-r--r--core/src/fxge/dib/fx_dib_transform.cpp17
-rw-r--r--core/src/fxge/ge/fx_ge_font.cpp1
-rw-r--r--core/src/fxge/ge/fx_ge_fontmap.cpp18
-rw-r--r--core/src/fxge/ge/text_int.h2
-rw-r--r--fpdfsdk/include/fsdk_define.h1
-rw-r--r--fpdfsdk/include/fxedit/fx_edit.h5
-rw-r--r--fpdfsdk/src/fpdf_dataavail.cpp1
-rw-r--r--fpdfsdk/src/fxedit/fxet_pageobjs.cpp5
27 files changed, 120 insertions, 115 deletions
diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h
index ab48a95255..03ae4cf570 100644
--- a/core/include/fpdfapi/fpdf_parser.h
+++ b/core/include/fpdfapi/fpdf_parser.h
@@ -51,6 +51,9 @@ class CFX_PrivateData;
// 'R' - otherwise.
extern const char PDF_CharType[256];
+// Indexed by 8-bit char code, contains unicode code points.
+extern const FX_WORD PDFDocEncoding[256];
+
class CPDF_Document : public CFX_PrivateData, public CPDF_IndirectObjects {
public:
CPDF_Document();
@@ -921,4 +924,14 @@ enum PDF_DATAAVAIL_STATUS {
PDF_DATAAVAIL_TRAILER_APPEND
};
+FX_BOOL PDF_DataDecode(const uint8_t* src_buf,
+ FX_DWORD src_size,
+ const CPDF_Dictionary* pDict,
+ uint8_t*& dest_buf,
+ FX_DWORD& dest_size,
+ CFX_ByteString& ImageEncoding,
+ CPDF_Dictionary*& pImageParms,
+ FX_DWORD estimated_size,
+ FX_BOOL bImageAcc);
+
#endif // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
diff --git a/core/include/fpdfapi/fpdf_render.h b/core/include/fpdfapi/fpdf_render.h
index b0302cdc11..58883a01f1 100644
--- a/core/include/fpdfapi/fpdf_render.h
+++ b/core/include/fpdfapi/fpdf_render.h
@@ -294,4 +294,6 @@ class CPDF_RenderConfig {
int m_RenderStepLimit;
};
+FX_BOOL IsAvailableMatrix(const CFX_AffineMatrix& matrix);
+
#endif // CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h
index 30de472a7e..2d19db614f 100644
--- a/core/include/fxge/fx_font.h
+++ b/core/include/fxge/fx_font.h
@@ -517,4 +517,6 @@ class IFX_GSUBTable {
virtual ~IFX_GSUBTable() {}
};
+CFX_ByteString GetNameFromTT(const uint8_t* name_table, FX_DWORD name);
+
#endif // CORE_INCLUDE_FXGE_FX_FONT_H_
diff --git a/core/src/fpdfapi/fpdf_cmaps/cmap_int.h b/core/src/fpdfapi/fpdf_cmaps/cmap_int.h
index 41743a8f4a..7d51cee4cf 100644
--- a/core/src/fpdfapi/fpdf_cmaps/cmap_int.h
+++ b/core/src/fpdfapi/fpdf_cmaps/cmap_int.h
@@ -22,4 +22,11 @@ struct FXCMAP_CMap {
int m_UseOffset;
};
+void FPDFAPI_FindEmbeddedCMap(const char* name,
+ int charset,
+ int coding,
+ const FXCMAP_CMap*& pMap);
+FX_WORD FPDFAPI_CIDFromCharCode(const FXCMAP_CMap* pMap, FX_DWORD charcode);
+FX_DWORD FPDFAPI_CharCodeFromCID(const FXCMAP_CMap* pMap, FX_WORD cid);
+
#endif // CORE_SRC_FPDFAPI_FPDF_CMAPS_CMAP_INT_H_
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
index 1ff9876acc..d0be5ec1f4 100644
--- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
+++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
@@ -219,15 +219,13 @@ CPDF_Font* CPDF_Document::AddWindowsFont(LOGFONTW* pLogFont,
FXSYS_strcpy(lfa.lfFaceName, face.c_str());
return AddWindowsFont(&lfa, bVert, bTranslateName);
}
-extern CFX_ByteString _FPDF_GetNameFromTT(const uint8_t* name_table,
- FX_DWORD name);
CFX_ByteString _FPDF_GetPSNameFromTT(HDC hDC) {
CFX_ByteString result;
DWORD size = ::GetFontData(hDC, 'eman', 0, NULL, 0);
if (size != GDI_ERROR) {
LPBYTE buffer = FX_Alloc(BYTE, size);
::GetFontData(hDC, 'eman', 0, buffer, size);
- result = _FPDF_GetNameFromTT(buffer, 6);
+ result = GetNameFromTT(buffer, 6);
FX_Free(buffer);
}
return result;
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
index 7f593c7be3..d64c77f03f 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
@@ -1049,7 +1049,6 @@ static FX_BOOL FT_UseType1Charmap(FXFT_Face face) {
}
return TRUE;
}
-extern FX_WCHAR FT_UnicodeFromCharCode(int encoding, FX_DWORD charcode);
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
#include "../../fxge/apple/apple_int.h"
#endif
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp
index a0b65af9c5..308dac9782 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp
@@ -5,12 +5,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "../../../include/fpdfapi/fpdf_page.h"
+#include "../../../include/fpdfapi/fpdf_parser.h"
#include "../../../include/fpdfapi/fpdf_resource.h"
#include "../../../include/fxge/fx_freetype.h"
-// TODO(tsepez): These belong in headers, too.
-extern const FX_WORD PDFDocEncoding[256];
-
static const struct _UnicodeAlt {
FX_WORD m_Unicode;
const FX_CHAR* m_Alter;
@@ -1774,14 +1772,6 @@ const FX_WORD* PDF_UnicodesForPredefinedCharSet(int encoding) {
FX_DWORD PDF_PredefinedCharCodeFromUnicode(int encoding, FX_WCHAR unicode) {
return PDF_FindCode(PDF_UnicodesForPredefinedCharSet(encoding), unicode);
}
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern int FXFT_unicode_from_adobe_name(const char* name);
-extern void FXFT_adobe_name_from_unicode(char* glyph_name, FX_WCHAR unicode);
-#ifdef __cplusplus
-}
-#endif
FX_WCHAR PDF_UnicodeFromAdobeName(const FX_CHAR* name) {
return (FX_WCHAR)(FXFT_unicode_from_adobe_name(name) & 0x7FFFFFFF);
}
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
index 2fc1255989..c934124a8a 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp
@@ -430,12 +430,7 @@ const CPDF_PredefinedCMap g_PredefinedCMaps[] = {
{"UniKS-UCS2", CIDSET_KOREA1, CIDCODING_UCS2, CPDF_CMap::TwoBytes},
{"UniKS-UTF16", CIDSET_KOREA1, CIDCODING_UTF16, CPDF_CMap::TwoBytes},
{NULL, 0, 0}};
-extern void FPDFAPI_FindEmbeddedCMap(const char* name,
- int charset,
- int coding,
- const FXCMAP_CMap*& pMap);
-extern FX_WORD FPDFAPI_CIDFromCharCode(const FXCMAP_CMap* pMap,
- FX_DWORD charcode);
+
FX_BOOL CPDF_CMap::LoadPredefined(CPDF_CMapManager* pMgr,
const FX_CHAR* pName,
FX_BOOL bPromptCJK) {
@@ -812,7 +807,6 @@ FX_WORD CPDF_CIDFont::CIDFromCharCode(FX_DWORD charcode) const {
FX_BOOL CPDF_CIDFont::IsVertWriting() const {
return m_pCMap ? m_pCMap->IsVertWriting() : FALSE;
}
-extern FX_DWORD FPDFAPI_CharCodeFromCID(const FXCMAP_CMap* pMap, FX_WORD cid);
static FX_DWORD _EmbeddedCharcodeFromUnicode(const FXCMAP_CMap* pEmbedMap,
int charset,
FX_WCHAR unicode) {
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
index 85ba130b77..402a19ed4a 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
@@ -4,11 +4,44 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include <limits.h>
#include "../../../include/fpdfapi/fpdf_parser.h"
#include "../../../include/fpdfapi/fpdf_module.h"
#include "../../../include/fxcodec/fx_codec.h"
-#include <limits.h>
+
#define _STREAM_MAX_SIZE_ 20 * 1024 * 1024
+
+const FX_WORD PDFDocEncoding[256] = {
+ 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008,
+ 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011,
+ 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x02d8, 0x02c7, 0x02c6,
+ 0x02d9, 0x02dd, 0x02db, 0x02da, 0x02dc, 0x0020, 0x0021, 0x0022, 0x0023,
+ 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c,
+ 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035,
+ 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e,
+ 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
+ 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
+ 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059,
+ 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062,
+ 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
+ 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
+ 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
+ 0x007e, 0x0000, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x0192,
+ 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,
+ 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x0141, 0x0152, 0x0160, 0x0178,
+ 0x017d, 0x0131, 0x0142, 0x0153, 0x0161, 0x017e, 0x0000, 0x20ac, 0x00a1,
+ 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00a8, 0x00a9, 0x00aa,
+ 0x00ab, 0x00ac, 0x0000, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3,
+ 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc,
+ 0x00bd, 0x00be, 0x00bf, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5,
+ 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce,
+ 0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
+ 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, 0x00e0,
+ 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9,
+ 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x00f0, 0x00f1, 0x00f2,
+ 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, 0x00f9, 0x00fa, 0x00fb,
+ 0x00fc, 0x00fd, 0x00fe, 0x00ff};
+
FX_DWORD _A85Decode(const uint8_t* src_buf,
FX_DWORD src_size,
uint8_t*& dest_buf,
@@ -394,36 +427,6 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf,
dest_size = last_size;
return TRUE;
}
-extern const FX_WORD PDFDocEncoding[256] = {
- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008,
- 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011,
- 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x02d8, 0x02c7, 0x02c6,
- 0x02d9, 0x02dd, 0x02db, 0x02da, 0x02dc, 0x0020, 0x0021, 0x0022, 0x0023,
- 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c,
- 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035,
- 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e,
- 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
- 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
- 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059,
- 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062,
- 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b,
- 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
- 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
- 0x007e, 0x0000, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x0192,
- 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,
- 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x0141, 0x0152, 0x0160, 0x0178,
- 0x017d, 0x0131, 0x0142, 0x0153, 0x0161, 0x017e, 0x0000, 0x20ac, 0x00a1,
- 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00a8, 0x00a9, 0x00aa,
- 0x00ab, 0x00ac, 0x0000, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3,
- 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc,
- 0x00bd, 0x00be, 0x00bf, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5,
- 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce,
- 0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
- 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, 0x00e0,
- 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9,
- 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x00f0, 0x00f1, 0x00f2,
- 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, 0x00f9, 0x00fa, 0x00fb,
- 0x00fc, 0x00fd, 0x00fe, 0x00ff};
CFX_WideString PDF_DecodeText(const uint8_t* src_data,
FX_DWORD src_len,
CFX_CharMap* pCharMap) {
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp
index 0d7bdd8379..02ff1f3aca 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp
@@ -86,7 +86,6 @@ void CPDF_Document::LoadAsynDoc(CPDF_Dictionary* pLinearized) {
void CPDF_Document::LoadPages() {
m_PageList.SetSize(_GetPageCount());
}
-extern void FPDF_TTFaceMapper_ReleaseDoc(CPDF_Document*);
CPDF_Document::~CPDF_Document() {
if (m_pDocPage) {
CPDF_ModuleMgr::Get()->GetPageModule()->ReleaseDoc(this);
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp
index eed62013f5..23742bc3de 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp
@@ -1014,15 +1014,6 @@ CPDF_Stream* CPDF_Stream::Clone(FX_BOOL bDirect,
pObj->InitStream((IFX_FileRead*)pFS, pCloneDict);
return pObj;
}
-extern FX_BOOL PDF_DataDecode(const uint8_t* src_buf,
- FX_DWORD src_size,
- const CPDF_Dictionary* pDict,
- uint8_t*& dest_buf,
- FX_DWORD& dest_size,
- CFX_ByteString& ImageEncoding,
- CPDF_Dictionary*& pImageParms,
- FX_DWORD estimated_size,
- FX_BOOL bImageAcc);
CPDF_StreamAcc::CPDF_StreamAcc() {
m_bNewBuf = FALSE;
m_pData = NULL;
diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp
index 50388332f8..eff7b06e67 100644
--- a/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp
+++ b/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp
@@ -9,7 +9,7 @@
#include "../../../include/fpdfapi/fpdf_pageobj.h"
#include "../fpdf_page/pageint.h"
#include "render_int.h"
-extern FX_BOOL IsAvailableMatrix(const CFX_AffineMatrix& matrix);
+
CPDF_Type3Cache::~CPDF_Type3Cache() {
for (const auto& pair : m_SizeMap) {
delete pair.second;
diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp
index f9bb3a7641..2367d0e7e9 100644
--- a/core/src/fpdfdoc/doc_ap.cpp
+++ b/core/src/fpdfdoc/doc_ap.cpp
@@ -4,10 +4,12 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "../../include/fpdfdoc/fpdf_ap.h"
#include "../../include/fpdfdoc/fpdf_doc.h"
#include "../../include/fpdfdoc/fpdf_vt.h"
+#include "doc_utils.h"
#include "pdf_vt.h"
-#include "../../include/fpdfdoc/fpdf_ap.h"
+
FX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict) {
if (!pAnnotDict ||
pAnnotDict->GetConstString("Subtype") != FX_BSTRC("Widget")) {
@@ -76,9 +78,6 @@ CPVT_FontMap::CPVT_FontMap(CPDF_Document* pDoc,
m_pSysFont(NULL),
m_sSysFontAlias() {}
CPVT_FontMap::~CPVT_FontMap() {}
-extern CPDF_Font* AddNativeInterFormFont(CPDF_Dictionary*& pFormDict,
- CPDF_Document* pDocument,
- CFX_ByteString& csNameTag);
void CPVT_FontMap::GetAnnotSysPDFFont(CPDF_Document* pDoc,
CPDF_Dictionary* pResDict,
CPDF_Font*& pSysFont,
diff --git a/core/src/fpdftext/fpdf_text.cpp b/core/src/fpdftext/fpdf_text.cpp
index f9e1e02cf1..0659024d90 100644
--- a/core/src/fpdftext/fpdf_text.cpp
+++ b/core/src/fpdftext/fpdf_text.cpp
@@ -791,10 +791,6 @@ void PDF_GetPageText(CFX_ByteStringArray& lines,
lines.Add(str);
}
}
-extern void _PDF_GetTextStream_Unicode(CFX_WideTextBuf& buffer,
- CPDF_PageObjects* pPage,
- FX_BOOL bUseLF,
- CFX_PtrArray* pObjArray);
void PDF_GetTextStream_Unicode(CFX_WideTextBuf& buffer,
CPDF_Document* pDoc,
CPDF_Dictionary* pPage,
@@ -806,5 +802,5 @@ void PDF_GetTextStream_Unicode(CFX_WideTextBuf& buffer,
options.m_bTextOnly = TRUE;
options.m_bSeparateForm = FALSE;
page.ParseContent(&options);
- _PDF_GetTextStream_Unicode(buffer, &page, TRUE, NULL);
+ GetTextStream_Unicode(buffer, &page, TRUE, NULL);
}
diff --git a/core/src/fpdftext/fpdf_text_search.cpp b/core/src/fpdftext/fpdf_text_search.cpp
index 95839b54fb..6640018de0 100644
--- a/core/src/fpdftext/fpdf_text_search.cpp
+++ b/core/src/fpdftext/fpdf_text_search.cpp
@@ -6,6 +6,8 @@
#include "../../include/fpdfapi/fpdf_pageobj.h"
#include "../../include/fpdfapi/fpdf_page.h"
+#include "text_int.h"
+
class CPDF_TextStream {
public:
CPDF_TextStream(CFX_WideTextBuf& buffer,
@@ -293,10 +295,10 @@ FX_BOOL CPDF_TextStream::ProcessObject(const CPDF_TextObject* pObj,
}
return FALSE;
}
-void _PDF_GetTextStream_Unicode(CFX_WideTextBuf& buffer,
- CPDF_PageObjects* pPage,
- FX_BOOL bUseLF,
- CFX_PtrArray* pObjArray) {
+void GetTextStream_Unicode(CFX_WideTextBuf& buffer,
+ CPDF_PageObjects* pPage,
+ FX_BOOL bUseLF,
+ CFX_PtrArray* pObjArray) {
CPDF_TextStream textstream(buffer, bUseLF, pObjArray);
FX_POSITION pos = pPage->GetFirstObjectPosition();
while (pos) {
diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h
index 24b89f1681..7d69492a21 100644
--- a/core/src/fpdftext/text_int.h
+++ b/core/src/fpdftext/text_int.h
@@ -7,9 +7,16 @@
#ifndef CORE_SRC_FPDFTEXT_TEXT_INT_H_
#define CORE_SRC_FPDFTEXT_TEXT_INT_H_
+#include "../../include/fpdftext/fpdf_text.h"
+#include "../../include/fxcrt/fx_arb.h"
+#include "../../include/fxcrt/fx_basic.h"
+
+class CFX_BidiChar;
+class CPDF_DocProgressiveSearch;
+class CPDF_FormObject;
class CPDF_LinkExtract;
class CPDF_TextPageFind;
-class CPDF_DocProgressiveSearch;
+
#define FPDFTEXT_CHAR_ERROR -1
#define FPDFTEXT_CHAR_NORMAL 0
#define FPDFTEXT_CHAR_GENERATED 1
@@ -19,6 +26,7 @@ class CPDF_DocProgressiveSearch;
#define FPDFTEXT_MC_PASS 0
#define FPDFTEXT_MC_DONE 1
#define FPDFTEXT_MC_DELAY 2
+
typedef struct _PAGECHAR_INFO {
int m_CharCode;
FX_WCHAR m_Unicode;
@@ -231,5 +239,9 @@ class CPDF_LinkExtract : public IPDF_LinkExtract {
FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst);
void NormalizeString(CFX_WideString& str);
void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest);
+void GetTextStream_Unicode(CFX_WideTextBuf& buffer,
+ CPDF_PageObjects* pPage,
+ FX_BOOL bUseLF,
+ CFX_PtrArray* pObjArray);
#endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_
diff --git a/core/src/fxge/dib/dib_int.h b/core/src/fxge/dib/dib_int.h
index d40e3a4f95..69f28234eb 100644
--- a/core/src/fxge/dib/dib_int.h
+++ b/core/src/fxge/dib/dib_int.h
@@ -7,6 +7,8 @@
#ifndef CORE_SRC_FXGE_DIB_DIB_INT_H_
#define CORE_SRC_FXGE_DIB_DIB_INT_H_
+extern const int SDP_Table[513];
+
class CPDF_FixedMatrix {
public:
CPDF_FixedMatrix(const CFX_AffineMatrix& src, int bits) {
@@ -89,4 +91,10 @@ class CStretchEngine {
int m_State;
};
+FX_RECT FXDIB_SwapClipBox(FX_RECT& clip,
+ int width,
+ int height,
+ FX_BOOL bFlipX,
+ FX_BOOL bFlipY);
+
#endif // CORE_SRC_FXGE_DIB_DIB_INT_H_
diff --git a/core/src/fxge/dib/fx_dib_engine.cpp b/core/src/fxge/dib/fx_dib_engine.cpp
index b2da83a802..33c0333788 100644
--- a/core/src/fxge/dib/fx_dib_engine.cpp
+++ b/core/src/fxge/dib/fx_dib_engine.cpp
@@ -4,11 +4,12 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include <limits.h>
+
#include "../../../include/fxge/fx_dib.h"
#include "../../../include/fxge/fx_ge.h"
#include "dib_int.h"
-#include <limits.h>
-extern int SDP_Table[513];
+
void CWeightTable::Calc(int dest_len,
int dest_min,
int dest_max,
diff --git a/core/src/fxge/dib/fx_dib_main.cpp b/core/src/fxge/dib/fx_dib_main.cpp
index f3e3a23236..d89fec74c4 100644
--- a/core/src/fxge/dib/fx_dib_main.cpp
+++ b/core/src/fxge/dib/fx_dib_main.cpp
@@ -1578,11 +1578,6 @@ CFX_ImageRenderer::CFX_ImageRenderer() {
CFX_ImageRenderer::~CFX_ImageRenderer() {
delete m_pTransformer;
}
-extern FX_RECT _FXDIB_SwapClipBox(FX_RECT& clip,
- int width,
- int height,
- FX_BOOL bFlipX,
- FX_BOOL bFlipY);
FX_BOOL CFX_ImageRenderer::Start(CFX_DIBitmap* pDevice,
const CFX_ClipRgn* pClipRgn,
const CFX_DIBSource* pSource,
@@ -1623,8 +1618,8 @@ FX_BOOL CFX_ImageRenderer::Start(CFX_DIBitmap* pDevice,
int dest_height = image_rect.Height();
FX_RECT bitmap_clip = m_ClipBox;
bitmap_clip.Offset(-image_rect.left, -image_rect.top);
- bitmap_clip = _FXDIB_SwapClipBox(bitmap_clip, dest_width, dest_height,
- m_Matrix.c > 0, m_Matrix.b < 0);
+ bitmap_clip = FXDIB_SwapClipBox(bitmap_clip, dest_width, dest_height,
+ m_Matrix.c > 0, m_Matrix.b < 0);
m_Composer.Compose(pDevice, pClipRgn, bitmap_alpha, mask_color, m_ClipBox,
TRUE, m_Matrix.c > 0, m_Matrix.b < 0, m_bRgbByteOrder,
alpha_flag, pIccTransform, m_BlendType);
diff --git a/core/src/fxge/dib/fx_dib_transform.cpp b/core/src/fxge/dib/fx_dib_transform.cpp
index cbf3bdc82c..7a33f1d9f8 100644
--- a/core/src/fxge/dib/fx_dib_transform.cpp
+++ b/core/src/fxge/dib/fx_dib_transform.cpp
@@ -6,7 +6,8 @@
#include "../../../include/fxge/fx_dib.h"
#include "dib_int.h"
-int SDP_Table[513] = {
+
+const int SDP_Table[513] = {
256, 256, 256, 256, 256, 256, 256, 256, 256, 255, 255, 255, 255, 255, 255,
254, 254, 254, 254, 253, 253, 253, 252, 252, 252, 251, 251, 251, 250, 250,
249, 249, 249, 248, 248, 247, 247, 246, 246, 245, 244, 244, 243, 243, 242,
@@ -168,11 +169,11 @@ CFX_DIBitmap* CFX_DIBSource::SwapXY(FX_BOOL bXFlip,
return pTransBitmap;
}
#define FIX16_005 0.05f
-FX_RECT _FXDIB_SwapClipBox(FX_RECT& clip,
- int width,
- int height,
- FX_BOOL bFlipX,
- FX_BOOL bFlipY) {
+FX_RECT FXDIB_SwapClipBox(FX_RECT& clip,
+ int width,
+ int height,
+ FX_BOOL bFlipX,
+ FX_BOOL bFlipY) {
FX_RECT rect;
if (bFlipY) {
rect.left = height - clip.top;
@@ -256,8 +257,8 @@ FX_BOOL CFX_ImageTransformer::Start(const CFX_DIBSource* pSrc,
int dest_width = result_rect.Width();
int dest_height = result_rect.Height();
result_clip.Offset(-result_rect.left, -result_rect.top);
- result_clip = _FXDIB_SwapClipBox(result_clip, dest_width, dest_height,
- pDestMatrix->c > 0, pDestMatrix->b < 0);
+ result_clip = FXDIB_SwapClipBox(result_clip, dest_width, dest_height,
+ pDestMatrix->c > 0, pDestMatrix->b < 0);
m_Stretcher.Start(&m_Storer, pSrc, dest_height, dest_width, result_clip,
flags);
m_Status = 1;
diff --git a/core/src/fxge/ge/fx_ge_font.cpp b/core/src/fxge/ge/fx_ge_font.cpp
index c3e887146f..c7c4ed2d3d 100644
--- a/core/src/fxge/ge/fx_ge_font.cpp
+++ b/core/src/fxge/ge/fx_ge_font.cpp
@@ -9,6 +9,7 @@
#include "text_int.h"
#define EM_ADJUST(em, a) (em == 0 ? (a) : (a)*1000 / em)
+
extern void _FPDFAPI_GetInternalFontData(int id1,
const uint8_t*& data,
FX_DWORD& size);
diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp
index cc4dc07106..af6c43fe9e 100644
--- a/core/src/fxge/ge/fx_ge_fontmap.cpp
+++ b/core/src/fxge/ge/fx_ge_fontmap.cpp
@@ -423,11 +423,6 @@ const FoxitFonts g_FoxitFonts[14] = {
{g_FoxitSymbolFontData, 16729},
{g_FoxitDingbatsFontData, 29513},
};
-void _FPDFAPI_GetInternalFontData(int id,
- const uint8_t*& data,
- FX_DWORD& size) {
- CFX_GEModule::Get()->GetFontMgr()->GetStandardFont(data, size, id);
-}
FX_BOOL CFX_FontMgr::GetStandardFont(const uint8_t*& pFontData,
FX_DWORD& size,
int index) {
@@ -495,8 +490,7 @@ static CFX_ByteString _TT_NormalizeName(const FX_CHAR* family) {
norm.MakeLower();
return norm;
}
-CFX_ByteString _FPDF_GetNameFromTT(const uint8_t* name_table,
- FX_DWORD name_id) {
+CFX_ByteString GetNameFromTT(const uint8_t* name_table, FX_DWORD name_id) {
const uint8_t* ptr = name_table + 2;
int name_count = GET_TT_SHORT(ptr);
int string_offset = GET_TT_SHORT(ptr + 2);
@@ -564,7 +558,7 @@ CFX_ByteString CFX_FontMapper::GetPSNameFromTT(void* hFont) {
if (size) {
uint8_t* buffer = FX_Alloc(uint8_t, size);
m_pFontInfo->GetFontData(hFont, 0x6e616d65, buffer, size);
- result = _FPDF_GetNameFromTT(buffer, 6);
+ result = GetNameFromTT(buffer, 6);
FX_Free(buffer);
}
return result;
@@ -1348,10 +1342,6 @@ CFontFileFaceInfo::~CFontFileFaceInfo() {
}
m_Face = NULL;
}
-extern FX_BOOL _LoadFile(FXFT_Library library,
- FXFT_Face* Face,
- IFX_FileRead* pFile,
- FXFT_Stream* stream);
#if _FX_OS_ == _FX_ANDROID_
IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() {
return NULL;
@@ -1465,8 +1455,8 @@ void CFX_FolderFontInfo::ReportFace(CFX_ByteString& path,
}
CFX_ByteString names =
_FPDF_LoadTableFromTT(pFile, tables, nTables, 0x6e616d65);
- CFX_ByteString facename = _FPDF_GetNameFromTT(names, 1);
- CFX_ByteString style = _FPDF_GetNameFromTT(names, 2);
+ CFX_ByteString facename = GetNameFromTT(names, 1);
+ CFX_ByteString style = GetNameFromTT(names, 2);
if (style != "Regular") {
facename += " " + style;
}
diff --git a/core/src/fxge/ge/text_int.h b/core/src/fxge/ge/text_int.h
index b0193c4f2e..2a81f553c4 100644
--- a/core/src/fxge/ge/text_int.h
+++ b/core/src/fxge/ge/text_int.h
@@ -7,6 +7,8 @@
#ifndef CORE_SRC_FXGE_GE_TEXT_INT_H_
#define CORE_SRC_FXGE_GE_TEXT_INT_H_
+#include "../../../include/fxge/fx_freetype.h"
+
struct _CFX_UniqueKeyGen {
void Generate(int count, ...);
FX_CHAR m_Key[128];
diff --git a/fpdfsdk/include/fsdk_define.h b/fpdfsdk/include/fsdk_define.h
index d13f37968d..43283c143c 100644
--- a/fpdfsdk/include/fsdk_define.h
+++ b/fpdfsdk/include/fsdk_define.h
@@ -106,5 +106,6 @@ void FPDF_RenderPage_Retail(CRenderContext* pContext,
void CheckUnSupportError(CPDF_Document* pDoc, FX_DWORD err_code);
void CheckUnSupportAnnot(CPDF_Document* pDoc, CPDF_Annot* pPDFAnnot);
+void ProcessParseError(FX_DWORD err_code);
#endif // FPDFSDK_INCLUDE_FSDK_DEFINE_H_
diff --git a/fpdfsdk/include/fxedit/fx_edit.h b/fpdfsdk/include/fxedit/fx_edit.h
index 4f8b2fbd67..23acbfa79f 100644
--- a/fpdfsdk/include/fxedit/fx_edit.h
+++ b/fpdfsdk/include/fxedit/fx_edit.h
@@ -568,4 +568,9 @@ class IFX_List {
virtual ~IFX_List() {}
};
+CFX_ByteString GetPDFWordString(IFX_Edit_FontMap* pFontMap,
+ int32_t nFontIndex,
+ FX_WORD Word,
+ FX_WORD SubWord);
+
#endif // FPDFSDK_INCLUDE_FXEDIT_FX_EDIT_H_
diff --git a/fpdfsdk/src/fpdf_dataavail.cpp b/fpdfsdk/src/fpdf_dataavail.cpp
index 663e166b03..58bd384bf5 100644
--- a/fpdfsdk/src/fpdf_dataavail.cpp
+++ b/fpdfsdk/src/fpdf_dataavail.cpp
@@ -10,7 +10,6 @@
#include "../include/fpdfxfa/fpdfxfa_doc.h"
#include "../include/fpdfxfa/fpdfxfa_app.h"
-extern void ProcessParseError(FX_DWORD err_code);
class CFPDF_FileAvailWrap : public IFX_FileAvail {
public:
CFPDF_FileAvailWrap() { m_pfileAvail = NULL; }
diff --git a/fpdfsdk/src/fxedit/fxet_pageobjs.cpp b/fpdfsdk/src/fxedit/fxet_pageobjs.cpp
index 1fb669bb57..9c18943a81 100644
--- a/fpdfsdk/src/fxedit/fxet_pageobjs.cpp
+++ b/fpdfsdk/src/fxedit/fxet_pageobjs.cpp
@@ -11,11 +11,6 @@
#define FX_EDIT_UNDERLINEHALFWIDTH 0.5f
#define FX_EDIT_CROSSOUTHALFWIDTH 0.5f
-extern CFX_ByteString GetPDFWordString(IFX_Edit_FontMap* pFontMap,
- int32_t nFontIndex,
- FX_WORD Word,
- FX_WORD SubWord);
-
CPDF_Rect GetUnderLineRect(const CPVT_Word& word) {
return CPDF_Rect(word.ptWord.x, word.ptWord.y + word.fDescent * 0.5f,
word.ptWord.x + word.fWidth,