| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef XFA_FWL_THEME_CFWL_WIDGETTP_H_ | 7 #ifndef XFA_FWL_THEME_CFWL_WIDGETTP_H_ |
| 8 #define XFA_FWL_THEME_CFWL_WIDGETTP_H_ | 8 #define XFA_FWL_THEME_CFWL_WIDGETTP_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| 11 #include <vector> | 11 #include <vector> |
| 12 | 12 |
| 13 #include "core/fxcrt/cfx_retain_ptr.h" |
| 13 #include "core/fxcrt/fx_coordinates.h" | 14 #include "core/fxcrt/fx_coordinates.h" |
| 14 #include "core/fxcrt/fx_system.h" | 15 #include "core/fxcrt/fx_system.h" |
| 16 #include "xfa/fgas/font/cfgas_gefont.h" |
| 15 #include "xfa/fwl/fwl_error.h" | 17 #include "xfa/fwl/fwl_error.h" |
| 16 #include "xfa/fwl/theme/cfwl_utils.h" | 18 #include "xfa/fwl/theme/cfwl_utils.h" |
| 17 #include "xfa/fxgraphics/cfx_graphics.h" | 19 #include "xfa/fxgraphics/cfx_graphics.h" |
| 18 | 20 |
| 19 class CFDE_TextOut; | 21 class CFDE_TextOut; |
| 20 class CFGAS_GEFont; | 22 class CFGAS_GEFont; |
| 21 class CFWL_ThemeBackground; | 23 class CFWL_ThemeBackground; |
| 22 class CFWL_ThemePart; | 24 class CFWL_ThemePart; |
| 23 class CFWL_ThemeText; | 25 class CFWL_ThemeText; |
| 24 class CFGAS_FontMgr; | 26 class CFGAS_FontMgr; |
| 25 class CFWL_Widget; | 27 class CFWL_Widget; |
| 26 | 28 |
| 27 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ | 29 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ |
| 28 class CFX_FontSourceEnum_File; | 30 class CFX_FontSourceEnum_File; |
| 29 #endif | 31 #endif |
| 30 | 32 |
| 31 class CFWL_WidgetTP { | 33 class CFWL_WidgetTP { |
| 32 public: | 34 public: |
| 33 virtual ~CFWL_WidgetTP(); | 35 virtual ~CFWL_WidgetTP(); |
| 34 | 36 |
| 35 virtual void Initialize(); | 37 virtual void Initialize(); |
| 36 virtual void Finalize(); | 38 virtual void Finalize(); |
| 37 | 39 |
| 38 virtual void DrawBackground(CFWL_ThemeBackground* pParams); | 40 virtual void DrawBackground(CFWL_ThemeBackground* pParams); |
| 39 virtual void DrawText(CFWL_ThemeText* pParams); | 41 virtual void DrawText(CFWL_ThemeText* pParams); |
| 40 | 42 |
| 41 CFGAS_GEFont* GetFont() const { return m_pFDEFont; } | 43 const CFX_RetainPtr<CFGAS_GEFont>& GetFont() const { return m_pFDEFont; } |
| 42 | 44 |
| 43 protected: | 45 protected: |
| 44 struct CColorData { | 46 struct CColorData { |
| 45 FX_ARGB clrBorder[4]; | 47 FX_ARGB clrBorder[4]; |
| 46 FX_ARGB clrStart[4]; | 48 FX_ARGB clrStart[4]; |
| 47 FX_ARGB clrEnd[4]; | 49 FX_ARGB clrEnd[4]; |
| 48 FX_ARGB clrSign[4]; | 50 FX_ARGB clrSign[4]; |
| 49 }; | 51 }; |
| 50 | 52 |
| 51 CFWL_WidgetTP(); | 53 CFWL_WidgetTP(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 FWLTHEME_STATE eState, | 89 FWLTHEME_STATE eState, |
| 88 CFX_Matrix* pMatrix = nullptr); | 90 CFX_Matrix* pMatrix = nullptr); |
| 89 void DrawArrowBtn(CFX_Graphics* pGraphics, | 91 void DrawArrowBtn(CFX_Graphics* pGraphics, |
| 90 const CFX_RectF* pRect, | 92 const CFX_RectF* pRect, |
| 91 FWLTHEME_DIRECTION eDict, | 93 FWLTHEME_DIRECTION eDict, |
| 92 FWLTHEME_STATE eState, | 94 FWLTHEME_STATE eState, |
| 93 CFX_Matrix* pMatrix = nullptr); | 95 CFX_Matrix* pMatrix = nullptr); |
| 94 | 96 |
| 95 uint32_t m_dwRefCount; | 97 uint32_t m_dwRefCount; |
| 96 std::unique_ptr<CFDE_TextOut> m_pTextOut; | 98 std::unique_ptr<CFDE_TextOut> m_pTextOut; |
| 97 CFGAS_GEFont* m_pFDEFont; | 99 CFX_RetainPtr<CFGAS_GEFont> m_pFDEFont; |
| 98 std::unique_ptr<CColorData> m_pColorData; | 100 std::unique_ptr<CColorData> m_pColorData; |
| 99 }; | 101 }; |
| 100 | 102 |
| 101 void FWLTHEME_Release(); | 103 void FWLTHEME_Release(); |
| 102 | 104 |
| 103 class CFWL_FontData { | 105 class CFWL_FontData { |
| 104 public: | 106 public: |
| 105 CFWL_FontData(); | 107 CFWL_FontData(); |
| 106 virtual ~CFWL_FontData(); | 108 virtual ~CFWL_FontData(); |
| 107 | 109 |
| 108 bool Equal(const CFX_WideStringC& wsFontFamily, | 110 bool Equal(const CFX_WideStringC& wsFontFamily, |
| 109 uint32_t dwFontStyles, | 111 uint32_t dwFontStyles, |
| 110 uint16_t wCodePage); | 112 uint16_t wCodePage); |
| 111 bool LoadFont(const CFX_WideStringC& wsFontFamily, | 113 bool LoadFont(const CFX_WideStringC& wsFontFamily, |
| 112 uint32_t dwFontStyles, | 114 uint32_t dwFontStyles, |
| 113 uint16_t wCodePage); | 115 uint16_t wCodePage); |
| 114 CFGAS_GEFont* GetFont() const { return m_pFont.get(); } | 116 CFX_RetainPtr<CFGAS_GEFont> GetFont() const { return m_pFont; } |
| 115 | 117 |
| 116 protected: | 118 protected: |
| 117 CFX_WideString m_wsFamily; | 119 CFX_WideString m_wsFamily; |
| 118 uint32_t m_dwStyles; | 120 uint32_t m_dwStyles; |
| 119 uint32_t m_dwCodePage; | 121 uint32_t m_dwCodePage; |
| 120 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ | 122 #if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ |
| 121 std::unique_ptr<CFX_FontSourceEnum_File> m_pFontSource; | 123 std::unique_ptr<CFX_FontSourceEnum_File> m_pFontSource; |
| 122 #endif | 124 #endif |
| 123 std::unique_ptr<CFGAS_FontMgr> m_pFontMgr; | 125 std::unique_ptr<CFGAS_FontMgr> m_pFontMgr; |
| 124 std::unique_ptr<CFGAS_GEFont> m_pFont; | 126 CFX_RetainPtr<CFGAS_GEFont> m_pFont; |
| 125 }; | 127 }; |
| 126 | 128 |
| 127 class CFWL_FontManager { | 129 class CFWL_FontManager { |
| 128 public: | 130 public: |
| 129 static CFWL_FontManager* GetInstance(); | 131 static CFWL_FontManager* GetInstance(); |
| 130 static void DestroyInstance(); | 132 static void DestroyInstance(); |
| 131 | 133 |
| 132 CFGAS_GEFont* FindFont(const CFX_WideStringC& wsFontFamily, | 134 CFX_RetainPtr<CFGAS_GEFont> FindFont(const CFX_WideStringC& wsFontFamily, |
| 133 uint32_t dwFontStyles, | 135 uint32_t dwFontStyles, |
| 134 uint16_t dwCodePage); | 136 uint16_t dwCodePage); |
| 135 | 137 |
| 136 protected: | 138 protected: |
| 137 CFWL_FontManager(); | 139 CFWL_FontManager(); |
| 138 virtual ~CFWL_FontManager(); | 140 virtual ~CFWL_FontManager(); |
| 139 | 141 |
| 140 static CFWL_FontManager* s_FontManager; | 142 static CFWL_FontManager* s_FontManager; |
| 141 std::vector<std::unique_ptr<CFWL_FontData>> m_FontsArray; | 143 std::vector<std::unique_ptr<CFWL_FontData>> m_FontsArray; |
| 142 }; | 144 }; |
| 143 | 145 |
| 144 #endif // XFA_FWL_THEME_CFWL_WIDGETTP_H_ | 146 #endif // XFA_FWL_THEME_CFWL_WIDGETTP_H_ |
| OLD | NEW |