diff options
author | dsinclair <dsinclair@chromium.org> | 2016-04-06 10:00:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-06 10:00:40 -0700 |
commit | 48baa5f230a886b0579a9626711e7d71376b085e (patch) | |
tree | 62212bf5d496228e50df09cf4e437a1308f821a7 /core/fxge/include/fpf.h | |
parent | 392f1022a3c525a053a7d143d2b23a76526a1aea (diff) | |
download | pdfium-48baa5f230a886b0579a9626711e7d71376b085e.tar.xz |
Move core/include/fxge to core/fxge/include.
This CL is a straight move of the fxge includes into core/fxge/include.
Review URL: https://codereview.chromium.org/1868533002
Diffstat (limited to 'core/fxge/include/fpf.h')
-rw-r--r-- | core/fxge/include/fpf.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/core/fxge/include/fpf.h b/core/fxge/include/fpf.h new file mode 100644 index 0000000000..2d43e8da6f --- /dev/null +++ b/core/fxge/include/fpf.h @@ -0,0 +1,70 @@ +// 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_INCLUDE_FPF_H_ +#define CORE_FXGE_INCLUDE_FPF_H_ + +#include "core/fxcrt/include/fx_coordinates.h" + +class IFPF_FontMgr; + +class IFPF_DeviceModule { + public: + virtual ~IFPF_DeviceModule() {} + virtual void Destroy() = 0; + virtual IFPF_FontMgr* GetFontMgr() = 0; +}; + +IFPF_DeviceModule* FPF_GetDeviceModule(); + +#define FPF_MATCHFONT_REPLACEANSI 1 + +typedef struct FPF_HFONT_ { void* pData; } * FPF_HFONT; + +class IFPF_Font { + public: + virtual void Release() = 0; + virtual IFPF_Font* Retain() = 0; + virtual FPF_HFONT GetHandle() = 0; + virtual CFX_ByteString GetFamilyName() = 0; + virtual CFX_WideString GetPsName() = 0; + virtual uint32_t GetFontStyle() const = 0; + virtual uint8_t GetCharset() const = 0; + + virtual int32_t GetGlyphIndex(FX_WCHAR wUnicode) = 0; + virtual int32_t GetGlyphWidth(int32_t iGlyphIndex) = 0; + + virtual int32_t GetAscent() const = 0; + virtual int32_t GetDescent() const = 0; + + virtual FX_BOOL GetGlyphBBox(int32_t iGlyphIndex, FX_RECT& rtBBox) = 0; + virtual FX_BOOL GetBBox(FX_RECT& rtBBox) = 0; + + virtual int32_t GetHeight() const = 0; + virtual int32_t GetItalicAngle() const = 0; + virtual uint32_t GetFontData(uint32_t dwTable, + uint8_t* pBuffer, + uint32_t dwSize) = 0; + + protected: + virtual ~IFPF_Font() {} +}; + +class IFPF_FontMgr { + public: + virtual ~IFPF_FontMgr() {} + virtual void LoadSystemFonts() = 0; + virtual void LoadPrivateFont(IFX_FileRead* pFontFile) = 0; + virtual void LoadPrivateFont(const CFX_ByteStringC& bsFileName) = 0; + virtual void LoadPrivateFont(void* pBuffer, size_t szBuffer) = 0; + + virtual IFPF_Font* CreateFont(const CFX_ByteStringC& bsFamilyname, + uint8_t charset, + uint32_t dwStyle, + uint32_t dwMatch = 0) = 0; +}; + +#endif // CORE_FXGE_INCLUDE_FPF_H_ |