diff options
Diffstat (limited to 'core/fxge/ge/fx_text_int.h')
-rw-r--r-- | core/fxge/ge/fx_text_int.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/core/fxge/ge/fx_text_int.h b/core/fxge/ge/fx_text_int.h new file mode 100644 index 0000000000..d88b2a7cb9 --- /dev/null +++ b/core/fxge/ge/fx_text_int.h @@ -0,0 +1,84 @@ +// 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_FXGE_GE_FX_TEXT_INT_H_ +#define CORE_FXGE_GE_FX_TEXT_INT_H_ + +#include <map> + +#include "core/include/fxge/fx_font.h" +#include "core/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() {} + ~CFX_SizeGlyphCache(); + std::map<FX_DWORD, CFX_GlyphBitmap*> m_GlyphMap; +}; +class CTTFontDesc { + public: + CTTFontDesc() { + m_Type = 0; + m_pFontData = NULL; + m_RefCount = 0; + } + ~CTTFontDesc(); + // ret < 0, releaseface not appropriate for this object. + // ret == 0, object released + // ret > 0, object still alive, other referrers. + int 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; +}; + +#endif // CORE_FXGE_GE_FX_TEXT_INT_H_ |