Fix FX_BOOL type mismatches.
[pdfium.git] / core / include / fxge / fx_font.h
index 365d57c..2832fbf 100644 (file)
@@ -7,7 +7,9 @@
 #ifndef CORE_INCLUDE_FXGE_FX_FONT_H_
 #define CORE_INCLUDE_FXGE_FX_FONT_H_
 
-#include "../fxcrt/fx_ext.h"
+#include <map>
+
+#include "../fxcrt/fx_system.h"
 #include "fx_dib.h"
 
 typedef struct FT_FaceRec_* FXFT_Face;
@@ -298,7 +300,7 @@ public:
     virtual void               Release() = 0;
 
     virtual    FX_BOOL         EnumFontList(CFX_FontMapper* pMapper) = 0;
-    virtual void*              MapFont(int weight, FX_BOOL bItalic, int charset, int pitch_family, const FX_CHAR* face, FX_BOOL& bExact) = 0;
+    virtual void*              MapFont(int weight, FX_BOOL bItalic, int charset, int pitch_family, const FX_CHAR* face, int& iExact) = 0;
     virtual void*              GetFont(const FX_CHAR* face) = 0;
     virtual FX_DWORD   GetFontData(void* hFont, FX_DWORD table, uint8_t* buffer, FX_DWORD size) = 0;
     virtual FX_BOOL            GetFaceName(void* hFont, CFX_ByteString& name) = 0;
@@ -320,15 +322,20 @@ class CFX_FolderFontInfo : public IFX_SystemFontInfo
 public:
     CFX_FolderFontInfo();
     virtual ~CFX_FolderFontInfo();
-    void                               AddPath(const CFX_ByteStringC& path);
-    virtual void               Release();
-    virtual    FX_BOOL         EnumFontList(CFX_FontMapper* pMapper);
-    virtual void*              MapFont(int weight, FX_BOOL bItalic, int charset, int pitch_family, const FX_CHAR* face, FX_BOOL& bExact);
-    virtual void*              GetFont(const FX_CHAR* face);
-    virtual FX_DWORD   GetFontData(void* hFont, FX_DWORD table, uint8_t* buffer, FX_DWORD size);
-    virtual void               DeleteFont(void* hFont);
-    virtual    FX_BOOL         GetFaceName(void* hFont, CFX_ByteString& name);
-    virtual FX_BOOL            GetFontCharset(void* hFont, int& charset);
+    void AddPath(const CFX_ByteStringC& path);
+
+    // IFX_SytemFontInfo:
+    void Release() override;
+    FX_BOOL EnumFontList(CFX_FontMapper* pMapper) override;
+    void* MapFont(int weight, FX_BOOL bItalic, int charset, int pitch_family,
+                  const FX_CHAR* face, int& bExact) override;
+    void* GetFont(const FX_CHAR* face) override;
+    FX_DWORD GetFontData(void* hFont, FX_DWORD table,
+                         uint8_t* buffer, FX_DWORD size) override;
+    void DeleteFont(void* hFont) override;
+    FX_BOOL GetFaceName(void* hFont, CFX_ByteString& name) override;
+    FX_BOOL GetFontCharset(void* hFont, int& charset) override;
+
 protected:
     CFX_MapByteStringToPtr     m_FontList;
     CFX_ByteStringArray        m_PathList;
@@ -343,7 +350,7 @@ public:
     CFX_FaceCache*     m_Obj;
     FX_DWORD           m_nCount;
 };
-typedef CFX_MapPtrTemplate<FXFT_Face, CFX_CountedFaceCache*> CFX_FTCacheMap;
+
 class CFX_FontCache
 {
 public:
@@ -353,8 +360,9 @@ public:
     void                                       FreeCache(FX_BOOL bRelease = FALSE);
 
 private:
-    CFX_FTCacheMap                     m_FTFaceMap;
-    CFX_FTCacheMap                     m_ExtFaceMap;
+    using CFX_FTCacheMap = std::map<FXFT_Face, CFX_CountedFaceCache*>;
+    CFX_FTCacheMap m_FTFaceMap;
+    CFX_FTCacheMap m_ExtFaceMap;
 };
 class CFX_AutoFontCache
 {
@@ -400,13 +408,6 @@ private:
     CFX_MapByteStringToPtr     m_SizeMap;
     CFX_MapPtrToPtr                    m_PathMap;
     CFX_DIBitmap*           m_pBitmap;
-    void*                   m_pPlatformGraphics;
-    void*                   m_pPlatformBitmap;
-    void*                   m_hDC;
-    void*                   m_hBitmap;
-    void*                   m_hOldBitmap;
-    void*                   m_hGdiFont;
-    void*                   m_hOldGdiFont;
 
     void                                   InitPlatform();
     void                                   DestroyPlatform();
@@ -424,12 +425,9 @@ FX_BOOL    OutputText(void* dib, int x, int y, CFX_Font* pFont, double font_size,
 class IFX_GSUBTable
 {
 public:
-    virtual void       Release() = 0;
+    static IFX_GSUBTable* Create(CFX_Font* pFont);
+    virtual ~IFX_GSUBTable() { }
     virtual FX_BOOL GetVerticalGlyph(FX_DWORD glyphnum, FX_DWORD* vglyphnum) = 0;
-
-protected:
-     ~IFX_GSUBTable() { }
 };
-IFX_GSUBTable* FXGE_CreateGSUBTable(CFX_Font* pFont);
 
 #endif  // CORE_INCLUDE_FXGE_FX_FONT_H_