Add CFX_FontFaceInfo constructor.
authorTom Sepez <tsepez@chromium.org>
Thu, 6 Aug 2015 18:41:17 +0000 (11:41 -0700)
committerTom Sepez <tsepez@chromium.org>
Thu, 6 Aug 2015 18:41:17 +0000 (11:41 -0700)
(Having renamed CFontFaceInfo to follow naming pattern).
Also cleanup some initialization-order noise in CFX_FontMapper.

R=thestig@chromium.org

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

core/src/fxge/ge/fx_ge_fontmap.cpp
core/src/fxge/ge/fx_ge_linux.cpp
core/src/fxge/ge/text_int.h

index cd21958..02af775 100644 (file)
@@ -453,12 +453,13 @@ FX_BOOL CFX_FontMgr::GetStandardFont(const uint8_t*& pFontData,
   return TRUE;
 }
 CFX_FontMapper::CFX_FontMapper(CFX_FontMgr* mgr)
-    : m_pFontInfo(nullptr),
-      m_bListLoaded(FALSE),
+    : m_bListLoaded(FALSE),
+      m_pFontInfo(nullptr),
       m_pFontEnumerator(nullptr),
       m_pFontMgr(mgr) {
-  FXSYS_memset(m_FoxitFaces, 0, sizeof m_FoxitFaces);
-  m_MMFaces[0] = m_MMFaces[1] = NULL;
+  m_MMFaces[0] = nullptr;
+  m_MMFaces[1] = nullptr;
+  FXSYS_memset(m_FoxitFaces, 0, sizeof(m_FoxitFaces));
 }
 CFX_FontMapper::~CFX_FontMapper() {
   for (int i = 0; i < 14; i++)
@@ -1280,7 +1281,7 @@ CFX_FolderFontInfo::~CFX_FolderFontInfo() {
     CFX_ByteString key;
     void* value;
     m_FontList.GetNextAssoc(pos, key, value);
-    delete (CFontFaceInfo*)value;
+    delete (CFX_FontFaceInfo*)value;
   }
 }
 void CFX_FolderFontInfo::AddPath(const CFX_ByteStringC& path) {
@@ -1394,13 +1395,8 @@ void CFX_FolderFontInfo::ReportFace(CFX_ByteString& path,
   if (m_FontList.Lookup(facename, p)) {
     return;
   }
-  CFontFaceInfo* pInfo = new CFontFaceInfo;
-  pInfo->m_FilePath = path;
-  pInfo->m_FaceName = facename;
-  pInfo->m_FontTables = tables;
-  pInfo->m_FontOffset = offset;
-  pInfo->m_FileSize = filesize;
-  pInfo->m_Charsets = 0;
+  CFX_FontFaceInfo* pInfo =
+      new CFX_FontFaceInfo(path, facename, tables, offset, filesize);
   CFX_ByteString os2 =
       _FPDF_LoadTableFromTT(pFile, tables, nTables, 0x4f532f32);
   if (os2.GetLength() >= 86) {
@@ -1464,7 +1460,7 @@ FX_DWORD CFX_FolderFontInfo::GetFontData(void* hFont,
   if (hFont == NULL) {
     return 0;
   }
-  CFontFaceInfo* pFont = (CFontFaceInfo*)hFont;
+  CFX_FontFaceInfo* pFont = (CFX_FontFaceInfo*)hFont;
   FXSYS_FILE* pFile = NULL;
   if (size > 0) {
     pFile = FXSYS_fopen(pFont->m_FilePath, "rb");
@@ -1504,7 +1500,7 @@ FX_BOOL CFX_FolderFontInfo::GetFaceName(void* hFont, CFX_ByteString& name) {
   if (hFont == NULL) {
     return FALSE;
   }
-  CFontFaceInfo* pFont = (CFontFaceInfo*)hFont;
+  CFX_FontFaceInfo* pFont = (CFX_FontFaceInfo*)hFont;
   name = pFont->m_FaceName;
   return TRUE;
 }
index 6120259..299806c 100644 (file)
@@ -198,13 +198,13 @@ void* CFX_LinuxFontInfo::FindFont(int weight,
                                   int pitch_family,
                                   const FX_CHAR* family,
                                   FX_BOOL bMatchName) {
-  CFontFaceInfo* pFind = NULL;
+  CFX_FontFaceInfo* pFind = NULL;
   FX_DWORD charset_flag = _LinuxGetCharset(charset);
   int32_t iBestSimilar = 0;
   FX_POSITION pos = m_FontList.GetStartPosition();
   while (pos) {
     CFX_ByteString bsName;
-    CFontFaceInfo* pFont = NULL;
+    CFX_FontFaceInfo* pFont = NULL;
     m_FontList.GetNextAssoc(pos, bsName, (void*&)pFont);
     if (!(pFont->m_Charsets & charset_flag) &&
         charset != FXFONT_DEFAULT_CHARSET) {
index a059071..efa134d 100644 (file)
@@ -64,20 +64,34 @@ class CFX_UnicodeEncoding : public IFX_FontEncoding {
 #define CHARSET_FLAG_BIG5 8
 #define CHARSET_FLAG_GB 16
 #define CHARSET_FLAG_KOREAN 32
-class CFontFaceInfo {
+
+class CFX_FontFaceInfo {
  public:
-  CFX_ByteString m_FilePath;
-  CFX_ByteString m_FaceName;
+  CFX_FontFaceInfo(CFX_ByteString filePath, CFX_ByteString faceName,
+                   CFX_ByteString fontTables, FX_DWORD fontOffset,
+                   FX_DWORD fileSize)
+      : m_FilePath(filePath),
+        m_FaceName(faceName),
+        m_FontTables(fontTables),
+        m_FontOffset(fontOffset),
+        m_FileSize(fileSize),
+        m_Styles(0),
+        m_Charsets(0) {}
+
+  const CFX_ByteString m_FilePath;
+  const CFX_ByteString m_FaceName;
+  const CFX_ByteString m_FontTables;
+  const FX_DWORD m_FontOffset;
+  const FX_DWORD m_FileSize;
   FX_DWORD m_Styles;
   FX_DWORD m_Charsets;
-  FX_DWORD m_FontOffset;
-  FX_DWORD m_FileSize;
-  CFX_ByteString m_FontTables;
 };
+
 class CFontFileFaceInfo {
  public:
   CFontFileFaceInfo();
   ~CFontFileFaceInfo();
+
   IFX_FileStream* m_pFile;
   FXFT_Face m_Face;
   CFX_ByteString m_FaceName;