| 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 #include "xfa/fwl/theme/cfwl_widgettp.h" | 7 #include "xfa/fwl/theme/cfwl_widgettp.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| 11 #include "xfa/fde/tto/fde_textout.h" | 11 #include "xfa/fde/tto/fde_textout.h" |
| 12 #include "xfa/fgas/font/fgas_gefont.h" |
| 12 #include "xfa/fgas/font/fgas_stdfontmgr.h" | 13 #include "xfa/fgas/font/fgas_stdfontmgr.h" |
| 13 #include "xfa/fwl/core/cfwl_themebackground.h" | 14 #include "xfa/fwl/core/cfwl_themebackground.h" |
| 14 #include "xfa/fwl/core/cfwl_themepart.h" | 15 #include "xfa/fwl/core/cfwl_themepart.h" |
| 15 #include "xfa/fwl/core/cfwl_themetext.h" | 16 #include "xfa/fwl/core/cfwl_themetext.h" |
| 16 #include "xfa/fwl/core/cfwl_widgetmgr.h" | 17 #include "xfa/fwl/core/cfwl_widgetmgr.h" |
| 17 #include "xfa/fwl/core/ifwl_themeprovider.h" | 18 #include "xfa/fwl/core/ifwl_themeprovider.h" |
| 18 #include "xfa/fwl/core/ifwl_widget.h" | 19 #include "xfa/fwl/core/ifwl_widget.h" |
| 19 #include "xfa/fxgraphics/cfx_color.h" | 20 #include "xfa/fxgraphics/cfx_color.h" |
| 20 #include "xfa/fxgraphics/cfx_path.h" | 21 #include "xfa/fxgraphics/cfx_path.h" |
| 21 #include "xfa/fxgraphics/cfx_shading.h" | 22 #include "xfa/fxgraphics/cfx_shading.h" |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 if (!m_pTextOut) | 195 if (!m_pTextOut) |
| 195 return FWL_Error::Succeeded; | 196 return FWL_Error::Succeeded; |
| 196 | 197 |
| 197 m_pFDEFont = CFWL_FontManager::GetInstance()->FindFont(strFont, 0, 0); | 198 m_pFDEFont = CFWL_FontManager::GetInstance()->FindFont(strFont, 0, 0); |
| 198 m_pTextOut->SetFont(m_pFDEFont); | 199 m_pTextOut->SetFont(m_pFDEFont); |
| 199 m_pTextOut->SetFontSize(fFontSize); | 200 m_pTextOut->SetFontSize(fFontSize); |
| 200 m_pTextOut->SetTextColor(rgbFont); | 201 m_pTextOut->SetTextColor(rgbFont); |
| 201 return FWL_Error::Succeeded; | 202 return FWL_Error::Succeeded; |
| 202 } | 203 } |
| 203 FWL_Error CFWL_WidgetTP::SetFont(IFWL_Widget* pWidget, | 204 FWL_Error CFWL_WidgetTP::SetFont(IFWL_Widget* pWidget, |
| 204 IFX_Font* pFont, | 205 CFX_GEFont* pFont, |
| 205 FX_FLOAT fFontSize, | 206 FX_FLOAT fFontSize, |
| 206 FX_ARGB rgbFont) { | 207 FX_ARGB rgbFont) { |
| 207 if (!m_pTextOut) | 208 if (!m_pTextOut) |
| 208 return FWL_Error::Succeeded; | 209 return FWL_Error::Succeeded; |
| 209 | 210 |
| 210 m_pTextOut->SetFont(pFont); | 211 m_pTextOut->SetFont(pFont); |
| 211 m_pTextOut->SetFontSize(fFontSize); | 212 m_pTextOut->SetFontSize(fFontSize); |
| 212 m_pTextOut->SetTextColor(rgbFont); | 213 m_pTextOut->SetTextColor(rgbFont); |
| 213 return FWL_Error::Succeeded; | 214 return FWL_Error::Succeeded; |
| 214 } | 215 } |
| 215 IFX_Font* CFWL_WidgetTP::GetFont(IFWL_Widget* pWidget) { | 216 CFX_GEFont* CFWL_WidgetTP::GetFont(IFWL_Widget* pWidget) { |
| 216 return m_pFDEFont; | 217 return m_pFDEFont; |
| 217 } | 218 } |
| 218 | 219 |
| 219 CFWL_WidgetTP::CFWL_WidgetTP() | 220 CFWL_WidgetTP::CFWL_WidgetTP() |
| 220 : m_dwRefCount(1), m_pFDEFont(nullptr), m_dwThemeID(0) {} | 221 : m_dwRefCount(1), m_pFDEFont(nullptr), m_dwThemeID(0) {} |
| 221 | 222 |
| 222 FWL_Error CFWL_WidgetTP::InitTTO() { | 223 FWL_Error CFWL_WidgetTP::InitTTO() { |
| 223 if (m_pTextOut) | 224 if (m_pTextOut) |
| 224 return FWL_Error::Succeeded; | 225 return FWL_Error::Succeeded; |
| 225 | 226 |
| (...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 704 m_dwStyles = dwFontStyles; | 705 m_dwStyles = dwFontStyles; |
| 705 m_dwCodePage = dwCodePage; | 706 m_dwCodePage = dwCodePage; |
| 706 if (!m_pFontMgr) { | 707 if (!m_pFontMgr) { |
| 707 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 708 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 708 m_pFontMgr = IFX_FontMgr::Create(FX_GetDefFontEnumerator()); | 709 m_pFontMgr = IFX_FontMgr::Create(FX_GetDefFontEnumerator()); |
| 709 #else | 710 #else |
| 710 m_pFontSource = new CFX_FontSourceEnum_File; | 711 m_pFontSource = new CFX_FontSourceEnum_File; |
| 711 m_pFontMgr = IFX_FontMgr::Create(m_pFontSource); | 712 m_pFontMgr = IFX_FontMgr::Create(m_pFontSource); |
| 712 #endif | 713 #endif |
| 713 } | 714 } |
| 714 m_pFont = IFX_Font::LoadFont(wsFontFamily.c_str(), dwFontStyles, dwCodePage, | 715 m_pFont = CFX_GEFont::LoadFont(wsFontFamily.c_str(), dwFontStyles, dwCodePage, |
| 715 m_pFontMgr); | 716 m_pFontMgr); |
| 716 return m_pFont != NULL; | 717 return m_pFont != NULL; |
| 717 } | 718 } |
| 718 | 719 |
| 719 CFWL_FontManager* CFWL_FontManager::s_FontManager = nullptr; | 720 CFWL_FontManager* CFWL_FontManager::s_FontManager = nullptr; |
| 720 CFWL_FontManager* CFWL_FontManager::GetInstance() { | 721 CFWL_FontManager* CFWL_FontManager::GetInstance() { |
| 721 if (!s_FontManager) | 722 if (!s_FontManager) |
| 722 s_FontManager = new CFWL_FontManager; | 723 s_FontManager = new CFWL_FontManager; |
| 723 return s_FontManager; | 724 return s_FontManager; |
| 724 } | 725 } |
| 725 void CFWL_FontManager::DestroyInstance() { | 726 void CFWL_FontManager::DestroyInstance() { |
| 726 delete s_FontManager; | 727 delete s_FontManager; |
| 727 s_FontManager = nullptr; | 728 s_FontManager = nullptr; |
| 728 } | 729 } |
| 729 CFWL_FontManager::CFWL_FontManager() {} | 730 CFWL_FontManager::CFWL_FontManager() {} |
| 730 CFWL_FontManager::~CFWL_FontManager() {} | 731 CFWL_FontManager::~CFWL_FontManager() {} |
| 731 IFX_Font* CFWL_FontManager::FindFont(const CFX_WideStringC& wsFontFamily, | 732 CFX_GEFont* CFWL_FontManager::FindFont(const CFX_WideStringC& wsFontFamily, |
| 732 uint32_t dwFontStyles, | 733 uint32_t dwFontStyles, |
| 733 uint16_t wCodePage) { | 734 uint16_t wCodePage) { |
| 734 for (const auto& pData : m_FontsArray) { | 735 for (const auto& pData : m_FontsArray) { |
| 735 if (pData->Equal(wsFontFamily, dwFontStyles, wCodePage)) | 736 if (pData->Equal(wsFontFamily, dwFontStyles, wCodePage)) |
| 736 return pData->GetFont(); | 737 return pData->GetFont(); |
| 737 } | 738 } |
| 738 std::unique_ptr<CFWL_FontData> pFontData(new CFWL_FontData); | 739 std::unique_ptr<CFWL_FontData> pFontData(new CFWL_FontData); |
| 739 if (!pFontData->LoadFont(wsFontFamily, dwFontStyles, wCodePage)) | 740 if (!pFontData->LoadFont(wsFontFamily, dwFontStyles, wCodePage)) |
| 740 return nullptr; | 741 return nullptr; |
| 741 m_FontsArray.push_back(std::move(pFontData)); | 742 m_FontsArray.push_back(std::move(pFontData)); |
| 742 return m_FontsArray.back()->GetFont(); | 743 return m_FontsArray.back()->GetFont(); |
| 743 } | 744 } |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 809 m_pColorData->clrEnd[0] = ArgbEncode(255, 175, 204, 251); | 810 m_pColorData->clrEnd[0] = ArgbEncode(255, 175, 204, 251); |
| 810 m_pColorData->clrEnd[1] = ArgbEncode(255, 185, 218, 251); | 811 m_pColorData->clrEnd[1] = ArgbEncode(255, 185, 218, 251); |
| 811 m_pColorData->clrEnd[2] = ArgbEncode(255, 210, 222, 235); | 812 m_pColorData->clrEnd[2] = ArgbEncode(255, 210, 222, 235); |
| 812 m_pColorData->clrEnd[3] = ArgbEncode(255, 243, 241, 236); | 813 m_pColorData->clrEnd[3] = ArgbEncode(255, 243, 241, 236); |
| 813 m_pColorData->clrSign[0] = ArgbEncode(255, 77, 97, 133); | 814 m_pColorData->clrSign[0] = ArgbEncode(255, 77, 97, 133); |
| 814 m_pColorData->clrSign[1] = ArgbEncode(255, 77, 97, 133); | 815 m_pColorData->clrSign[1] = ArgbEncode(255, 77, 97, 133); |
| 815 m_pColorData->clrSign[2] = ArgbEncode(255, 77, 97, 133); | 816 m_pColorData->clrSign[2] = ArgbEncode(255, 77, 97, 133); |
| 816 m_pColorData->clrSign[3] = ArgbEncode(255, 128, 128, 128); | 817 m_pColorData->clrSign[3] = ArgbEncode(255, 128, 128, 128); |
| 817 } | 818 } |
| 818 } | 819 } |
| OLD | NEW |