Revert "Make CFX_FontMgr member variables private."
[pdfium.git] / core / src / fxge / ge / text_int.h
index 7608f8a..1b16ced 100644 (file)
-// Copyright 2014 PDFium Authors. All rights reserved.\r
-// Use of this source code is governed by a BSD-style license that can be\r
-// found in the LICENSE file.\r
\r
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
-\r
-struct _CFX_UniqueKeyGen {\r
-    void               Generate(int count, ...);\r
-    FX_CHAR            m_Key[128];\r
-    int                        m_KeyLen;\r
-};\r
-class CFX_SizeGlyphCache : public CFX_Object\r
-{\r
-public:\r
-    CFX_SizeGlyphCache()\r
-    {\r
-        m_GlyphMap.InitHashTable(253);\r
-    }\r
-    ~CFX_SizeGlyphCache();\r
-    CFX_MapPtrToPtr                    m_GlyphMap;\r
-};\r
-class CTTFontDesc : public CFX_Object\r
-{\r
-public:\r
-    CTTFontDesc()\r
-    {\r
-        m_Type = 0;\r
-        m_pFontData = NULL;\r
-        m_RefCount = 0;\r
-    }\r
-    ~CTTFontDesc();\r
-    FX_BOOL                    ReleaseFace(FXFT_Face face);\r
-    int                                m_Type;\r
-    union {\r
-        struct {\r
-            FX_BOOL            m_bItalic;\r
-            FX_BOOL            m_bBold;\r
-            FXFT_Face  m_pFace;\r
-        } m_SingleFace;\r
-        struct {\r
-            FXFT_Face  m_pFaces[16];\r
-        } m_TTCFace;\r
-    };\r
-    FX_BYTE*           m_pFontData;\r
-    int                                m_RefCount;\r
-};\r
-class CFX_UnicodeEncoding : public IFX_FontEncoding\r
-{\r
-public:\r
-    CFX_UnicodeEncoding(CFX_Font* pFont);\r
-    virtual FX_DWORD           GlyphFromCharCodeEx(FX_DWORD charcode, int encoding = ENCODING_UNICODE);\r
-private:\r
-    CFX_Font*                  m_pFont;\r
-    virtual FX_DWORD           GlyphFromCharCode(FX_DWORD charcode);\r
-    virtual CFX_WideString     UnicodeFromCharCode(FX_DWORD charcode) const\r
-    {\r
-        return CFX_WideString((FX_WCHAR)charcode);\r
-    }\r
-    virtual FX_DWORD           CharCodeFromUnicode(FX_WCHAR Unicode) const\r
-    {\r
-        return Unicode;\r
-    }\r
-    virtual FX_BOOL                    IsUnicodeCompatible() const\r
-    {\r
-        return TRUE;\r
-    }\r
-};\r
-#define CHARSET_FLAG_ANSI              1\r
-#define CHARSET_FLAG_SYMBOL            2\r
-#define CHARSET_FLAG_SHIFTJIS  4\r
-#define CHARSET_FLAG_BIG5              8\r
-#define CHARSET_FLAG_GB                        16\r
-#define CHARSET_FLAG_KOREAN            32\r
-class CFontFaceInfo : public CFX_Object\r
-{\r
-public:\r
-    CFX_ByteString             m_FilePath;\r
-    CFX_ByteString             m_FaceName;\r
-    FX_DWORD                   m_Styles;\r
-    FX_DWORD                   m_Charsets;\r
-    FX_DWORD                   m_FontOffset;\r
-    FX_DWORD                   m_FileSize;\r
-    CFX_ByteString             m_FontTables;\r
-};\r
-class CFontFileFaceInfo : public CFX_Object\r
-{\r
-public:\r
-    CFontFileFaceInfo();\r
-    ~CFontFileFaceInfo();\r
-    IFX_FileStream*            m_pFile;\r
-    FXFT_Face                  m_Face;\r
-    CFX_ByteString             m_FaceName;\r
-    FX_DWORD                   m_Charsets;\r
-    FX_DWORD                   m_FileSize;\r
-    FX_DWORD                   m_FontOffset;\r
-    int                                        m_Weight;\r
-    FX_BOOL                            m_bItalic;\r
-    int                                        m_PitchFamily;\r
-    CFX_ByteString             m_FontTables;\r
-};\r
+// 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 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];
+  int m_KeyLen;
+};
+class CFX_SizeGlyphCache {
+ public:
+  CFX_SizeGlyphCache() { m_GlyphMap.InitHashTable(253); }
+  ~CFX_SizeGlyphCache();
+  CFX_MapPtrToPtr m_GlyphMap;
+};
+class CTTFontDesc {
+ public:
+  CTTFontDesc() {
+    m_Type = 0;
+    m_pFontData = NULL;
+    m_RefCount = 0;
+  }
+  ~CTTFontDesc();
+  FX_BOOL ReleaseFace(FXFT_Face face);
+  int m_Type;
+  union {
+    struct {
+      FX_BOOL m_bItalic;
+      FX_BOOL m_bBold;
+      FXFT_Face m_pFace;
+    } m_SingleFace;
+    struct {
+      FXFT_Face m_pFaces[16];
+    } m_TTCFace;
+  };
+  uint8_t* m_pFontData;
+  int m_RefCount;
+};
+
+#define CHARSET_FLAG_ANSI 1
+#define CHARSET_FLAG_SYMBOL 2
+#define CHARSET_FLAG_SHIFTJIS 4
+#define CHARSET_FLAG_BIG5 8
+#define CHARSET_FLAG_GB 16
+#define CHARSET_FLAG_KOREAN 32
+
+class CFX_FontFaceInfo {
+ public:
+  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;
+};
+
+class CFontFileFaceInfo {
+ public:
+  CFontFileFaceInfo();
+  ~CFontFileFaceInfo();
+
+  IFX_FileStream* m_pFile;
+  FXFT_Face m_Face;
+  CFX_ByteString m_FaceName;
+  FX_DWORD m_Charsets;
+  FX_DWORD m_FileSize;
+  FX_DWORD m_FontOffset;
+  int m_Weight;
+  FX_BOOL m_bItalic;
+  int m_PitchFamily;
+  CFX_ByteString m_FontTables;
+};
+
+#endif  // CORE_SRC_FXGE_GE_TEXT_INT_H_