summaryrefslogtreecommitdiff
path: root/core/src/fxge/ge/fx_text_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/fxge/ge/fx_text_int.h')
-rw-r--r--core/src/fxge/ge/fx_text_int.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/core/src/fxge/ge/fx_text_int.h b/core/src/fxge/ge/fx_text_int.h
new file mode 100644
index 0000000000..b568b61a54
--- /dev/null
+++ b/core/src/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_SRC_FXGE_GE_FX_TEXT_INT_H_
+#define CORE_SRC_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_SRC_FXGE_GE_FX_TEXT_INT_H_