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 #include <utility> | 10 #include <utility> |
11 | 11 |
12 #include "xfa/fde/tto/fde_textout.h" | 12 #include "xfa/fde/tto/fde_textout.h" |
13 #include "xfa/fgas/font/cfgas_fontmgr.h" | 13 #include "xfa/fgas/font/cfgas_fontmgr.h" |
14 #include "xfa/fgas/font/cfgas_gefont.h" | 14 #include "xfa/fgas/font/cfgas_gefont.h" |
15 #include "xfa/fwl/core/cfwl_themebackground.h" | 15 #include "xfa/fwl/core/cfwl_themebackground.h" |
16 #include "xfa/fwl/core/cfwl_themepart.h" | 16 #include "xfa/fwl/core/cfwl_themepart.h" |
17 #include "xfa/fwl/core/cfwl_themetext.h" | 17 #include "xfa/fwl/core/cfwl_themetext.h" |
| 18 #include "xfa/fwl/core/cfwl_widget.h" |
18 #include "xfa/fwl/core/cfwl_widgetmgr.h" | 19 #include "xfa/fwl/core/cfwl_widgetmgr.h" |
19 #include "xfa/fwl/core/ifwl_themeprovider.h" | 20 #include "xfa/fwl/core/ifwl_themeprovider.h" |
20 #include "xfa/fwl/core/ifwl_widget.h" | |
21 #include "xfa/fwl/theme/cfwl_arrowdata.h" | 21 #include "xfa/fwl/theme/cfwl_arrowdata.h" |
22 #include "xfa/fxgraphics/cfx_color.h" | 22 #include "xfa/fxgraphics/cfx_color.h" |
23 #include "xfa/fxgraphics/cfx_path.h" | 23 #include "xfa/fxgraphics/cfx_path.h" |
24 #include "xfa/fxgraphics/cfx_shading.h" | 24 #include "xfa/fxgraphics/cfx_shading.h" |
25 | 25 |
26 namespace { | 26 namespace { |
27 | 27 |
28 const float kEdgeFlat = 2.0f; | 28 const float kEdgeFlat = 2.0f; |
29 const float kEdgeRaised = 2.0f; | 29 const float kEdgeRaised = 2.0f; |
30 const float kEdgeSunken = 2.0f; | 30 const float kEdgeSunken = 2.0f; |
31 const float kLineHeight = 12.0f; | 31 const float kLineHeight = 12.0f; |
32 const float kScrollBarWidth = 17.0f; | 32 const float kScrollBarWidth = 17.0f; |
33 const float kCXBorder = 1.0f; | 33 const float kCXBorder = 1.0f; |
34 const float kCYBorder = 1.0f; | 34 const float kCYBorder = 1.0f; |
35 | 35 |
36 #define FWLTHEME_CAPACITY_TextSelColor (ArgbEncode(255, 153, 193, 218)) | 36 #define FWLTHEME_CAPACITY_TextSelColor (ArgbEncode(255, 153, 193, 218)) |
37 | 37 |
38 } // namespace | 38 } // namespace |
39 | 39 |
40 bool CFWL_WidgetTP::IsValidWidget(IFWL_Widget* pWidget) { | 40 bool CFWL_WidgetTP::IsValidWidget(CFWL_Widget* pWidget) { |
41 return false; | 41 return false; |
42 } | 42 } |
43 | 43 |
44 void CFWL_WidgetTP::DrawBackground(CFWL_ThemeBackground* pParams) {} | 44 void CFWL_WidgetTP::DrawBackground(CFWL_ThemeBackground* pParams) {} |
45 | 45 |
46 void CFWL_WidgetTP::DrawText(CFWL_ThemeText* pParams) { | 46 void CFWL_WidgetTP::DrawText(CFWL_ThemeText* pParams) { |
47 if (!m_pTextOut) | 47 if (!m_pTextOut) |
48 InitTTO(); | 48 InitTTO(); |
49 | 49 |
50 int32_t iLen = pParams->m_wsText.GetLength(); | 50 int32_t iLen = pParams->m_wsText.GetLength(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 | 129 |
130 void CFWL_WidgetTP::Initialize() {} | 130 void CFWL_WidgetTP::Initialize() {} |
131 | 131 |
132 void CFWL_WidgetTP::Finalize() { | 132 void CFWL_WidgetTP::Finalize() { |
133 if (!m_pTextOut) | 133 if (!m_pTextOut) |
134 FinalizeTTO(); | 134 FinalizeTTO(); |
135 } | 135 } |
136 | 136 |
137 CFWL_WidgetTP::~CFWL_WidgetTP() {} | 137 CFWL_WidgetTP::~CFWL_WidgetTP() {} |
138 | 138 |
139 void CFWL_WidgetTP::SetFont(IFWL_Widget* pWidget, | 139 void CFWL_WidgetTP::SetFont(CFWL_Widget* pWidget, |
140 const FX_WCHAR* strFont, | 140 const FX_WCHAR* strFont, |
141 FX_FLOAT fFontSize, | 141 FX_FLOAT fFontSize, |
142 FX_ARGB rgbFont) { | 142 FX_ARGB rgbFont) { |
143 if (!m_pTextOut) | 143 if (!m_pTextOut) |
144 return; | 144 return; |
145 | 145 |
146 m_pFDEFont = CFWL_FontManager::GetInstance()->FindFont(strFont, 0, 0); | 146 m_pFDEFont = CFWL_FontManager::GetInstance()->FindFont(strFont, 0, 0); |
147 m_pTextOut->SetFont(m_pFDEFont); | 147 m_pTextOut->SetFont(m_pFDEFont); |
148 m_pTextOut->SetFontSize(fFontSize); | 148 m_pTextOut->SetFontSize(fFontSize); |
149 m_pTextOut->SetTextColor(rgbFont); | 149 m_pTextOut->SetTextColor(rgbFont); |
150 } | 150 } |
151 | 151 |
152 void CFWL_WidgetTP::SetFont(IFWL_Widget* pWidget, | 152 void CFWL_WidgetTP::SetFont(CFWL_Widget* pWidget, |
153 CFGAS_GEFont* pFont, | 153 CFGAS_GEFont* pFont, |
154 FX_FLOAT fFontSize, | 154 FX_FLOAT fFontSize, |
155 FX_ARGB rgbFont) { | 155 FX_ARGB rgbFont) { |
156 if (!m_pTextOut) | 156 if (!m_pTextOut) |
157 return; | 157 return; |
158 | 158 |
159 m_pTextOut->SetFont(pFont); | 159 m_pTextOut->SetFont(pFont); |
160 m_pTextOut->SetFontSize(fFontSize); | 160 m_pTextOut->SetFontSize(fFontSize); |
161 m_pTextOut->SetTextColor(rgbFont); | 161 m_pTextOut->SetTextColor(rgbFont); |
162 } | 162 } |
163 | 163 |
164 CFGAS_GEFont* CFWL_WidgetTP::GetFont(IFWL_Widget* pWidget) { | 164 CFGAS_GEFont* CFWL_WidgetTP::GetFont(CFWL_Widget* pWidget) { |
165 return m_pFDEFont; | 165 return m_pFDEFont; |
166 } | 166 } |
167 | 167 |
168 CFWL_WidgetTP::CFWL_WidgetTP() : m_dwRefCount(1), m_pFDEFont(nullptr) {} | 168 CFWL_WidgetTP::CFWL_WidgetTP() : m_dwRefCount(1), m_pFDEFont(nullptr) {} |
169 | 169 |
170 void CFWL_WidgetTP::InitTTO() { | 170 void CFWL_WidgetTP::InitTTO() { |
171 if (m_pTextOut) | 171 if (m_pTextOut) |
172 return; | 172 return; |
173 | 173 |
174 m_pFDEFont = | 174 m_pFDEFont = |
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 if (!pFontData->LoadFont(wsFontFamily, dwFontStyles, wCodePage)) | 677 if (!pFontData->LoadFont(wsFontFamily, dwFontStyles, wCodePage)) |
678 return nullptr; | 678 return nullptr; |
679 m_FontsArray.push_back(std::move(pFontData)); | 679 m_FontsArray.push_back(std::move(pFontData)); |
680 return m_FontsArray.back()->GetFont(); | 680 return m_FontsArray.back()->GetFont(); |
681 } | 681 } |
682 | 682 |
683 void FWLTHEME_Release() { | 683 void FWLTHEME_Release() { |
684 CFWL_ArrowData::DestroyInstance(); | 684 CFWL_ArrowData::DestroyInstance(); |
685 CFWL_FontManager::DestroyInstance(); | 685 CFWL_FontManager::DestroyInstance(); |
686 } | 686 } |
OLD | NEW |