Extern in .cpp file is a code smell, part 2.
authorTom Sepez <tsepez@chromium.org>
Wed, 19 Aug 2015 20:25:44 +0000 (13:25 -0700)
committerTom Sepez <tsepez@chromium.org>
Wed, 19 Aug 2015 20:25:44 +0000 (13:25 -0700)
Fixes the remaining issues, except for JBIG2/Skia ...

R=thestig@chromium.org

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

28 files changed:
core/include/fpdfapi/fpdf_parser.h
core/include/fpdfapi/fpdf_render.h
core/include/fxge/fx_font.h
core/src/fpdfapi/fpdf_cmaps/cmap_int.h
core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
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_parser/fpdf_parser_decode.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_document.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp
core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp
core/src/fpdfdoc/doc_ap.cpp
core/src/fpdftext/fpdf_text.cpp
core/src/fpdftext/fpdf_text_search.cpp
core/src/fpdftext/text_int.h
core/src/fxge/dib/dib_int.h
core/src/fxge/dib/fx_dib_engine.cpp
core/src/fxge/dib/fx_dib_main.cpp
core/src/fxge/dib/fx_dib_transform.cpp
core/src/fxge/ge/fx_ge_font.cpp
core/src/fxge/ge/fx_ge_fontmap.cpp
core/src/fxge/ge/text_int.h
fpdfsdk/include/fsdk_define.h
fpdfsdk/include/fxedit/fx_edit.h
fpdfsdk/src/fpdf_dataavail.cpp
fpdfsdk/src/fpdfview.cpp
fpdfsdk/src/fxedit/fxet_pageobjs.cpp

index ab48a95..03ae4cf 100644 (file)
@@ -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_
index ad2ca32..3c1d95a 100644 (file)
@@ -288,4 +288,6 @@ class CPDF_RenderConfig {
   int m_RenderStepLimit;
 };
 
+FX_BOOL IsAvailableMatrix(const CFX_AffineMatrix& matrix);
+
 #endif  // CORE_INCLUDE_FPDFAPI_FPDF_RENDER_H_
index 1423be4..b38b1a1 100644 (file)
@@ -436,4 +436,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_
index 41743a8..7d51cee 100644 (file)
@@ -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_
index a259a0b..a328199 100644 (file)
@@ -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;
index a228cf7..20c4082 100644 (file)
@@ -1041,7 +1041,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
index a0b65af..308dac9 100644 (file)
@@ -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);
 }
index acbb567..9a37ccc 100644 (file)
@@ -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) {
@@ -814,7 +809,6 @@ FX_BOOL CPDF_CIDFont::IsVertWriting() const {
 }
 
 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_
-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) {
index 85ba130..402a19e 100644 (file)
@@ -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) {
index 0d7bdd8..02ff1f3 100644 (file)
@@ -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);
index 9227536..592a7b1 100644 (file)
@@ -983,15 +983,6 @@ FX_BOOL CPDF_Stream::Identical(CPDF_Stream* pOther) const {
   return FXSYS_memcmp(m_pDataBuf, pOther->m_pDataBuf, m_dwSize) == 0;
 }
 
-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;
index 1b16356..054dabc 100644 (file)
@@ -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;
index f9bb3a7..2367d0e 100644 (file)
@@ -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,
index af944d9..40f5dd4 100644 (file)
@@ -783,10 +783,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,
@@ -798,5 +794,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);
 }
index 95839b5..6640018 100644 (file)
@@ -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) {
index 3f1023a..481c482 100644 (file)
@@ -7,9 +7,15 @@
 #ifndef CORE_SRC_FPDFTEXT_TEXT_INT_H_
 #define CORE_SRC_FPDFTEXT_TEXT_INT_H_
 
+#include "../../include/fpdftext/fpdf_text.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 +25,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;
@@ -235,5 +242,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_
index d40e3a4..69f2823 100644 (file)
@@ -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_
index 7443926..56bb5ab 100644 (file)
@@ -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,
index b98fc6b..8c7e831 100644 (file)
@@ -1551,11 +1551,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,
@@ -1596,8 +1591,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);
index 887964b..d368a95 100644 (file)
@@ -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,
@@ -165,11 +166,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;
@@ -253,8 +254,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;
index d729d2a..f739409 100644 (file)
@@ -8,9 +8,6 @@
 #include "../../../include/fxge/fx_freetype.h"
 #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);
 CFX_Font::CFX_Font() {
   m_pSubstFont = NULL;
   m_Face = NULL;
index 15f7bc3..561b7d9 100644 (file)
@@ -409,11 +409,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) {
@@ -481,8 +476,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);
@@ -550,7 +544,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;
@@ -1249,10 +1243,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(const char** pUnused) {
   return NULL;
@@ -1366,8 +1356,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;
   }
index 61f47ea..1b16ced 100644 (file)
@@ -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];
index 987b00f..d2af1e1 100644 (file)
@@ -74,5 +74,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_
index 4f8b2fb..23acbfa 100644 (file)
@@ -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_
index dddf9af..9ce298d 100644 (file)
@@ -7,7 +7,6 @@
 #include "../../public/fpdf_dataavail.h"
 #include "../include/fsdk_define.h"
 
-extern void ProcessParseError(FX_DWORD err_code);
 class CFPDF_FileAvailWrap : public IFX_FileAvail {
  public:
   CFPDF_FileAvailWrap() { m_pfileAvail = NULL; }
index bed00d3..3603af6 100644 (file)
@@ -61,10 +61,6 @@ FPDF_BOOL FSDK_IsSandBoxPolicyEnabled(FPDF_DWORD policy) {
   }
 }
 
-#ifndef _T
-#define _T(x) x
-#endif
-
 CCodec_ModuleMgr* g_pCodecModule = nullptr;
 
 #if _FX_OS_ == _FX_LINUX_EMBEDDED_
index 1fb669b..9c18943 100644 (file)
 #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,