summaryrefslogtreecommitdiff
path: root/core/fxge/include
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-09-29 16:41:42 -0700
committerCommit bot <commit-bot@chromium.org>2016-09-29 16:41:42 -0700
commit74a34fc71ab02400a4c958709138302a1ab4c0e7 (patch)
treeab987bfd6c92679843c030654f62e2fb9ecf45b3 /core/fxge/include
parenta52ab741019342fbca0468e43a01deb44fa5f1bd (diff)
downloadpdfium-74a34fc71ab02400a4c958709138302a1ab4c0e7.tar.xz
Move core/fxge/include to core/fxge
BUG=pdfium:611 Review-Url: https://codereview.chromium.org/2377393002
Diffstat (limited to 'core/fxge/include')
-rw-r--r--core/fxge/include/cfx_facecache.h64
-rw-r--r--core/fxge/include/cfx_fontcache.h42
-rw-r--r--core/fxge/include/cfx_fontmapper.h84
-rw-r--r--core/fxge/include/cfx_fontmgr.h69
-rw-r--r--core/fxge/include/cfx_fxgedevice.h46
-rw-r--r--core/fxge/include/cfx_gemodule.h50
-rw-r--r--core/fxge/include/cfx_graphstate.h44
-rw-r--r--core/fxge/include/cfx_graphstatedata.h38
-rw-r--r--core/fxge/include/cfx_pathdata.h56
-rw-r--r--core/fxge/include/cfx_renderdevice.h258
-rw-r--r--core/fxge/include/cfx_substfont.h34
-rw-r--r--core/fxge/include/cfx_unicodeencoding.h46
-rw-r--r--core/fxge/include/cfx_unicodeencodingex.h37
-rw-r--r--core/fxge/include/cfx_windowsdevice.h39
-rw-r--r--core/fxge/include/fx_dib.h680
-rw-r--r--core/fxge/include/fx_font.h248
-rw-r--r--core/fxge/include/fx_freetype.h180
-rw-r--r--core/fxge/include/ifx_renderdevicedriver.h108
-rw-r--r--core/fxge/include/ifx_systemfontinfo.h49
19 files changed, 0 insertions, 2172 deletions
diff --git a/core/fxge/include/cfx_facecache.h b/core/fxge/include/cfx_facecache.h
deleted file mode 100644
index fc1b28b523..0000000000
--- a/core/fxge/include/cfx_facecache.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2016 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_CFX_FACECACHE_H_
-#define CORE_FXGE_INCLUDE_CFX_FACECACHE_H_
-
-#include <map>
-
-#include "core/fxge/include/fx_font.h"
-#include "core/fxge/include/fx_freetype.h"
-
-class CFX_FaceCache {
- public:
- explicit CFX_FaceCache(FXFT_Face face);
- ~CFX_FaceCache();
- const CFX_GlyphBitmap* LoadGlyphBitmap(const CFX_Font* pFont,
- uint32_t glyph_index,
- FX_BOOL bFontStyle,
- const CFX_Matrix* pMatrix,
- int dest_width,
- int anti_alias,
- int& text_flags);
- const CFX_PathData* LoadGlyphPath(const CFX_Font* pFont,
- uint32_t glyph_index,
- int dest_width);
-
-#ifdef _SKIA_SUPPORT_
- CFX_TypeFace* GetDeviceCache(const CFX_Font* pFont);
-#endif
-
- private:
- CFX_GlyphBitmap* RenderGlyph(const CFX_Font* pFont,
- uint32_t glyph_index,
- FX_BOOL bFontStyle,
- const CFX_Matrix* pMatrix,
- int dest_width,
- int anti_alias);
- CFX_GlyphBitmap* RenderGlyph_Nativetext(const CFX_Font* pFont,
- uint32_t glyph_index,
- const CFX_Matrix* pMatrix,
- int dest_width,
- int anti_alias);
- CFX_GlyphBitmap* LookUpGlyphBitmap(const CFX_Font* pFont,
- const CFX_Matrix* pMatrix,
- const CFX_ByteString& FaceGlyphsKey,
- uint32_t glyph_index,
- FX_BOOL bFontStyle,
- int dest_width,
- int anti_alias);
- void InitPlatform();
- void DestroyPlatform();
-
- FXFT_Face const m_Face;
- std::map<CFX_ByteString, std::unique_ptr<CFX_SizeGlyphCache>> m_SizeMap;
- std::map<uint32_t, std::unique_ptr<CFX_PathData>> m_PathMap;
-#ifdef _SKIA_SUPPORT_
- CFX_TypeFace* m_pTypeface;
-#endif
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_FACECACHE_H_
diff --git a/core/fxge/include/cfx_fontcache.h b/core/fxge/include/cfx_fontcache.h
deleted file mode 100644
index 7fe0de47f1..0000000000
--- a/core/fxge/include/cfx_fontcache.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2016 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_CFX_FONTCACHE_H_
-#define CORE_FXGE_INCLUDE_CFX_FONTCACHE_H_
-
-#include <map>
-#include <memory>
-
-#include "core/fxcrt/fx_system.h"
-#include "core/fxge/include/fx_font.h"
-#include "core/fxge/include/fx_freetype.h"
-
-class CFX_FaceCache;
-
-class CFX_FontCache {
- public:
- CFX_FontCache();
- ~CFX_FontCache();
- CFX_FaceCache* GetCachedFace(const CFX_Font* pFont);
- void ReleaseCachedFace(const CFX_Font* pFont);
-#ifdef _SKIA_SUPPORT_
- CFX_TypeFace* GetDeviceCache(const CFX_Font* pFont);
-#endif
-
- private:
- struct CountedFaceCache {
- CountedFaceCache();
- ~CountedFaceCache();
- std::unique_ptr<CFX_FaceCache> m_Obj;
- uint32_t m_nCount;
- };
-
- using CFX_FTCacheMap = std::map<FXFT_Face, std::unique_ptr<CountedFaceCache>>;
- CFX_FTCacheMap m_FTFaceMap;
- CFX_FTCacheMap m_ExtFaceMap;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_FONTCACHE_H_
diff --git a/core/fxge/include/cfx_fontmapper.h b/core/fxge/include/cfx_fontmapper.h
deleted file mode 100644
index 0d82855c41..0000000000
--- a/core/fxge/include/cfx_fontmapper.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2016 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_CFX_FONTMAPPER_H_
-#define CORE_FXGE_INCLUDE_CFX_FONTMAPPER_H_
-
-#include <memory>
-#include <vector>
-
-#include "core/fxge/include/cfx_fontmgr.h"
-#include "core/fxge/include/fx_font.h"
-
-class CFX_SubstFont;
-
-class CFX_FontMapper {
- public:
- explicit CFX_FontMapper(CFX_FontMgr* mgr);
- ~CFX_FontMapper();
-
- void SetSystemFontInfo(std::unique_ptr<IFX_SystemFontInfo> pFontInfo);
- IFX_SystemFontInfo* GetSystemFontInfo() { return m_pFontInfo.get(); }
- void AddInstalledFont(const CFX_ByteString& name, int charset);
- void LoadInstalledFonts();
-
- FXFT_Face FindSubstFont(const CFX_ByteString& face_name,
- FX_BOOL bTrueType,
- uint32_t flags,
- int weight,
- int italic_angle,
- int CharsetCP,
- CFX_SubstFont* pSubstFont);
-#ifdef PDF_ENABLE_XFA
- FXFT_Face FindSubstFontByUnicode(uint32_t dwUnicode,
- uint32_t flags,
- int weight,
- int italic_angle);
-#endif // PDF_ENABLE_XFA
- FX_BOOL IsBuiltinFace(const FXFT_Face face) const;
- int GetFaceSize() const;
- CFX_ByteString GetFaceName(int index) const {
- return m_FaceArray[index].name;
- }
-
- std::vector<CFX_ByteString> m_InstalledTTFonts;
-
- private:
- static const size_t MM_FACE_COUNT = 2;
- static const size_t FOXIT_FACE_COUNT = 14;
-
- CFX_ByteString GetPSNameFromTT(void* hFont);
- CFX_ByteString MatchInstalledFonts(const CFX_ByteString& norm_name);
- FXFT_Face UseInternalSubst(CFX_SubstFont* pSubstFont,
- int iBaseFont,
- int italic_angle,
- int weight,
- int picthfamily);
- FXFT_Face GetCachedTTCFace(void* hFont,
- const uint32_t tableTTCF,
- uint32_t ttc_size,
- uint32_t font_size);
- FXFT_Face GetCachedFace(void* hFont,
- CFX_ByteString SubstName,
- int weight,
- FX_BOOL bItalic,
- uint32_t font_size);
-
- struct FaceData {
- CFX_ByteString name;
- uint32_t charset;
- };
-
- FX_BOOL m_bListLoaded;
- FXFT_Face m_MMFaces[MM_FACE_COUNT];
- CFX_ByteString m_LastFamily;
- std::vector<FaceData> m_FaceArray;
- std::unique_ptr<IFX_SystemFontInfo> m_pFontInfo;
- FXFT_Face m_FoxitFaces[FOXIT_FACE_COUNT];
- CFX_FontMgr* const m_pFontMgr;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_FONTMAPPER_H_
diff --git a/core/fxge/include/cfx_fontmgr.h b/core/fxge/include/cfx_fontmgr.h
deleted file mode 100644
index c8e66aee14..0000000000
--- a/core/fxge/include/cfx_fontmgr.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2016 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_CFX_FONTMGR_H_
-#define CORE_FXGE_INCLUDE_CFX_FONTMGR_H_
-
-#include <map>
-#include <memory>
-
-#include "core/fxge/include/fx_font.h"
-
-class IFX_SystemFontInfo;
-class CFX_FontMapper;
-class CFX_SubstFont;
-class CTTFontDesc;
-
-class CFX_FontMgr {
- public:
- CFX_FontMgr();
- ~CFX_FontMgr();
-
- void InitFTLibrary();
-
- FXFT_Face GetCachedFace(const CFX_ByteString& face_name,
- int weight,
- FX_BOOL bItalic,
- uint8_t*& pFontData);
- FXFT_Face AddCachedFace(const CFX_ByteString& face_name,
- int weight,
- FX_BOOL bItalic,
- uint8_t* pData,
- uint32_t size,
- int face_index);
- FXFT_Face GetCachedTTCFace(int ttc_size,
- uint32_t checksum,
- int font_offset,
- uint8_t*& pFontData);
- FXFT_Face AddCachedTTCFace(int ttc_size,
- uint32_t checksum,
- uint8_t* pData,
- uint32_t size,
- int font_offset);
- FXFT_Face GetFileFace(const FX_CHAR* filename, int face_index);
- FXFT_Face GetFixedFace(const uint8_t* pData, uint32_t size, int face_index);
- void ReleaseFace(FXFT_Face face);
- void SetSystemFontInfo(std::unique_ptr<IFX_SystemFontInfo> pFontInfo);
- FXFT_Face FindSubstFont(const CFX_ByteString& face_name,
- FX_BOOL bTrueType,
- uint32_t flags,
- int weight,
- int italic_angle,
- int CharsetCP,
- CFX_SubstFont* pSubstFont);
- bool GetBuiltinFont(size_t index, const uint8_t** pFontData, uint32_t* size);
- CFX_FontMapper* GetBuiltinMapper() const { return m_pBuiltinMapper.get(); }
- FXFT_Library GetFTLibrary() const { return m_FTLibrary; }
- bool FTLibrarySupportsHinting() const { return m_FTLibrarySupportsHinting; }
-
- private:
- std::unique_ptr<CFX_FontMapper> m_pBuiltinMapper;
- std::map<CFX_ByteString, CTTFontDesc*> m_FaceMap;
- FXFT_Library m_FTLibrary;
- bool m_FTLibrarySupportsHinting;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_FONTMGR_H_
diff --git a/core/fxge/include/cfx_fxgedevice.h b/core/fxge/include/cfx_fxgedevice.h
deleted file mode 100644
index 7f34f1ca4a..0000000000
--- a/core/fxge/include/cfx_fxgedevice.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2016 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_CFX_FXGEDEVICE_H_
-#define CORE_FXGE_INCLUDE_CFX_FXGEDEVICE_H_
-
-#include "core/fxge/include/cfx_renderdevice.h"
-#include "core/fxge/include/fx_dib.h"
-
-class SkPictureRecorder;
-
-class CFX_FxgeDevice : public CFX_RenderDevice {
- public:
- CFX_FxgeDevice();
- ~CFX_FxgeDevice() override;
-
- bool Attach(CFX_DIBitmap* pBitmap,
- bool bRgbByteOrder,
- CFX_DIBitmap* pOriDevice,
- bool bGroupKnockout);
- bool Create(int width,
- int height,
- FXDIB_Format format,
- CFX_DIBitmap* pOriDevice);
-
-#ifdef _SKIA_SUPPORT_
- bool AttachRecorder(SkPictureRecorder* recorder);
- void Clear(uint32_t color);
- SkPictureRecorder* CreateRecorder(int size_x, int size_y);
- void DebugVerifyBitmapIsPreMultiplied() const override;
- bool SetBitsWithMask(const CFX_DIBSource* pBitmap,
- const CFX_DIBSource* pMask,
- int left,
- int top,
- int bitmap_alpha,
- int blend_type) override;
-#endif
-
- private:
- bool m_bOwnedBitmap;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_FXGEDEVICE_H_
diff --git a/core/fxge/include/cfx_gemodule.h b/core/fxge/include/cfx_gemodule.h
deleted file mode 100644
index 351c036b52..0000000000
--- a/core/fxge/include/cfx_gemodule.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2016 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_CFX_GEMODULE_H_
-#define CORE_FXGE_INCLUDE_CFX_GEMODULE_H_
-
-#include <memory>
-
-#include "core/fxge/include/cfx_fontmgr.h"
-#include "core/fxge/include/fx_font.h"
-
-class CCodec_ModuleMgr;
-class CFX_FontCache;
-class CFX_FontMgr;
-
-class CFX_GEModule {
- public:
- static CFX_GEModule* Get();
- static void Destroy();
-
- void Init(const char** pUserFontPaths, CCodec_ModuleMgr* pCodecModule);
- CFX_FontCache* GetFontCache();
- CFX_FontMgr* GetFontMgr() { return m_pFontMgr.get(); }
- void SetTextGamma(FX_FLOAT gammaValue);
- const uint8_t* GetTextGammaTable() const;
-
- CCodec_ModuleMgr* GetCodecModule() { return m_pCodecModule; }
- void* GetPlatformData() { return m_pPlatformData; }
-
- FXFT_Library m_FTLibrary;
-
- private:
- CFX_GEModule();
- ~CFX_GEModule();
-
- void InitPlatform();
- void DestroyPlatform();
-
- uint8_t m_GammaValue[256];
- CFX_FontCache* m_pFontCache;
- std::unique_ptr<CFX_FontMgr> m_pFontMgr;
- CCodec_ModuleMgr* m_pCodecModule;
- void* m_pPlatformData;
- const char** m_pUserFontPaths;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_GEMODULE_H_
diff --git a/core/fxge/include/cfx_graphstate.h b/core/fxge/include/cfx_graphstate.h
deleted file mode 100644
index 1faec0db7e..0000000000
--- a/core/fxge/include/cfx_graphstate.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2016 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_CFX_GRAPHSTATE_H_
-#define CORE_FXGE_INCLUDE_CFX_GRAPHSTATE_H_
-
-#include "core/fxcrt/cfx_count_ref.h"
-#include "core/fxge/include/cfx_graphstatedata.h"
-
-class CPDF_Array;
-
-class CFX_GraphState {
- public:
- CFX_GraphState();
- CFX_GraphState(const CFX_GraphState& that);
- ~CFX_GraphState();
-
- void Emplace();
-
- void SetLineDash(CPDF_Array* pArray, FX_FLOAT phase, FX_FLOAT scale);
-
- FX_FLOAT GetLineWidth() const;
- void SetLineWidth(FX_FLOAT width);
-
- CFX_GraphStateData::LineCap GetLineCap() const;
- void SetLineCap(CFX_GraphStateData::LineCap cap);
-
- CFX_GraphStateData::LineJoin GetLineJoin() const;
- void SetLineJoin(CFX_GraphStateData::LineJoin join);
-
- FX_FLOAT GetMiterLimit() const;
- void SetMiterLimit(FX_FLOAT limit);
-
- // FIXME(tsepez): remove when all GraphStateData usage gone.
- const CFX_GraphStateData* GetObject() const { return m_Ref.GetObject(); }
-
- private:
- CFX_CountRef<CFX_GraphStateData> m_Ref;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_GRAPHSTATE_H_
diff --git a/core/fxge/include/cfx_graphstatedata.h b/core/fxge/include/cfx_graphstatedata.h
deleted file mode 100644
index b5f784702d..0000000000
--- a/core/fxge/include/cfx_graphstatedata.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2016 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_CFX_GRAPHSTATEDATA_H_
-#define CORE_FXGE_INCLUDE_CFX_GRAPHSTATEDATA_H_
-
-#include "core/fxcrt/fx_system.h"
-
-class CFX_GraphStateData {
- public:
- enum LineCap { LineCapButt = 0, LineCapRound = 1, LineCapSquare = 2 };
-
- CFX_GraphStateData();
- CFX_GraphStateData(const CFX_GraphStateData& src);
- ~CFX_GraphStateData();
-
- void Copy(const CFX_GraphStateData& src);
- void SetDashCount(int count);
-
- LineCap m_LineCap;
- int m_DashCount;
- FX_FLOAT* m_DashArray;
- FX_FLOAT m_DashPhase;
-
- enum LineJoin {
- LineJoinMiter = 0,
- LineJoinRound = 1,
- LineJoinBevel = 2,
- };
- LineJoin m_LineJoin;
- FX_FLOAT m_MiterLimit;
- FX_FLOAT m_LineWidth;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_GRAPHSTATEDATA_H_
diff --git a/core/fxge/include/cfx_pathdata.h b/core/fxge/include/cfx_pathdata.h
deleted file mode 100644
index 56682dd651..0000000000
--- a/core/fxge/include/cfx_pathdata.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2016 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_CFX_PATHDATA_H_
-#define CORE_FXGE_INCLUDE_CFX_PATHDATA_H_
-
-#include "core/fxcrt/fx_coordinates.h"
-#include "core/fxcrt/fx_system.h"
-#include "core/fxge/include/cfx_renderdevice.h"
-
-struct FX_PATHPOINT {
- FX_FLOAT m_PointX;
- FX_FLOAT m_PointY;
- int m_Flag;
-};
-
-class CFX_PathData {
- public:
- CFX_PathData();
- CFX_PathData(const CFX_PathData& src);
- ~CFX_PathData();
-
- int GetPointCount() const { return m_PointCount; }
- int GetFlag(int index) const { return m_pPoints[index].m_Flag; }
- FX_FLOAT GetPointX(int index) const { return m_pPoints[index].m_PointX; }
- FX_FLOAT GetPointY(int index) const { return m_pPoints[index].m_PointY; }
- FX_PATHPOINT* GetPoints() const { return m_pPoints; }
-
- void SetPointCount(int nPoints);
- void AllocPointCount(int nPoints);
- void AddPointCount(int addPoints);
- CFX_FloatRect GetBoundingBox() const;
- CFX_FloatRect GetBoundingBox(FX_FLOAT line_width, FX_FLOAT miter_limit) const;
- void Transform(const CFX_Matrix* pMatrix);
- FX_BOOL IsRect() const;
- FX_BOOL GetZeroAreaPath(CFX_PathData& NewPath,
- CFX_Matrix* pMatrix,
- FX_BOOL& bThin,
- FX_BOOL bAdjust) const;
- FX_BOOL IsRect(const CFX_Matrix* pMatrix, CFX_FloatRect* rect) const;
- void Append(const CFX_PathData* pSrc, const CFX_Matrix* pMatrix);
- void AppendRect(FX_FLOAT left, FX_FLOAT bottom, FX_FLOAT right, FX_FLOAT top);
- void SetPoint(int index, FX_FLOAT x, FX_FLOAT y, int flag);
- void TrimPoints(int nPoints);
- void Copy(const CFX_PathData& src);
-
- private:
- int m_PointCount;
- int m_AllocCount;
- FX_PATHPOINT* m_pPoints;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_PATHDATA_H_
diff --git a/core/fxge/include/cfx_renderdevice.h b/core/fxge/include/cfx_renderdevice.h
deleted file mode 100644
index f790cdae68..0000000000
--- a/core/fxge/include/cfx_renderdevice.h
+++ /dev/null
@@ -1,258 +0,0 @@
-// Copyright 2016 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_CFX_RENDERDEVICE_H_
-#define CORE_FXGE_INCLUDE_CFX_RENDERDEVICE_H_
-
-#include <memory>
-
-#include "core/fxge/include/cfx_gemodule.h"
-#include "core/fxge/include/fx_dib.h"
-#include "core/fxge/include/fx_font.h"
-
-class CFX_Font;
-class CFX_GraphStateData;
-class IFX_RenderDeviceDriver;
-
-#define FXDC_DEVICE_CLASS 1
-#define FXDC_PIXEL_WIDTH 2
-#define FXDC_PIXEL_HEIGHT 3
-#define FXDC_BITS_PIXEL 4
-#define FXDC_HORZ_SIZE 5
-#define FXDC_VERT_SIZE 6
-#define FXDC_RENDER_CAPS 7
-#define FXDC_DISPLAY 1
-#define FXDC_PRINTER 2
-
-#define FXPT_CLOSEFIGURE 0x01
-#define FXPT_LINETO 0x02
-#define FXPT_BEZIERTO 0x04
-#define FXPT_MOVETO 0x06
-#define FXPT_TYPE 0x06
-
-#define FXRC_GET_BITS 0x01
-#define FXRC_BIT_MASK 0x02
-#define FXRC_ALPHA_MASK 0x04
-#define FXRC_ALPHA_PATH 0x10
-#define FXRC_ALPHA_IMAGE 0x20
-#define FXRC_ALPHA_OUTPUT 0x40
-#define FXRC_BLEND_MODE 0x80
-#define FXRC_SOFT_CLIP 0x100
-#define FXRC_CMYK_OUTPUT 0x200
-#define FXRC_BITMASK_OUTPUT 0x400
-#define FXRC_BYTEMASK_OUTPUT 0x800
-#define FXRENDER_IMAGE_LOSSY 0x1000
-#define FXRC_FILLSTROKE_PATH 0x2000
-#define FXRC_SHADING 0x4000
-
-#define FXFILL_ALTERNATE 1
-#define FXFILL_WINDING 2
-#define FXFILL_FULLCOVER 4
-#define FXFILL_RECT_AA 8
-#define FX_FILL_STROKE 16
-#define FX_STROKE_ADJUST 32
-#define FX_STROKE_TEXT_MODE 64
-#define FX_FILL_TEXT_MODE 128
-#define FX_ZEROAREA_FILL 256
-#define FXFILL_NOPATHSMOOTH 512
-
-#define FXTEXT_CLEARTYPE 0x01
-#define FXTEXT_BGR_STRIPE 0x02
-#define FXTEXT_PRINTGRAPHICTEXT 0x04
-#define FXTEXT_NO_NATIVETEXT 0x08
-#define FXTEXT_PRINTIMAGETEXT 0x10
-#define FXTEXT_NOSMOOTH 0x20
-
-struct FXTEXT_CHARPOS {
- FX_FLOAT m_AdjustMatrix[4];
- FX_FLOAT m_OriginX;
- FX_FLOAT m_OriginY;
- uint32_t m_GlyphIndex;
- int32_t m_FontCharWidth;
-#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- uint32_t m_ExtGID;
-#endif
- int32_t m_FallbackFontPosition;
- bool m_bGlyphAdjust;
- bool m_bFontStyle;
-};
-
-class CFX_RenderDevice {
- public:
- CFX_RenderDevice();
- virtual ~CFX_RenderDevice();
-
- // Take ownership of |pDriver|.
- void SetDeviceDriver(std::unique_ptr<IFX_RenderDeviceDriver> pDriver);
- IFX_RenderDeviceDriver* GetDeviceDriver() const {
- return m_pDeviceDriver.get();
- }
-
- void SaveState();
- void RestoreState(bool bKeepSaved);
-
- int GetWidth() const { return m_Width; }
- int GetHeight() const { return m_Height; }
- int GetDeviceClass() const { return m_DeviceClass; }
- int GetRenderCaps() const { return m_RenderCaps; }
- int GetDeviceCaps(int id) const;
- CFX_Matrix GetCTM() const;
- CFX_DIBitmap* GetBitmap() const { return m_pBitmap; }
- void SetBitmap(CFX_DIBitmap* pBitmap) { m_pBitmap = pBitmap; }
- FX_BOOL CreateCompatibleBitmap(CFX_DIBitmap* pDIB,
- int width,
- int height) const;
- const FX_RECT& GetClipBox() const { return m_ClipBox; }
- FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- int fill_mode);
- FX_BOOL SetClip_Rect(const FX_RECT& pRect);
- FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState);
- FX_BOOL DrawPath(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode) {
- return DrawPathWithBlend(pPathData, pObject2Device, pGraphState, fill_color,
- stroke_color, fill_mode, FXDIB_BLEND_NORMAL);
- }
- FX_BOOL DrawPathWithBlend(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode,
- int blend_type);
- FX_BOOL SetPixel(int x, int y, uint32_t color);
- FX_BOOL FillRect(const FX_RECT* pRect, uint32_t color) {
- return FillRectWithBlend(pRect, color, FXDIB_BLEND_NORMAL);
- }
- FX_BOOL FillRectWithBlend(const FX_RECT* pRect,
- uint32_t color,
- int blend_type);
- FX_BOOL DrawCosmeticLine(FX_FLOAT x1,
- FX_FLOAT y1,
- FX_FLOAT x2,
- FX_FLOAT y2,
- uint32_t color,
- int fill_mode,
- int blend_type);
-
- FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top);
- CFX_DIBitmap* GetBackDrop();
- FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap, int left, int top) {
- return SetDIBitsWithBlend(pBitmap, left, top, FXDIB_BLEND_NORMAL);
- }
- FX_BOOL SetDIBitsWithBlend(const CFX_DIBSource* pBitmap,
- int left,
- int top,
- int blend_type);
- FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap,
- int left,
- int top,
- int dest_width,
- int dest_height) {
- return StretchDIBitsWithFlagsAndBlend(pBitmap, left, top, dest_width,
- dest_height, 0, FXDIB_BLEND_NORMAL);
- }
- FX_BOOL StretchDIBitsWithFlagsAndBlend(const CFX_DIBSource* pBitmap,
- int left,
- int top,
- int dest_width,
- int dest_height,
- uint32_t flags,
- int blend_type);
- FX_BOOL SetBitMask(const CFX_DIBSource* pBitmap,
- int left,
- int top,
- uint32_t color);
- FX_BOOL StretchBitMask(const CFX_DIBSource* pBitmap,
- int left,
- int top,
- int dest_width,
- int dest_height,
- uint32_t color);
- FX_BOOL StretchBitMaskWithFlags(const CFX_DIBSource* pBitmap,
- int left,
- int top,
- int dest_width,
- int dest_height,
- uint32_t color,
- uint32_t flags);
- FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix* pMatrix,
- uint32_t flags,
- void*& handle) {
- return StartDIBitsWithBlend(pBitmap, bitmap_alpha, color, pMatrix, flags,
- handle, FXDIB_BLEND_NORMAL);
- }
- FX_BOOL StartDIBitsWithBlend(const CFX_DIBSource* pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix* pMatrix,
- uint32_t flags,
- void*& handle,
- int blend_type);
- FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause);
- void CancelDIBits(void* handle);
-
- FX_BOOL DrawNormalText(int nChars,
- const FXTEXT_CHARPOS* pCharPos,
- CFX_Font* pFont,
- FX_FLOAT font_size,
- const CFX_Matrix* pText2Device,
- uint32_t fill_color,
- uint32_t text_flags);
- FX_BOOL DrawTextPath(int nChars,
- const FXTEXT_CHARPOS* pCharPos,
- CFX_Font* pFont,
- FX_FLOAT font_size,
- const CFX_Matrix* pText2User,
- const CFX_Matrix* pUser2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- CFX_PathData* pClippingPath,
- int nFlag);
-
-#ifdef _SKIA_SUPPORT_
- virtual void DebugVerifyBitmapIsPreMultiplied() const;
- virtual bool SetBitsWithMask(const CFX_DIBSource* pBitmap,
- const CFX_DIBSource* pMask,
- int left,
- int top,
- int bitmap_alpha,
- int blend_type);
- void Flush();
-#endif
-
- private:
- void InitDeviceInfo();
- void UpdateClipBox();
- FX_BOOL DrawFillStrokePath(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode,
- int blend_type);
-
- CFX_DIBitmap* m_pBitmap;
- int m_Width;
- int m_Height;
- int m_bpp;
- int m_RenderCaps;
- int m_DeviceClass;
- FX_RECT m_ClipBox;
- std::unique_ptr<IFX_RenderDeviceDriver> m_pDeviceDriver;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_RENDERDEVICE_H_
diff --git a/core/fxge/include/cfx_substfont.h b/core/fxge/include/cfx_substfont.h
deleted file mode 100644
index 8cce389fb3..0000000000
--- a/core/fxge/include/cfx_substfont.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2016 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_CFX_SUBSTFONT_H_
-#define CORE_FXGE_INCLUDE_CFX_SUBSTFONT_H_
-
-#include "core/fxcrt/fx_string.h"
-
-#define FXFONT_SUBST_MM 0x01
-#define FXFONT_SUBST_GLYPHPATH 0x04
-#define FXFONT_SUBST_CLEARTYPE 0x08
-#define FXFONT_SUBST_TRANSFORM 0x10
-#define FXFONT_SUBST_NONSYMBOL 0x20
-#define FXFONT_SUBST_EXACT 0x40
-#define FXFONT_SUBST_STANDARD 0x80
-
-class CFX_SubstFont {
- public:
- CFX_SubstFont();
-
- CFX_ByteString m_Family;
- int m_Charset;
- uint32_t m_SubstFlags;
- int m_Weight;
- int m_ItalicAngle;
- bool m_bSubstCJK;
- int m_WeightCJK;
- bool m_bItalicCJK;
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_SUBSTFONT_H_
diff --git a/core/fxge/include/cfx_unicodeencoding.h b/core/fxge/include/cfx_unicodeencoding.h
deleted file mode 100644
index dee785f9df..0000000000
--- a/core/fxge/include/cfx_unicodeencoding.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2016 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_CFX_UNICODEENCODING_H_
-#define CORE_FXGE_INCLUDE_CFX_UNICODEENCODING_H_
-
-#include "core/fxge/include/fx_font.h"
-
-#define ENCODING_INTERNAL 0
-#define ENCODING_UNICODE 1
-
-#ifdef PDF_ENABLE_XFA
-#define FXFM_ENC_TAG(a, b, c, d) \
- (((uint32_t)(a) << 24) | ((uint32_t)(b) << 16) | ((uint32_t)(c) << 8) | \
- (uint32_t)(d))
-#define FXFM_ENCODING_NONE FXFM_ENC_TAG(0, 0, 0, 0)
-#define FXFM_ENCODING_MS_SYMBOL FXFM_ENC_TAG('s', 'y', 'm', 'b')
-#define FXFM_ENCODING_UNICODE FXFM_ENC_TAG('u', 'n', 'i', 'c')
-#define FXFM_ENCODING_MS_SJIS FXFM_ENC_TAG('s', 'j', 'i', 's')
-#define FXFM_ENCODING_MS_GB2312 FXFM_ENC_TAG('g', 'b', ' ', ' ')
-#define FXFM_ENCODING_MS_BIG5 FXFM_ENC_TAG('b', 'i', 'g', '5')
-#define FXFM_ENCODING_MS_WANSUNG FXFM_ENC_TAG('w', 'a', 'n', 's')
-#define FXFM_ENCODING_MS_JOHAB FXFM_ENC_TAG('j', 'o', 'h', 'a')
-#define FXFM_ENCODING_ADOBE_STANDARD FXFM_ENC_TAG('A', 'D', 'O', 'B')
-#define FXFM_ENCODING_ADOBE_EXPERT FXFM_ENC_TAG('A', 'D', 'B', 'E')
-#define FXFM_ENCODING_ADOBE_CUSTOM FXFM_ENC_TAG('A', 'D', 'B', 'C')
-#define FXFM_ENCODING_ADOBE_LATIN_1 FXFM_ENC_TAG('l', 'a', 't', '1')
-#define FXFM_ENCODING_OLD_LATIN_2 FXFM_ENC_TAG('l', 'a', 't', '2')
-#define FXFM_ENCODING_APPLE_ROMAN FXFM_ENC_TAG('a', 'r', 'm', 'n')
-#endif // PDF_ENABLE_XFA
-
-class CFX_UnicodeEncoding {
- public:
- explicit CFX_UnicodeEncoding(CFX_Font* pFont);
- virtual ~CFX_UnicodeEncoding();
-
- virtual uint32_t GlyphFromCharCode(uint32_t charcode);
-
- protected:
- CFX_Font* m_pFont; // Unowned, not nullptr.
-};
-
-#endif // CORE_FXGE_INCLUDE_CFX_UNICODEENCODING_H_
diff --git a/core/fxge/include/cfx_unicodeencodingex.h b/core/fxge/include/cfx_unicodeencodingex.h
deleted file mode 100644
index 680b8fb6bd..0000000000
--- a/core/fxge/include/cfx_unicodeencodingex.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2016 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_CFX_UNICODEENCODINGEX_H_
-#define CORE_FXGE_INCLUDE_CFX_UNICODEENCODINGEX_H_
-
-#include <map>
-#include <memory>
-#include <vector>
-
-#include "core/fxcrt/fx_system.h"
-#include "core/fxge/include/cfx_unicodeencoding.h"
-#include "core/fxge/include/fx_dib.h"
-#include "core/fxge/include/fx_freetype.h"
-
-class CFX_UnicodeEncodingEx : public CFX_UnicodeEncoding {
- public:
- CFX_UnicodeEncodingEx(CFX_Font* pFont, uint32_t EncodingID);
- ~CFX_UnicodeEncodingEx() override;
-
- // CFX_UnicodeEncoding:
- uint32_t GlyphFromCharCode(uint32_t charcode) override;
-
- uint32_t CharCodeFromUnicode(FX_WCHAR Unicode) const;
-
- private:
- uint32_t m_nEncodingID;
-};
-
-CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx(
- CFX_Font* pFont,
- uint32_t nEncodingID = FXFM_ENCODING_NONE);
-
-#endif // CORE_FXGE_INCLUDE_CFX_UNICODEENCODINGEX_H_
diff --git a/core/fxge/include/cfx_windowsdevice.h b/core/fxge/include/cfx_windowsdevice.h
deleted file mode 100644
index 906442d3d9..0000000000
--- a/core/fxge/include/cfx_windowsdevice.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2016 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_CFX_WINDOWSDEVICE_H_
-#define CORE_FXGE_INCLUDE_CFX_WINDOWSDEVICE_H_
-
-#ifdef _WIN32
-#ifndef _WINDOWS_
-#include <windows.h>
-#endif
-
-class IFX_RenderDeviceDriver;
-
-#if defined(PDFIUM_PRINT_TEXT_WITH_GDI)
-typedef void (*PDFiumEnsureTypefaceCharactersAccessible)(const LOGFONT* font,
- const wchar_t* text,
- size_t text_length);
-
-extern bool g_pdfium_print_text_with_gdi;
-extern PDFiumEnsureTypefaceCharactersAccessible
- g_pdfium_typeface_accessible_func;
-#endif
-
-class CFX_WindowsDevice : public CFX_RenderDevice {
- public:
- static IFX_RenderDeviceDriver* CreateDriver(HDC hDC);
-
- explicit CFX_WindowsDevice(HDC hDC);
- ~CFX_WindowsDevice() override;
-
- HDC GetDC() const;
-};
-
-#endif // _WIN32
-
-#endif // CORE_FXGE_INCLUDE_CFX_WINDOWSDEVICE_H_
diff --git a/core/fxge/include/fx_dib.h b/core/fxge/include/fx_dib.h
deleted file mode 100644
index 2eaa38ab5e..0000000000
--- a/core/fxge/include/fx_dib.h
+++ /dev/null
@@ -1,680 +0,0 @@
-// 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_FX_DIB_H_
-#define CORE_FXGE_INCLUDE_FX_DIB_H_
-
-#include <memory>
-#include <vector>
-
-#include "core/fxcrt/cfx_count_ref.h"
-#include "core/fxcrt/fx_basic.h"
-#include "core/fxcrt/fx_coordinates.h"
-
-enum FXDIB_Format {
- FXDIB_Invalid = 0,
- FXDIB_1bppMask = 0x101,
- FXDIB_1bppRgb = 0x001,
- FXDIB_1bppCmyk = 0x401,
- FXDIB_8bppMask = 0x108,
- FXDIB_8bppRgb = 0x008,
- FXDIB_8bppRgba = 0x208,
- FXDIB_8bppCmyk = 0x408,
- FXDIB_8bppCmyka = 0x608,
- FXDIB_Rgb = 0x018,
- FXDIB_Rgba = 0x218,
- FXDIB_Rgb32 = 0x020,
- FXDIB_Argb = 0x220,
- FXDIB_Cmyk = 0x420,
- FXDIB_Cmyka = 0x620,
-};
-
-enum FXDIB_Channel {
- FXDIB_Red = 1,
- FXDIB_Green,
- FXDIB_Blue,
- FXDIB_Cyan,
- FXDIB_Magenta,
- FXDIB_Yellow,
- FXDIB_Black,
- FXDIB_Alpha
-};
-
-#define FXDIB_DOWNSAMPLE 0x04
-#define FXDIB_INTERPOL 0x20
-#define FXDIB_BICUBIC_INTERPOL 0x80
-#define FXDIB_NOSMOOTH 0x100
-#define FXDIB_BLEND_NORMAL 0
-#define FXDIB_BLEND_MULTIPLY 1
-#define FXDIB_BLEND_SCREEN 2
-#define FXDIB_BLEND_OVERLAY 3
-#define FXDIB_BLEND_DARKEN 4
-#define FXDIB_BLEND_LIGHTEN 5
-
-#define FXDIB_BLEND_COLORDODGE 6
-#define FXDIB_BLEND_COLORBURN 7
-#define FXDIB_BLEND_HARDLIGHT 8
-#define FXDIB_BLEND_SOFTLIGHT 9
-#define FXDIB_BLEND_DIFFERENCE 10
-#define FXDIB_BLEND_EXCLUSION 11
-#define FXDIB_BLEND_NONSEPARABLE 21
-#define FXDIB_BLEND_HUE 21
-#define FXDIB_BLEND_SATURATION 22
-#define FXDIB_BLEND_COLOR 23
-#define FXDIB_BLEND_LUMINOSITY 24
-#define FXDIB_BLEND_UNSUPPORTED -1
-typedef uint32_t FX_ARGB;
-typedef uint32_t FX_COLORREF;
-typedef uint32_t FX_CMYK;
-class CFX_ClipRgn;
-class CFX_DIBSource;
-class CFX_DIBitmap;
-class CStretchEngine;
-
-#define FXSYS_RGB(r, g, b) ((r) | ((g) << 8) | ((b) << 16))
-#define FXSYS_GetRValue(rgb) ((rgb)&0xff)
-#define FXSYS_GetGValue(rgb) (((rgb) >> 8) & 0xff)
-#define FXSYS_GetBValue(rgb) (((rgb) >> 16) & 0xff)
-#define FX_CCOLOR(val) (255 - (val))
-#define FXSYS_CMYK(c, m, y, k) (((c) << 24) | ((m) << 16) | ((y) << 8) | (k))
-#define FXSYS_GetCValue(cmyk) ((uint8_t)((cmyk) >> 24) & 0xff)
-#define FXSYS_GetMValue(cmyk) ((uint8_t)((cmyk) >> 16) & 0xff)
-#define FXSYS_GetYValue(cmyk) ((uint8_t)((cmyk) >> 8) & 0xff)
-#define FXSYS_GetKValue(cmyk) ((uint8_t)(cmyk)&0xff)
-void CmykDecode(FX_CMYK cmyk, int& c, int& m, int& y, int& k);
-inline FX_CMYK CmykEncode(int c, int m, int y, int k) {
- return (c << 24) | (m << 16) | (y << 8) | k;
-}
-void ArgbDecode(FX_ARGB argb, int& a, int& r, int& g, int& b);
-void ArgbDecode(FX_ARGB argb, int& a, FX_COLORREF& rgb);
-inline FX_ARGB ArgbEncode(int a, int r, int g, int b) {
- return (a << 24) | (r << 16) | (g << 8) | b;
-}
-FX_ARGB ArgbEncode(int a, FX_COLORREF rgb);
-#define FXARGB_A(argb) ((uint8_t)((argb) >> 24))
-#define FXARGB_R(argb) ((uint8_t)((argb) >> 16))
-#define FXARGB_G(argb) ((uint8_t)((argb) >> 8))
-#define FXARGB_B(argb) ((uint8_t)(argb))
-#define FXARGB_MAKE(a, r, g, b) \
- (((uint32_t)(a) << 24) | ((r) << 16) | ((g) << 8) | (b))
-#define FXARGB_MUL_ALPHA(argb, alpha) \
- (((((argb) >> 24) * (alpha) / 255) << 24) | ((argb)&0xffffff))
-#define FXRGB2GRAY(r, g, b) (((b)*11 + (g)*59 + (r)*30) / 100)
-#define FXCMYK2GRAY(c, m, y, k) \
- (((255 - (c)) * (255 - (k)) * 30 + (255 - (m)) * (255 - (k)) * 59 + \
- (255 - (y)) * (255 - (k)) * 11) / \
- 25500)
-#define FXDIB_ALPHA_MERGE(backdrop, source, source_alpha) \
- (((backdrop) * (255 - (source_alpha)) + (source) * (source_alpha)) / 255)
-#define FXDIB_ALPHA_UNION(dest, src) ((dest) + (src) - (dest) * (src) / 255)
-#define FXCMYK_GETDIB(p) \
- ((((uint8_t*)(p))[0] << 24 | (((uint8_t*)(p))[1] << 16) | \
- (((uint8_t*)(p))[2] << 8) | ((uint8_t*)(p))[3]))
-#define FXCMYK_SETDIB(p, cmyk) ((uint8_t*)(p))[0] = (uint8_t)((cmyk) >> 24), \
- ((uint8_t*)(p))[1] = (uint8_t)((cmyk) >> 16), \
- ((uint8_t*)(p))[2] = (uint8_t)((cmyk) >> 8), \
- ((uint8_t*)(p))[3] = (uint8_t)(cmyk))
-#define FXARGB_GETDIB(p) \
- ((((uint8_t*)(p))[0]) | (((uint8_t*)(p))[1] << 8) | \
- (((uint8_t*)(p))[2] << 16) | (((uint8_t*)(p))[3] << 24))
-#define FXARGB_SETDIB(p, argb) \
- ((uint8_t*)(p))[0] = (uint8_t)(argb), \
- ((uint8_t*)(p))[1] = (uint8_t)((argb) >> 8), \
- ((uint8_t*)(p))[2] = (uint8_t)((argb) >> 16), \
- ((uint8_t*)(p))[3] = (uint8_t)((argb) >> 24)
-#define FXARGB_COPY(dest, src) \
- *(uint8_t*)(dest) = *(uint8_t*)(src), \
- *((uint8_t*)(dest) + 1) = *((uint8_t*)(src) + 1), \
- *((uint8_t*)(dest) + 2) = *((uint8_t*)(src) + 2), \
- *((uint8_t*)(dest) + 3) = *((uint8_t*)(src) + 3)
-#define FXCMYK_COPY(dest, src) \
- *(uint8_t*)(dest) = *(uint8_t*)(src), \
- *((uint8_t*)(dest) + 1) = *((uint8_t*)(src) + 1), \
- *((uint8_t*)(dest) + 2) = *((uint8_t*)(src) + 2), \
- *((uint8_t*)(dest) + 3) = *((uint8_t*)(src) + 3)
-#define FXARGB_SETRGBORDERDIB(p, argb) \
- ((uint8_t*)(p))[3] = (uint8_t)(argb >> 24), \
- ((uint8_t*)(p))[0] = (uint8_t)((argb) >> 16), \
- ((uint8_t*)(p))[1] = (uint8_t)((argb) >> 8), \
- ((uint8_t*)(p))[2] = (uint8_t)(argb)
-#define FXARGB_GETRGBORDERDIB(p) \
- (((uint8_t*)(p))[2]) | (((uint8_t*)(p))[1] << 8) | \
- (((uint8_t*)(p))[0] << 16) | (((uint8_t*)(p))[3] << 24)
-#define FXARGB_RGBORDERCOPY(dest, src) \
- *((uint8_t*)(dest) + 3) = *((uint8_t*)(src) + 3), \
- *(uint8_t*)(dest) = *((uint8_t*)(src) + 2), \
- *((uint8_t*)(dest) + 1) = *((uint8_t*)(src) + 1), \
- *((uint8_t*)(dest) + 2) = *((uint8_t*)(src))
-#define FXARGB_TODIB(argb) (argb)
-#define FXCMYK_TODIB(cmyk) \
- ((uint8_t)((cmyk) >> 24) | ((uint8_t)((cmyk) >> 16)) << 8 | \
- ((uint8_t)((cmyk) >> 8)) << 16 | ((uint8_t)(cmyk) << 24))
-#define FXARGB_TOBGRORDERDIB(argb) \
- ((uint8_t)(argb >> 16) | ((uint8_t)(argb >> 8)) << 8 | \
- ((uint8_t)(argb)) << 16 | ((uint8_t)(argb >> 24) << 24))
-#define FXGETFLAG_COLORTYPE(flag) (uint8_t)((flag) >> 8)
-#define FXGETFLAG_ALPHA_FILL(flag) (uint8_t)(flag)
-
-FX_BOOL ConvertBuffer(FXDIB_Format dest_format,
- uint8_t* dest_buf,
- int dest_pitch,
- int width,
- int height,
- const CFX_DIBSource* pSrcBitmap,
- int src_left,
- int src_top,
- std::unique_ptr<uint32_t, FxFreeDeleter>* pal);
-
-class CFX_DIBSource {
- public:
- virtual ~CFX_DIBSource();
-
- virtual uint8_t* GetBuffer() const;
- virtual const uint8_t* GetScanline(int line) const = 0;
- virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) const;
- virtual void DownSampleScanline(int line,
- uint8_t* dest_scan,
- int dest_bpp,
- int dest_width,
- FX_BOOL bFlipX,
- int clip_left,
- int clip_width) const = 0;
-
- int GetWidth() const { return m_Width; }
- int GetHeight() const { return m_Height; }
-
- FXDIB_Format GetFormat() const {
- return (FXDIB_Format)(m_AlphaFlag * 0x100 + m_bpp);
- }
- uint32_t GetPitch() const { return m_Pitch; }
- uint32_t* GetPalette() const { return m_pPalette.get(); }
- int GetBPP() const { return m_bpp; }
-
- // TODO(thestig): Investigate this. Given the possible values of FXDIB_Format,
- // it feels as though this should be implemented as !!(m_AlphaFlag & 1) and
- // IsOpaqueImage() below should never be able to return TRUE.
- bool IsAlphaMask() const { return m_AlphaFlag == 1; }
- bool HasAlpha() const { return !!(m_AlphaFlag & 2); }
- bool IsOpaqueImage() const { return !(m_AlphaFlag & 3); }
- bool IsCmykImage() const { return !!(m_AlphaFlag & 4); }
-
- int GetPaletteSize() const {
- return IsAlphaMask() ? 0 : (m_bpp == 1 ? 2 : (m_bpp == 8 ? 256 : 0));
- }
-
- uint32_t GetPaletteEntry(int index) const;
-
- void SetPaletteEntry(int index, uint32_t color);
- uint32_t GetPaletteArgb(int index) const { return GetPaletteEntry(index); }
- void SetPaletteArgb(int index, uint32_t color) {
- SetPaletteEntry(index, color);
- }
-
- void CopyPalette(const uint32_t* pSrcPal);
-
- CFX_DIBitmap* Clone(const FX_RECT* pClip = nullptr) const;
- CFX_DIBitmap* CloneConvert(FXDIB_Format format) const;
-
- CFX_DIBitmap* StretchTo(int dest_width,
- int dest_height,
- uint32_t flags = 0,
- const FX_RECT* pClip = nullptr) const;
- CFX_DIBitmap* TransformTo(const CFX_Matrix* pMatrix,
- int& left,
- int& top,
- uint32_t flags = 0,
- const FX_RECT* pClip = nullptr) const;
-
- CFX_DIBitmap* GetAlphaMask(const FX_RECT* pClip = nullptr) const;
- FX_BOOL CopyAlphaMask(const CFX_DIBSource* pAlphaMask,
- const FX_RECT* pClip = nullptr);
-
- CFX_DIBitmap* SwapXY(FX_BOOL bXFlip,
- FX_BOOL bYFlip,
- const FX_RECT* pClip = nullptr) const;
-
- CFX_DIBitmap* FlipImage(FX_BOOL bXFlip, FX_BOOL bYFlip) const;
-
- void GetOverlapRect(int& dest_left,
- int& dest_top,
- int& width,
- int& height,
- int src_width,
- int src_height,
- int& src_left,
- int& src_top,
- const CFX_ClipRgn* pClipRgn);
-
-#if defined _SKIA_SUPPORT_
- void DebugVerifyBitmapIsPreMultiplied(void* buffer = nullptr) const;
-#endif
-
- CFX_DIBitmap* m_pAlphaMask;
-
- protected:
- CFX_DIBSource();
-
- void BuildPalette();
- FX_BOOL BuildAlphaMask();
- int FindPalette(uint32_t color) const;
- void GetPalette(uint32_t* pal, int alpha) const;
-
- int m_Width;
- int m_Height;
- int m_bpp;
- uint32_t m_AlphaFlag;
- uint32_t m_Pitch;
- // TODO(weili): Use std::vector for this.
- std::unique_ptr<uint32_t, FxFreeDeleter> m_pPalette;
-};
-
-class CFX_DIBitmap : public CFX_DIBSource {
- public:
- CFX_DIBitmap();
- explicit CFX_DIBitmap(const CFX_DIBitmap& src);
- ~CFX_DIBitmap() override;
-
- FX_BOOL Create(int width,
- int height,
- FXDIB_Format format,
- uint8_t* pBuffer = nullptr,
- int pitch = 0);
-
- FX_BOOL Copy(const CFX_DIBSource* pSrc);
-
- // CFX_DIBSource
- uint8_t* GetBuffer() const override;
- const uint8_t* GetScanline(int line) const override;
- void DownSampleScanline(int line,
- uint8_t* dest_scan,
- int dest_bpp,
- int dest_width,
- FX_BOOL bFlipX,
- int clip_left,
- int clip_width) const override;
-
- void TakeOver(CFX_DIBitmap* pSrcBitmap);
-
- FX_BOOL ConvertFormat(FXDIB_Format format);
-
- void Clear(uint32_t color);
-
- uint32_t GetPixel(int x, int y) const;
-
- void SetPixel(int x, int y, uint32_t color);
-
- FX_BOOL LoadChannel(FXDIB_Channel destChannel,
- const CFX_DIBSource* pSrcBitmap,
- FXDIB_Channel srcChannel);
-
- FX_BOOL LoadChannel(FXDIB_Channel destChannel, int value);
-
- FX_BOOL MultiplyAlpha(int alpha);
-
- FX_BOOL MultiplyAlpha(const CFX_DIBSource* pAlphaMask);
-
- FX_BOOL TransferBitmap(int dest_left,
- int dest_top,
- int width,
- int height,
- const CFX_DIBSource* pSrcBitmap,
- int src_left,
- int src_top);
-
- FX_BOOL CompositeBitmap(int dest_left,
- int dest_top,
- int width,
- int height,
- const CFX_DIBSource* pSrcBitmap,
- int src_left,
- int src_top,
- int blend_type = FXDIB_BLEND_NORMAL,
- const CFX_ClipRgn* pClipRgn = nullptr,
- FX_BOOL bRgbByteOrder = FALSE,
- void* pIccTransform = nullptr);
-
- FX_BOOL TransferMask(int dest_left,
- int dest_top,
- int width,
- int height,
- const CFX_DIBSource* pMask,
- uint32_t color,
- int src_left,
- int src_top,
- int alpha_flag = 0,
- void* pIccTransform = nullptr);
-
- FX_BOOL CompositeMask(int dest_left,
- int dest_top,
- int width,
- int height,
- const CFX_DIBSource* pMask,
- uint32_t color,
- int src_left,
- int src_top,
- int blend_type = FXDIB_BLEND_NORMAL,
- const CFX_ClipRgn* pClipRgn = nullptr,
- FX_BOOL bRgbByteOrder = FALSE,
- int alpha_flag = 0,
- void* pIccTransform = nullptr);
-
- FX_BOOL CompositeRect(int dest_left,
- int dest_top,
- int width,
- int height,
- uint32_t color,
- int alpha_flag = 0,
- void* pIccTransform = nullptr);
-
- FX_BOOL ConvertColorScale(uint32_t forecolor, uint32_t backcolor);
-
- protected:
- FX_BOOL GetGrayData(void* pIccTransform = nullptr);
-
- uint8_t* m_pBuffer;
- FX_BOOL m_bExtBuf;
-};
-
-class CFX_DIBExtractor {
- public:
- explicit CFX_DIBExtractor(const CFX_DIBSource* pSrc);
- ~CFX_DIBExtractor();
-
- CFX_DIBitmap* GetBitmap() { return m_pBitmap.get(); }
-
- private:
- std::unique_ptr<CFX_DIBitmap> m_pBitmap;
-};
-
-typedef CFX_CountRef<CFX_DIBitmap> CFX_DIBitmapRef;
-
-class CFX_FilteredDIB : public CFX_DIBSource {
- public:
- CFX_FilteredDIB();
- ~CFX_FilteredDIB() override;
-
- void LoadSrc(const CFX_DIBSource* pSrc, FX_BOOL bAutoDropSrc = FALSE);
-
- virtual FXDIB_Format GetDestFormat() = 0;
-
- virtual uint32_t* GetDestPalette() = 0;
-
- virtual void TranslateScanline(const uint8_t* src_buf,
- std::vector<uint8_t>* dest_buf) const = 0;
-
- virtual void TranslateDownSamples(uint8_t* dest_buf,
- const uint8_t* src_buf,
- int pixels,
- int Bpp) const = 0;
-
- protected:
- // CFX_DIBSource
- const uint8_t* GetScanline(int line) const override;
- void DownSampleScanline(int line,
- uint8_t* dest_scan,
- int dest_bpp,
- int dest_width,
- FX_BOOL bFlipX,
- int clip_left,
- int clip_width) const override;
-
- const CFX_DIBSource* m_pSrc;
- FX_BOOL m_bAutoDropSrc;
- mutable std::vector<uint8_t> m_Scanline;
-};
-
-class IFX_ScanlineComposer {
- public:
- virtual ~IFX_ScanlineComposer() {}
-
- virtual void ComposeScanline(int line,
- const uint8_t* scanline,
- const uint8_t* scan_extra_alpha = nullptr) = 0;
-
- virtual FX_BOOL SetInfo(int width,
- int height,
- FXDIB_Format src_format,
- uint32_t* pSrcPalette) = 0;
-};
-
-class CFX_ScanlineCompositor {
- public:
- CFX_ScanlineCompositor();
-
- ~CFX_ScanlineCompositor();
-
- FX_BOOL Init(FXDIB_Format dest_format,
- FXDIB_Format src_format,
- int32_t width,
- uint32_t* pSrcPalette,
- uint32_t mask_color,
- int blend_type,
- FX_BOOL bClip,
- FX_BOOL bRgbByteOrder = FALSE,
- int alpha_flag = 0,
- void* pIccTransform = nullptr);
-
- void CompositeRgbBitmapLine(uint8_t* dest_scan,
- const uint8_t* src_scan,
- int width,
- const uint8_t* clip_scan,
- const uint8_t* src_extra_alpha = nullptr,
- uint8_t* dst_extra_alpha = nullptr);
-
- void CompositePalBitmapLine(uint8_t* dest_scan,
- const uint8_t* src_scan,
- int src_left,
- int width,
- const uint8_t* clip_scan,
- const uint8_t* src_extra_alpha = nullptr,
- uint8_t* dst_extra_alpha = nullptr);
-
- void CompositeByteMaskLine(uint8_t* dest_scan,
- const uint8_t* src_scan,
- int width,
- const uint8_t* clip_scan,
- uint8_t* dst_extra_alpha = nullptr);
-
- void CompositeBitMaskLine(uint8_t* dest_scan,
- const uint8_t* src_scan,
- int src_left,
- int width,
- const uint8_t* clip_scan,
- uint8_t* dst_extra_alpha = nullptr);
-
- protected:
- int m_Transparency;
- FXDIB_Format m_SrcFormat, m_DestFormat;
- uint32_t* m_pSrcPalette;
-
- int m_MaskAlpha, m_MaskRed, m_MaskGreen, m_MaskBlue, m_MaskBlack;
- int m_BlendType;
- void* m_pIccTransform;
- uint8_t* m_pCacheScanline;
- int m_CacheSize;
- FX_BOOL m_bRgbByteOrder;
-};
-
-class CFX_BitmapComposer : public IFX_ScanlineComposer {
- public:
- CFX_BitmapComposer();
- ~CFX_BitmapComposer() override;
-
- void Compose(CFX_DIBitmap* pDest,
- const CFX_ClipRgn* pClipRgn,
- int bitmap_alpha,
- uint32_t mask_color,
- FX_RECT& dest_rect,
- FX_BOOL bVertical,
- FX_BOOL bFlipX,
- FX_BOOL bFlipY,
- FX_BOOL bRgbByteOrder = FALSE,
- int alpha_flag = 0,
- void* pIccTransform = nullptr,
- int blend_type = FXDIB_BLEND_NORMAL);
-
- // IFX_ScanlineComposer
- FX_BOOL SetInfo(int width,
- int height,
- FXDIB_Format src_format,
- uint32_t* pSrcPalette) override;
-
- void ComposeScanline(int line,
- const uint8_t* scanline,
- const uint8_t* scan_extra_alpha) override;
-
- protected:
- void DoCompose(uint8_t* dest_scan,
- const uint8_t* src_scan,
- int dest_width,
- const uint8_t* clip_scan,
- const uint8_t* src_extra_alpha = nullptr,
- uint8_t* dst_extra_alpha = nullptr);
- CFX_DIBitmap* m_pBitmap;
- const CFX_ClipRgn* m_pClipRgn;
- FXDIB_Format m_SrcFormat;
- int m_DestLeft, m_DestTop, m_DestWidth, m_DestHeight, m_BitmapAlpha;
- uint32_t m_MaskColor;
- const CFX_DIBitmap* m_pClipMask;
- CFX_ScanlineCompositor m_Compositor;
- FX_BOOL m_bVertical, m_bFlipX, m_bFlipY;
- int m_AlphaFlag;
- void* m_pIccTransform;
- FX_BOOL m_bRgbByteOrder;
- int m_BlendType;
- void ComposeScanlineV(int line,
- const uint8_t* scanline,
- const uint8_t* scan_extra_alpha = nullptr);
- uint8_t* m_pScanlineV;
- uint8_t* m_pClipScanV;
- uint8_t* m_pAddClipScan;
- uint8_t* m_pScanlineAlphaV;
-};
-
-class CFX_BitmapStorer : public IFX_ScanlineComposer {
- public:
- CFX_BitmapStorer();
- ~CFX_BitmapStorer() override;
-
- // IFX_ScanlineComposer
- void ComposeScanline(int line,
- const uint8_t* scanline,
- const uint8_t* scan_extra_alpha) override;
- FX_BOOL SetInfo(int width,
- int height,
- FXDIB_Format src_format,
- uint32_t* pSrcPalette) override;
-
- CFX_DIBitmap* GetBitmap() { return m_pBitmap.get(); }
- std::unique_ptr<CFX_DIBitmap> Detach();
- void Replace(std::unique_ptr<CFX_DIBitmap> pBitmap);
-
- private:
- std::unique_ptr<CFX_DIBitmap> m_pBitmap;
-};
-
-class CFX_ImageStretcher {
- public:
- CFX_ImageStretcher(IFX_ScanlineComposer* pDest,
- const CFX_DIBSource* pSource,
- int dest_width,
- int dest_height,
- const FX_RECT& bitmap_rect,
- uint32_t flags);
- ~CFX_ImageStretcher();
-
- FX_BOOL Start();
- FX_BOOL Continue(IFX_Pause* pPause);
-
- const CFX_DIBSource* source() { return m_pSource; }
-
- private:
- FX_BOOL StartQuickStretch();
- FX_BOOL StartStretch();
- FX_BOOL ContinueQuickStretch(IFX_Pause* pPause);
- FX_BOOL ContinueStretch(IFX_Pause* pPause);
-
- IFX_ScanlineComposer* const m_pDest;
- const CFX_DIBSource* const m_pSource;
- std::unique_ptr<CStretchEngine> m_pStretchEngine;
- std::unique_ptr<uint8_t, FxFreeDeleter> m_pScanline;
- std::unique_ptr<uint8_t, FxFreeDeleter> m_pMaskScanline;
- const uint32_t m_Flags;
- FX_BOOL m_bFlipX;
- FX_BOOL m_bFlipY;
- int m_DestWidth;
- int m_DestHeight;
- FX_RECT m_ClipRect;
- const FXDIB_Format m_DestFormat;
- const int m_DestBPP;
- int m_LineIndex;
-};
-
-class CFX_ImageTransformer {
- public:
- CFX_ImageTransformer(const CFX_DIBSource* pSrc,
- const CFX_Matrix* pMatrix,
- int flags,
- const FX_RECT* pClip);
- ~CFX_ImageTransformer();
-
- FX_BOOL Start();
- FX_BOOL Continue(IFX_Pause* pPause);
-
- const FX_RECT& result() const { return m_result; }
- std::unique_ptr<CFX_DIBitmap> DetachBitmap();
-
- private:
- const CFX_DIBSource* const m_pSrc;
- const CFX_Matrix* const m_pMatrix;
- const FX_RECT* const m_pClip;
- FX_RECT m_StretchClip;
- FX_RECT m_result;
- CFX_Matrix m_dest2stretch;
- std::unique_ptr<CFX_ImageStretcher> m_Stretcher;
- CFX_BitmapStorer m_Storer;
- const uint32_t m_Flags;
- int m_Status;
-};
-
-class CFX_ImageRenderer {
- public:
- CFX_ImageRenderer();
- ~CFX_ImageRenderer();
-
- FX_BOOL Start(CFX_DIBitmap* pDevice,
- const CFX_ClipRgn* pClipRgn,
- const CFX_DIBSource* pSource,
- int bitmap_alpha,
- uint32_t mask_color,
- const CFX_Matrix* pMatrix,
- uint32_t dib_flags,
- FX_BOOL bRgbByteOrder = FALSE,
- int alpha_flag = 0,
- void* pIccTransform = nullptr,
- int blend_type = FXDIB_BLEND_NORMAL);
-
- FX_BOOL Continue(IFX_Pause* pPause);
-
- protected:
- CFX_DIBitmap* m_pDevice;
- const CFX_ClipRgn* m_pClipRgn;
- int m_BitmapAlpha;
- uint32_t m_MaskColor;
- CFX_Matrix m_Matrix;
- std::unique_ptr<CFX_ImageTransformer> m_pTransformer;
- std::unique_ptr<CFX_ImageStretcher> m_Stretcher;
- CFX_BitmapComposer m_Composer;
- int m_Status;
- FX_RECT m_ClipBox;
- uint32_t m_Flags;
- int m_AlphaFlag;
- void* m_pIccTransform;
- FX_BOOL m_bRgbByteOrder;
- int m_BlendType;
-};
-
-#endif // CORE_FXGE_INCLUDE_FX_DIB_H_
diff --git a/core/fxge/include/fx_font.h b/core/fxge/include/fx_font.h
deleted file mode 100644
index 2151bf65bb..0000000000
--- a/core/fxge/include/fx_font.h
+++ /dev/null
@@ -1,248 +0,0 @@
-// 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_FX_FONT_H_
-#define CORE_FXGE_INCLUDE_FX_FONT_H_
-
-#include <memory>
-#include <vector>
-
-#include "core/fxcrt/fx_system.h"
-#include "core/fxge/include/cfx_substfont.h"
-#include "core/fxge/include/fx_dib.h"
-#include "core/fxge/include/fx_freetype.h"
-
-typedef struct FT_FaceRec_* FXFT_Face;
-typedef void* FXFT_Library;
-
-class CFX_FaceCache;
-class CFX_GlyphBitmap;
-class CFX_PathData;
-class CFX_SizeGlyphCache;
-
-#ifdef _SKIA_SUPPORT_
-class SkTypeface;
-
-using CFX_TypeFace = SkTypeface;
-#endif
-
-/* Character sets for the font */
-#define FXFONT_ANSI_CHARSET 0
-#define FXFONT_DEFAULT_CHARSET 1
-#define FXFONT_SYMBOL_CHARSET 2
-#define FXFONT_SHIFTJIS_CHARSET 128
-#define FXFONT_HANGUL_CHARSET 129
-#define FXFONT_GB2312_CHARSET 134
-#define FXFONT_CHINESEBIG5_CHARSET 136
-#define FXFONT_THAI_CHARSET 222
-#define FXFONT_EASTEUROPE_CHARSET 238
-#define FXFONT_RUSSIAN_CHARSET 204
-#define FXFONT_GREEK_CHARSET 161
-#define FXFONT_TURKISH_CHARSET 162
-#define FXFONT_HEBREW_CHARSET 177
-#define FXFONT_ARABIC_CHARSET 178
-#define FXFONT_BALTIC_CHARSET 186
-#define FXFONT_JOHAB_CHARSET 130
-#define FXFONT_VIETNAMESE_CHARSET 163
-
-/* Font pitch and family flags */
-#define FXFONT_FF_FIXEDPITCH 1
-#define FXFONT_FF_ROMAN (1 << 4)
-#define FXFONT_FF_SCRIPT (4 << 4)
-
-/* Typical weight values */
-#define FXFONT_FW_NORMAL 400
-#define FXFONT_FW_BOLD 700
-
-/* Font styles */
-#define FXFONT_FIXED_PITCH 0x01
-#define FXFONT_SERIF 0x02
-#define FXFONT_SYMBOLIC 0x04
-#define FXFONT_SCRIPT 0x08
-#define FXFONT_ITALIC 0x40
-#define FXFONT_BOLD 0x40000
-#define FXFONT_USEEXTERNATTR 0x80000
-#define FXFONT_CIDFONT 0x100000
-#ifdef PDF_ENABLE_XFA
-#define FXFONT_EXACTMATCH 0x80000000
-#endif // PDF_ENABLE_XFA
-
-#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
-
-#define GET_TT_SHORT(w) (uint16_t)(((w)[0] << 8) | (w)[1])
-#define GET_TT_LONG(w) \
- (uint32_t)(((w)[0] << 24) | ((w)[1] << 16) | ((w)[2] << 8) | (w)[3])
-
-// Sets the given transform on the font, and resets it to the identity when it
-// goes out of scope.
-class ScopedFontTransform {
- public:
- ScopedFontTransform(FT_Face face, FXFT_Matrix* matrix);
- ~ScopedFontTransform();
-
- private:
- FT_Face m_Face;
-};
-
-class CFX_Font {
- public:
- CFX_Font();
- ~CFX_Font();
-
- void LoadSubst(const CFX_ByteString& face_name,
- FX_BOOL bTrueType,
- uint32_t flags,
- int weight,
- int italic_angle,
- int CharsetCP,
- bool bVertical);
-
- FX_BOOL LoadEmbedded(const uint8_t* data, uint32_t size);
- FXFT_Face GetFace() const { return m_Face; }
- CFX_SubstFont* GetSubstFont() const { return m_pSubstFont.get(); }
-
-#ifdef PDF_ENABLE_XFA
- FX_BOOL LoadFile(IFX_FileRead* pFile,
- int nFaceIndex = 0,
- int* pFaceCount = nullptr);
-
- FX_BOOL LoadClone(const CFX_Font* pFont);
- void SetFace(FXFT_Face face);
- void SetSubstFont(std::unique_ptr<CFX_SubstFont> subst) {
- m_pSubstFont = std::move(subst);
- }
-#endif // PDF_ENABLE_XFA
-
- const CFX_GlyphBitmap* LoadGlyphBitmap(uint32_t glyph_index,
- FX_BOOL bFontStyle,
- const CFX_Matrix* pMatrix,
- int dest_width,
- int anti_alias,
- int& text_flags) const;
- const CFX_PathData* LoadGlyphPath(uint32_t glyph_index, int dest_width) const;
-
-#ifdef _SKIA_SUPPORT_
- CFX_TypeFace* GetDeviceCache() const;
-#endif
-
- int GetGlyphWidth(uint32_t glyph_index);
- int GetAscent() const;
- int GetDescent() const;
- FX_BOOL GetGlyphBBox(uint32_t glyph_index, FX_RECT& bbox);
- bool IsItalic() const;
- bool IsBold() const;
- bool IsFixedWidth() const;
- bool IsVertical() const { return m_bVertical; }
- CFX_ByteString GetPsName() const;
- CFX_ByteString GetFamilyName() const;
- CFX_ByteString GetFaceName() const;
- bool IsTTFont() const;
- FX_BOOL GetBBox(FX_RECT& bbox);
- int GetHeight() const;
- int GetULPos() const;
- int GetULthickness() const;
- int GetMaxAdvanceWidth() const;
- FX_BOOL IsEmbedded() const { return m_bEmbedded; }
- uint8_t* GetSubData() const { return m_pGsubData; }
- void SetSubData(uint8_t* data) { m_pGsubData = data; }
-#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- void* GetPlatformFont() const { return m_pPlatformFont; }
- void SetPlatformFont(void* font) { m_pPlatformFont = font; }
-#endif
- uint8_t* GetFontData() const { return m_pFontData; }
- uint32_t GetSize() const { return m_dwSize; }
- void AdjustMMParams(int glyph_index, int width, int weight) const;
-
- static const size_t kAngleSkewArraySize = 30;
- static const char s_AngleSkew[kAngleSkewArraySize];
- static const size_t kWeightPowArraySize = 100;
- static const uint8_t s_WeightPow[kWeightPowArraySize];
- static const uint8_t s_WeightPow_11[kWeightPowArraySize];
- static const uint8_t s_WeightPow_SHIFTJIS[kWeightPowArraySize];
-
-#ifdef PDF_ENABLE_XFA
- protected:
- CFX_BinaryBuf m_OtfFontData;
- bool m_bShallowCopy;
- FXFT_StreamRec* m_pOwnedStream;
-#endif // PDF_ENABLE_XFA
-
- private:
- friend class CFX_FaceCache;
- CFX_PathData* LoadGlyphPathImpl(uint32_t glyph_index,
- int dest_width = 0) const;
-
- private:
- CFX_FaceCache* GetFaceCache() const;
-
- void ReleasePlatformResource();
- void DeleteFace();
-
- void ClearFaceCache();
-
- FXFT_Face m_Face;
- mutable CFX_FaceCache* m_FaceCache; // not owned.
- std::unique_ptr<CFX_SubstFont> m_pSubstFont;
- std::vector<uint8_t> m_pFontDataAllocation;
- uint8_t* m_pFontData;
- uint8_t* m_pGsubData;
- uint32_t m_dwSize;
-#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- void* m_pPlatformFont;
-#endif
- bool m_bEmbedded;
- bool m_bVertical;
-};
-
-class CFX_FontFaceInfo {
- public:
- CFX_FontFaceInfo(CFX_ByteString filePath,
- CFX_ByteString faceName,
- CFX_ByteString fontTables,
- uint32_t fontOffset,
- uint32_t fileSize);
-
- const CFX_ByteString m_FilePath;
- const CFX_ByteString m_FaceName;
- const CFX_ByteString m_FontTables;
- const uint32_t m_FontOffset;
- const uint32_t m_FileSize;
- uint32_t m_Styles;
- uint32_t m_Charsets;
-};
-
-class CFX_GlyphBitmap {
- public:
- int m_Top;
- int m_Left;
- CFX_DIBitmap m_Bitmap;
-};
-
-struct FXTEXT_GLYPHPOS {
- const CFX_GlyphBitmap* m_pGlyph;
- int m_OriginX;
- int m_OriginY;
- FX_FLOAT m_fOriginX;
- FX_FLOAT m_fOriginY;
-};
-
-FX_RECT FXGE_GetGlyphsBBox(const std::vector<FXTEXT_GLYPHPOS>& glyphs,
- int anti_alias,
- FX_FLOAT retinaScaleX = 1.0f,
- FX_FLOAT retinaScaleY = 1.0f);
-
-CFX_ByteString GetNameFromTT(const uint8_t* name_table,
- uint32_t name_table_size,
- uint32_t name);
-
-int PDF_GetStandardFontName(CFX_ByteString* name);
-
-#endif // CORE_FXGE_INCLUDE_FX_FONT_H_
diff --git a/core/fxge/include/fx_freetype.h b/core/fxge/include/fx_freetype.h
deleted file mode 100644
index 533974dc2e..0000000000
--- a/core/fxge/include/fx_freetype.h
+++ /dev/null
@@ -1,180 +0,0 @@
-// 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_FX_FREETYPE_H_
-#define CORE_FXGE_INCLUDE_FX_FREETYPE_H_
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_GLYPH_H
-#include FT_LCD_FILTER_H
-#include FT_MULTIPLE_MASTERS_H
-#include FT_OUTLINE_H
-#include FT_TRUETYPE_TABLES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define FXFT_ENCODING_UNICODE FT_ENCODING_UNICODE
-#define FXFT_ENCODING_ADOBE_STANDARD FT_ENCODING_ADOBE_STANDARD
-#define FXFT_ENCODING_ADOBE_EXPERT FT_ENCODING_ADOBE_EXPERT
-#define FXFT_ENCODING_ADOBE_LATIN_1 FT_ENCODING_ADOBE_LATIN_1
-#define FXFT_ENCODING_APPLE_ROMAN FT_ENCODING_APPLE_ROMAN
-#define FXFT_ENCODING_ADOBE_CUSTOM FT_ENCODING_ADOBE_CUSTOM
-#define FXFT_ENCODING_MS_SYMBOL FT_ENCODING_MS_SYMBOL
-#define FXFT_ENCODING_GB2312 FT_ENCODING_GB2312
-#define FXFT_ENCODING_BIG5 FT_ENCODING_BIG5
-#define FXFT_ENCODING_SJIS FT_ENCODING_SJIS
-#define FXFT_ENCODING_JOHAB FT_ENCODING_JOHAB
-#define FXFT_ENCODING_WANSUNG FT_ENCODING_WANSUNG
-#define FXFT_LOAD_NO_SCALE FT_LOAD_NO_SCALE
-#define FXFT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH \
- FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
-#define FXFT_RENDER_MODE_LCD FT_RENDER_MODE_LCD
-#define FXFT_RENDER_MODE_MONO FT_RENDER_MODE_MONO
-#define FXFT_RENDER_MODE_NORMAL FT_RENDER_MODE_NORMAL
-#define FXFT_LOAD_IGNORE_TRANSFORM FT_LOAD_IGNORE_TRANSFORM
-#define FXFT_LOAD_NO_BITMAP FT_LOAD_NO_BITMAP
-#define FXFT_LOAD_NO_HINTING FT_LOAD_NO_HINTING
-#define FXFT_PIXEL_MODE_MONO FT_PIXEL_MODE_MONO
-#define FXFT_STYLE_FLAG_ITALIC FT_STYLE_FLAG_ITALIC
-#define FXFT_STYLE_FLAG_BOLD FT_STYLE_FLAG_BOLD
-#define FXFT_FACE_FLAG_SFNT FT_FACE_FLAG_SFNT
-#define FXFT_FACE_FLAG_TRICKY (1L << 13)
-typedef FT_MM_Var* FXFT_MM_Var;
-typedef FT_Bitmap* FXFT_Bitmap;
-#define FXFT_Matrix FT_Matrix
-#define FXFT_Vector FT_Vector
-#define FXFT_Outline_Funcs FT_Outline_Funcs
-typedef FT_Open_Args FXFT_Open_Args;
-typedef FT_StreamRec FXFT_StreamRec;
-typedef FT_StreamRec* FXFT_Stream;
-typedef FT_BBox FXFT_BBox;
-typedef FT_Glyph FXFT_Glyph;
-typedef FT_CharMap FXFT_CharMap;
-#define FXFT_GLYPH_BBOX_PIXELS FT_GLYPH_BBOX_PIXELS
-#define FXFT_Open_Face(library, args, index, face) \
- FT_Open_Face((FT_Library)(library), args, index, (FT_Face*)(face))
-#define FXFT_Done_Face(face) FT_Done_Face((FT_Face)(face))
-#define FXFT_Done_FreeType(library) FT_Done_FreeType((FT_Library)(library))
-#define FXFT_Init_FreeType(library) FT_Init_FreeType((FT_Library*)(library))
-#define FXFT_New_Memory_Face(library, base, size, index, face) \
- FT_New_Memory_Face((FT_Library)(library), base, size, index, (FT_Face*)(face))
-#define FXFT_New_Face(library, filename, index, face) \
- FT_New_Face((FT_Library)(library), filename, index, (FT_Face*)(face))
-#define FXFT_Get_Face_FreeType(face) ((FT_Face)face)->driver->root.library
-#define FXFT_Select_Charmap(face, encoding) \
- FT_Select_Charmap((FT_Face)face, (FT_Encoding)encoding)
-#define FXFT_Set_Charmap(face, charmap) \
- FT_Set_Charmap((FT_Face)face, (FT_CharMap)charmap)
-#define FXFT_Load_Glyph(face, glyph_index, flags) \
- FT_Load_Glyph((FT_Face)face, glyph_index, flags)
-#define FXFT_Get_Char_Index(face, code) FT_Get_Char_Index((FT_Face)face, code)
-#define FXFT_Get_Glyph_Name(face, index, buffer, size) \
- FT_Get_Glyph_Name((FT_Face)face, index, buffer, size)
-#define FXFT_Get_Name_Index(face, name) FT_Get_Name_Index((FT_Face)face, name)
-#define FXFT_Has_Glyph_Names(face) \
- (((FT_Face)face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES)
-#define FXFT_Get_Postscript_Name(face) FT_Get_Postscript_Name((FT_Face)face)
-#define FXFT_Load_Sfnt_Table(face, tag, offset, buffer, length) \
- FT_Load_Sfnt_Table((FT_Face)face, tag, offset, buffer, length)
-#define FXFT_Get_First_Char(face, glyph_index) \
- FT_Get_First_Char((FT_Face)face, glyph_index)
-#define FXFT_Get_Next_Char(face, code, glyph_index) \
- FT_Get_Next_Char((FT_Face)face, code, glyph_index)
-#define FXFT_Clear_Face_External_Stream(face) \
- (((FT_Face)face)->face_flags &= ~FT_FACE_FLAG_EXTERNAL_STREAM)
-#define FXFT_Get_Face_External_Stream(face) \
- (((FT_Face)face)->face_flags & FT_FACE_FLAG_EXTERNAL_STREAM)
-#define FXFT_Is_Face_TT_OT(face) \
- (((FT_Face)face)->face_flags & FT_FACE_FLAG_SFNT)
-#define FXFT_Is_Face_Tricky(face) \
- (((FT_Face)face)->face_flags & FXFT_FACE_FLAG_TRICKY)
-#define FXFT_Is_Face_fixedwidth(face) \
- (((FT_Face)face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH)
-#define FXFT_Get_Face_Stream_Base(face) ((FT_Face)face)->stream->base
-#define FXFT_Get_Face_Stream_Size(face) ((FT_Face)face)->stream->size
-#define FXFT_Get_Face_Family_Name(face) ((FT_Face)face)->family_name
-#define FXFT_Get_Face_Style_Name(face) ((FT_Face)face)->style_name
-#define FXFT_Get_Face_Numfaces(face) ((FT_Face)face)->num_faces
-#define FXFT_Get_Face_Faceindex(face) ((FT_Face)face)->face_index
-#define FXFT_Is_Face_Italic(face) \
- (((FT_Face)face)->style_flags & FT_STYLE_FLAG_ITALIC)
-#define FXFT_Is_Face_Bold(face) \
- (((FT_Face)face)->style_flags & FT_STYLE_FLAG_BOLD)
-#define FXFT_Get_Face_Charmaps(face) ((FT_Face)face)->charmaps
-#define FXFT_Get_Glyph_HoriBearingX(face) \
- ((FT_Face)face)->glyph->metrics.horiBearingX
-#define FXFT_Get_Glyph_HoriBearingY(face) \
- ((FT_Face)face)->glyph->metrics.horiBearingY
-#define FXFT_Get_Glyph_Width(face) ((FT_Face)face)->glyph->metrics.width
-#define FXFT_Get_Glyph_Height(face) ((FT_Face)face)->glyph->metrics.height
-#define FXFT_Get_Face_CharmapCount(face) ((FT_Face)face)->num_charmaps
-#define FXFT_Get_Charmap_Encoding(charmap) ((FT_CharMap)charmap)->encoding
-#define FXFT_Get_Face_Charmap(face) ((FT_Face)face)->charmap
-#define FXFT_Get_Charmap_PlatformID(charmap) ((FT_CharMap)charmap)->platform_id
-#define FXFT_Get_Charmap_EncodingID(charmap) ((FT_CharMap)charmap)->encoding_id
-#define FXFT_Get_Face_UnitsPerEM(face) ((FT_Face)face)->units_per_EM
-#define FXFT_Get_Face_xMin(face) ((FT_Face)face)->bbox.xMin
-#define FXFT_Get_Face_xMax(face) ((FT_Face)face)->bbox.xMax
-#define FXFT_Get_Face_yMin(face) ((FT_Face)face)->bbox.yMin
-#define FXFT_Get_Face_yMax(face) ((FT_Face)face)->bbox.yMax
-#define FXFT_Get_Face_Height(face) ((FT_Face)face)->height
-#define FXFT_Get_Face_UnderLineThickness(face) \
- ((FT_Face)face)->underline_thickness
-#define FXFT_Get_Face_UnderLinePosition(face) \
- ((FT_Face)face)->underline_position
-#define FXFT_Get_Face_MaxAdvanceWidth(face) ((FT_Face)face)->max_advance_width
-#define FXFT_Get_Face_Ascender(face) ((FT_Face)face)->ascender
-#define FXFT_Get_Face_Descender(face) ((FT_Face)face)->descender
-#define FXFT_Get_Glyph_HoriAdvance(face) \
- ((FT_Face)face)->glyph->metrics.horiAdvance
-#define FXFT_Get_MM_Axis(var, index) &static_cast<FT_MM_Var*>(var)->axis[index]
-#define FXFT_Get_MM_Axis_Min(axis) ((FT_Var_Axis*)axis)->minimum
-#define FXFT_Get_MM_Axis_Max(axis) ((FT_Var_Axis*)axis)->maximum
-#define FXFT_Get_MM_Axis_Def(axis) ((FT_Var_Axis*)axis)->def
-#define FXFT_Alloc(library, size) \
- ((FT_Library)library)->memory->alloc(((FT_Library)library)->memory, size)
-#define FXFT_Free(face, p) \
- ((FT_Face)face)->memory->free(((FT_Face)face)->memory, p)
-#define FXFT_Get_Glyph_Outline(face) &static_cast<FT_Face>(face)->glyph->outline
-#define FXFT_Get_Outline_Bbox(outline, cbox) FT_Outline_Get_CBox(outline, cbox)
-#define FXFT_Render_Glyph(face, mode) \
- FT_Render_Glyph(((FT_Face)face)->glyph, (enum FT_Render_Mode_)mode)
-#define FXFT_Get_MM_Var(face, p) FT_Get_MM_Var((FT_Face)face, p)
-#define FXFT_Set_MM_Design_Coordinates(face, n, p) \
- FT_Set_MM_Design_Coordinates((FT_Face)face, n, p)
-#define FXFT_Set_Pixel_Sizes(face, w, h) FT_Set_Pixel_Sizes((FT_Face)face, w, h)
-#define FXFT_Set_Transform(face, m, d) FT_Set_Transform((FT_Face)face, m, d)
-#define FXFT_Outline_Embolden(outline, s) FT_Outline_Embolden(outline, s)
-#define FXFT_Get_Glyph_Bitmap(face) &static_cast<FT_Face>(face)->glyph->bitmap
-#define FXFT_Get_Bitmap_Width(bitmap) ((FT_Bitmap*)bitmap)->width
-#define FXFT_Get_Bitmap_Rows(bitmap) ((FT_Bitmap*)bitmap)->rows
-#define FXFT_Get_Bitmap_PixelMode(bitmap) ((FT_Bitmap*)bitmap)->pixel_mode
-#define FXFT_Get_Bitmap_Pitch(bitmap) ((FT_Bitmap*)bitmap)->pitch
-#define FXFT_Get_Bitmap_Buffer(bitmap) ((FT_Bitmap*)bitmap)->buffer
-#define FXFT_Get_Glyph_BitmapLeft(face) ((FT_Face)face)->glyph->bitmap_left
-#define FXFT_Get_Glyph_BitmapTop(face) ((FT_Face)face)->glyph->bitmap_top
-#define FXFT_Outline_Decompose(outline, funcs, params) \
- FT_Outline_Decompose(outline, funcs, params)
-#define FXFT_Set_Char_Size(face, char_width, char_height, horz_resolution, \
- vert_resolution) \
- FT_Set_Char_Size(face, char_width, char_height, horz_resolution, \
- vert_resolution)
-#define FXFT_Get_Glyph(slot, aglyph) FT_Get_Glyph(slot, aglyph)
-#define FXFT_Glyph_Get_CBox(glyph, bbox_mode, acbox) \
- FT_Glyph_Get_CBox(glyph, bbox_mode, acbox)
-#define FXFT_Done_Glyph(glyph) FT_Done_Glyph(glyph)
-#define FXFT_Library_SetLcdFilter(library, filter) \
- FT_Library_SetLcdFilter((FT_Library)(library), filter)
-int FXFT_unicode_from_adobe_name(const char* glyph_name);
-void FXFT_adobe_name_from_unicode(char* name, wchar_t unicode);
-#ifdef __cplusplus
-};
-#endif
-
-#endif // CORE_FXGE_INCLUDE_FX_FREETYPE_H_
diff --git a/core/fxge/include/ifx_renderdevicedriver.h b/core/fxge/include/ifx_renderdevicedriver.h
deleted file mode 100644
index 995e82d654..0000000000
--- a/core/fxge/include/ifx_renderdevicedriver.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2016 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_IFX_RENDERDEVICEDRIVER_H_
-#define CORE_FXGE_INCLUDE_IFX_RENDERDEVICEDRIVER_H_
-
-#include "core/fxcrt/fx_system.h"
-
-class CFX_DIBitmap;
-class CFX_DIBSource;
-class CFX_Font;
-class CFX_GraphStateData;
-class CFX_Matrix;
-class CFX_PathData;
-class CPDF_ShadingPattern;
-class IFX_Pause;
-struct FXTEXT_CHARPOS;
-struct FX_RECT;
-
-class IFX_RenderDeviceDriver {
- public:
- virtual ~IFX_RenderDeviceDriver();
-
- virtual int GetDeviceCaps(int caps_id) const = 0;
- virtual CFX_Matrix GetCTM() const;
-
- virtual FX_BOOL StartRendering();
- virtual void EndRendering();
- virtual void SaveState() = 0;
- virtual void RestoreState(bool bKeepSaved) = 0;
-
- virtual FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- int fill_mode) = 0;
- virtual FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState);
- virtual FX_BOOL DrawPath(const CFX_PathData* pPathData,
- const CFX_Matrix* pObject2Device,
- const CFX_GraphStateData* pGraphState,
- uint32_t fill_color,
- uint32_t stroke_color,
- int fill_mode,
- int blend_type) = 0;
- virtual FX_BOOL SetPixel(int x, int y, uint32_t color);
- virtual FX_BOOL FillRectWithBlend(const FX_RECT* pRect,
- uint32_t fill_color,
- int blend_type);
- virtual FX_BOOL DrawCosmeticLine(FX_FLOAT x1,
- FX_FLOAT y1,
- FX_FLOAT x2,
- FX_FLOAT y2,
- uint32_t color,
- int blend_type);
-
- virtual FX_BOOL GetClipBox(FX_RECT* pRect) = 0;
- virtual FX_BOOL GetDIBits(CFX_DIBitmap* pBitmap, int left, int top);
- virtual CFX_DIBitmap* GetBackDrop();
- virtual FX_BOOL SetDIBits(const CFX_DIBSource* pBitmap,
- uint32_t color,
- const FX_RECT* pSrcRect,
- int dest_left,
- int dest_top,
- int blend_type) = 0;
- virtual FX_BOOL StretchDIBits(const CFX_DIBSource* pBitmap,
- uint32_t color,
- int dest_left,
- int dest_top,
- int dest_width,
- int dest_height,
- const FX_RECT* pClipRect,
- uint32_t flags,
- int blend_type) = 0;
- virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap,
- int bitmap_alpha,
- uint32_t color,
- const CFX_Matrix* pMatrix,
- uint32_t flags,
- void*& handle,
- int blend_type) = 0;
- virtual FX_BOOL ContinueDIBits(void* handle, IFX_Pause* pPause);
- virtual void CancelDIBits(void* handle);
- virtual FX_BOOL DrawDeviceText(int nChars,
- const FXTEXT_CHARPOS* pCharPos,
- CFX_Font* pFont,
- const CFX_Matrix* pObject2Device,
- FX_FLOAT font_size,
- uint32_t color);
- virtual void* GetPlatformSurface() const;
- virtual int GetDriverType() const;
- virtual void ClearDriver();
- virtual FX_BOOL DrawShading(const CPDF_ShadingPattern* pPattern,
- const CFX_Matrix* pMatrix,
- const FX_RECT& clip_rect,
- int alpha,
- FX_BOOL bAlphaMode);
- virtual bool SetBitsWithMask(const CFX_DIBSource* pBitmap,
- const CFX_DIBSource* pMask,
- int left,
- int top,
- int bitmap_alpha,
- int blend_type);
-};
-
-#endif // CORE_FXGE_INCLUDE_IFX_RENDERDEVICEDRIVER_H_
diff --git a/core/fxge/include/ifx_systemfontinfo.h b/core/fxge/include/ifx_systemfontinfo.h
deleted file mode 100644
index b5bab6fe31..0000000000
--- a/core/fxge/include/ifx_systemfontinfo.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2016 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_IFX_SYSTEMFONTINFO_H_
-#define CORE_FXGE_INCLUDE_IFX_SYSTEMFONTINFO_H_
-
-#include "core/fxge/include/cfx_fontmapper.h"
-#include "core/fxge/include/fx_font.h"
-
-const uint32_t kTableNAME = FXDWORD_GET_MSBFIRST("name");
-const uint32_t kTableTTCF = FXDWORD_GET_MSBFIRST("ttcf");
-
-class IFX_SystemFontInfo {
- public:
- static std::unique_ptr<IFX_SystemFontInfo> CreateDefault(
- const char** pUserPaths);
-
- virtual ~IFX_SystemFontInfo() {}
-
- 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,
- int& iExact) = 0;
-
-#ifdef PDF_ENABLE_XFA
- virtual void* MapFontByUnicode(uint32_t dwUnicode,
- int weight,
- FX_BOOL bItalic,
- int pitch_family);
-#endif // PDF_ENABLE_XFA
-
- virtual void* GetFont(const FX_CHAR* face) = 0;
- virtual uint32_t GetFontData(void* hFont,
- uint32_t table,
- uint8_t* buffer,
- uint32_t size) = 0;
- virtual FX_BOOL GetFaceName(void* hFont, CFX_ByteString& name) = 0;
- virtual FX_BOOL GetFontCharset(void* hFont, int& charset) = 0;
- virtual int GetFaceIndex(void* hFont);
- virtual void DeleteFont(void* hFont) = 0;
-};
-
-#endif // CORE_FXGE_INCLUDE_IFX_SYSTEMFONTINFO_H_