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/fxfa/app/xfa_fwltheme.h" | 7 #include "xfa/fxfa/app/xfa_fwltheme.h" |
8 | 8 |
9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
10 #include "xfa/fgas/crt/fgas_codepage.h" | 10 #include "xfa/fgas/crt/fgas_codepage.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 FX_BOOL bChildren) { | 120 FX_BOOL bChildren) { |
121 return 0; | 121 return 0; |
122 } | 122 } |
123 FX_BOOL CXFA_FWLTheme::DrawBackground(CFWL_ThemeBackground* pParams) { | 123 FX_BOOL CXFA_FWLTheme::DrawBackground(CFWL_ThemeBackground* pParams) { |
124 return GetTheme(pParams->m_pWidget)->DrawBackground(pParams); | 124 return GetTheme(pParams->m_pWidget)->DrawBackground(pParams); |
125 } | 125 } |
126 FX_BOOL CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) { | 126 FX_BOOL CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) { |
127 if (pParams->m_wsText.IsEmpty()) | 127 if (pParams->m_wsText.IsEmpty()) |
128 return FALSE; | 128 return FALSE; |
129 | 129 |
130 if (pParams->m_pWidget->GetClassID() == FWL_CLASSHASH_MonthCalendar) { | 130 if (pParams->m_pWidget->GetClassID() == FWL_Type::MonthCalendar) { |
131 CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget); | 131 CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget); |
132 if (!pWidget) | 132 if (!pWidget) |
133 return FALSE; | 133 return FALSE; |
134 | 134 |
135 m_pTextOut->SetStyles(pParams->m_dwTTOStyles); | 135 m_pTextOut->SetStyles(pParams->m_dwTTOStyles); |
136 m_pTextOut->SetAlignment(pParams->m_iTTOAlign); | 136 m_pTextOut->SetAlignment(pParams->m_iTTOAlign); |
137 m_pTextOut->SetFont(m_pCalendarFont); | 137 m_pTextOut->SetFont(m_pCalendarFont); |
138 m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize); | 138 m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize); |
139 m_pTextOut->SetTextColor(FWLTHEME_CAPACITY_TextColor); | 139 m_pTextOut->SetTextColor(FWLTHEME_CAPACITY_TextColor); |
140 if ((pParams->m_iPart == CFWL_Part::DatesIn) && | 140 if ((pParams->m_iPart == CFWL_Part::DatesIn) && |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 m_SizeAboveBelow.y = para.GetSpaceBelow(); | 258 m_SizeAboveBelow.y = para.GetSpaceBelow(); |
259 } | 259 } |
260 } | 260 } |
261 return &m_SizeAboveBelow; | 261 return &m_SizeAboveBelow; |
262 } break; | 262 } break; |
263 default: | 263 default: |
264 break; | 264 break; |
265 } | 265 } |
266 | 266 |
267 int dwCapValue = static_cast<int>(dwCapacity); | 267 int dwCapValue = static_cast<int>(dwCapacity); |
268 if (pThemePart->m_pWidget->GetClassID() == FWL_CLASSHASH_MonthCalendar && | 268 if (pThemePart->m_pWidget->GetClassID() == FWL_Type::MonthCalendar && |
269 dwCapValue >= static_cast<int>(CFWL_WidgetCapacity::Today) && | 269 dwCapValue >= static_cast<int>(CFWL_WidgetCapacity::Today) && |
270 dwCapValue <= static_cast<int>(CFWL_WidgetCapacity::December)) { | 270 dwCapValue <= static_cast<int>(CFWL_WidgetCapacity::December)) { |
271 if (CXFA_FFWidget* pWidget = | 271 if (CXFA_FFWidget* pWidget = |
272 XFA_ThemeGetOuterWidget(pThemePart->m_pWidget)) { | 272 XFA_ThemeGetOuterWidget(pThemePart->m_pWidget)) { |
273 IXFA_AppProvider* pAppProvider = pWidget->GetAppProvider(); | 273 IXFA_AppProvider* pAppProvider = pWidget->GetAppProvider(); |
274 m_wsResource.clear(); | 274 m_wsResource.clear(); |
275 switch (dwCapacity) { | 275 switch (dwCapacity) { |
276 case CFWL_WidgetCapacity::Sun: | 276 case CFWL_WidgetCapacity::Sun: |
277 pAppProvider->LoadString(XFA_IDS_StringWeekDay_Sun, m_wsResource); | 277 pAppProvider->LoadString(XFA_IDS_StringWeekDay_Sun, m_wsResource); |
278 break; | 278 break; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 FWL_Error CXFA_FWLTheme::GetPartRect(CFWL_ThemePart* pThemePart) { | 348 FWL_Error CXFA_FWLTheme::GetPartRect(CFWL_ThemePart* pThemePart) { |
349 CFX_RectF rect; | 349 CFX_RectF rect; |
350 return GetTheme(pThemePart->m_pWidget)->GetPartRect(pThemePart, rect); | 350 return GetTheme(pThemePart->m_pWidget)->GetPartRect(pThemePart, rect); |
351 } | 351 } |
352 FX_BOOL CXFA_FWLTheme::IsInPart(CFWL_ThemePart* pThemePart, | 352 FX_BOOL CXFA_FWLTheme::IsInPart(CFWL_ThemePart* pThemePart, |
353 FX_FLOAT fx, | 353 FX_FLOAT fx, |
354 FX_FLOAT fy) { | 354 FX_FLOAT fy) { |
355 return GetTheme(pThemePart->m_pWidget)->IsInPart(pThemePart, fx, fy); | 355 return GetTheme(pThemePart->m_pWidget)->IsInPart(pThemePart, fx, fy); |
356 } | 356 } |
357 FX_BOOL CXFA_FWLTheme::CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) { | 357 FX_BOOL CXFA_FWLTheme::CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) { |
358 if (pParams->m_pWidget->GetClassID() == FWL_CLASSHASH_MonthCalendar) { | 358 if (pParams->m_pWidget->GetClassID() == FWL_Type::MonthCalendar) { |
359 CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget); | 359 CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget); |
360 if (!pWidget) | 360 if (!pWidget) |
361 return FALSE; | 361 return FALSE; |
362 if (!pParams) | 362 if (!pParams) |
363 return FALSE; | 363 return FALSE; |
364 if (!m_pTextOut) | 364 if (!m_pTextOut) |
365 return FALSE; | 365 return FALSE; |
366 m_pTextOut->SetFont(m_pCalendarFont); | 366 m_pTextOut->SetFont(m_pCalendarFont); |
367 m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize); | 367 m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize); |
368 m_pTextOut->SetTextColor(FWLTHEME_CAPACITY_TextColor); | 368 m_pTextOut->SetTextColor(FWLTHEME_CAPACITY_TextColor); |
(...skipping 16 matching lines...) Expand all Loading... |
385 if (!m_pTextOut) | 385 if (!m_pTextOut) |
386 return FALSE; | 386 return FALSE; |
387 m_pTextOut->SetAlignment(pParams->m_iTTOAlign); | 387 m_pTextOut->SetAlignment(pParams->m_iTTOAlign); |
388 m_pTextOut->SetStyles(pParams->m_dwTTOStyles); | 388 m_pTextOut->SetStyles(pParams->m_dwTTOStyles); |
389 m_pTextOut->CalcLogicSize(pParams->m_wsText.c_str(), | 389 m_pTextOut->CalcLogicSize(pParams->m_wsText.c_str(), |
390 pParams->m_wsText.GetLength(), rect); | 390 pParams->m_wsText.GetLength(), rect); |
391 return TRUE; | 391 return TRUE; |
392 } | 392 } |
393 CFWL_WidgetTP* CXFA_FWLTheme::GetTheme(IFWL_Widget* pWidget) { | 393 CFWL_WidgetTP* CXFA_FWLTheme::GetTheme(IFWL_Widget* pWidget) { |
394 switch (pWidget->GetClassID()) { | 394 switch (pWidget->GetClassID()) { |
395 case FWL_CLASSHASH_CheckBox: | 395 case FWL_Type::CheckBox: |
396 return m_pCheckBoxTP; | 396 return m_pCheckBoxTP; |
397 case FWL_CLASSHASH_ListBox: | 397 case FWL_Type::ListBox: |
398 return m_pListBoxTP; | 398 return m_pListBoxTP; |
399 case FWL_CLASSHASH_PictureBox: | 399 case FWL_Type::PictureBox: |
400 return m_pPictureBoxTP; | 400 return m_pPictureBoxTP; |
401 case FWL_CLASSHASH_ScrollBar: | 401 case FWL_Type::ScrollBar: |
402 return m_pSrollBarTP; | 402 return m_pSrollBarTP; |
403 case FWL_CLASSHASH_Edit: | 403 case FWL_Type::Edit: |
404 return m_pEditTP; | 404 return m_pEditTP; |
405 case FWL_CLASSHASH_ComboBox: | 405 case FWL_Type::ComboBox: |
406 return m_pComboBoxTP; | 406 return m_pComboBoxTP; |
407 case FWL_CLASSHASH_MonthCalendar: | 407 case FWL_Type::MonthCalendar: |
408 return m_pMonthCalendarTP; | 408 return m_pMonthCalendarTP; |
409 case FWL_CLASSHASH_DateTimePicker: | 409 case FWL_Type::DateTimePicker: |
410 return m_pDateTimePickerTP; | 410 return m_pDateTimePickerTP; |
411 case FWL_CLASSHASH_PushButton: | 411 case FWL_Type::PushButton: |
412 return m_pPushButtonTP; | 412 return m_pPushButtonTP; |
413 case FWL_CLASSHASH_Caret: | 413 case FWL_Type::Caret: |
414 return m_pCaretTP; | 414 return m_pCaretTP; |
415 case FWL_CLASSHASH_Barcode: | 415 case FWL_Type::Barcode: |
416 return m_pBarcodeTP; | 416 return m_pBarcodeTP; |
417 default: | 417 default: |
418 break; | 418 return nullptr; |
419 } | 419 } |
420 return NULL; | |
421 } | 420 } |
422 CXFA_FWLCheckBoxTP::CXFA_FWLCheckBoxTP() {} | 421 CXFA_FWLCheckBoxTP::CXFA_FWLCheckBoxTP() {} |
423 FX_BOOL CXFA_FWLCheckBoxTP::DrawBackground(CFWL_ThemeBackground* pParams) { | 422 FX_BOOL CXFA_FWLCheckBoxTP::DrawBackground(CFWL_ThemeBackground* pParams) { |
424 if (pParams->m_iPart != CFWL_Part::CheckBox) { | 423 if (pParams->m_iPart != CFWL_Part::CheckBox) { |
425 return TRUE; | 424 return TRUE; |
426 } | 425 } |
427 if ((pParams->m_dwStates & CFWL_PartState_Checked) || | 426 if ((pParams->m_dwStates & CFWL_PartState_Checked) || |
428 (pParams->m_dwStates & CFWL_PartState_Neutral)) { | 427 (pParams->m_dwStates & CFWL_PartState_Neutral)) { |
429 DrawCheckSign(pParams->m_pWidget, pParams->m_pGraphics, &pParams->m_rtPart, | 428 DrawCheckSign(pParams->m_pWidget, pParams->m_pGraphics, &pParams->m_rtPart, |
430 pParams->m_dwStates, &pParams->m_matrix); | 429 pParams->m_dwStates, &pParams->m_matrix); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 } | 482 } |
484 } | 483 } |
485 CFX_Color crLine(cr); | 484 CFX_Color crLine(cr); |
486 pParams->m_pGraphics->SetStrokeColor(&crLine); | 485 pParams->m_pGraphics->SetStrokeColor(&crLine); |
487 pParams->m_pGraphics->SetLineWidth(fWidth); | 486 pParams->m_pGraphics->SetLineWidth(fWidth); |
488 pParams->m_pGraphics->StrokePath(pParams->m_pPath, &pParams->m_matrix); | 487 pParams->m_pGraphics->StrokePath(pParams->m_pPath, &pParams->m_matrix); |
489 return TRUE; | 488 return TRUE; |
490 } | 489 } |
491 return CFWL_EditTP::DrawBackground(pParams); | 490 return CFWL_EditTP::DrawBackground(pParams); |
492 } | 491 } |
OLD | NEW |