| 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 26 matching lines...) Expand all Loading... |
| 37 CXFA_FFWidget* XFA_ThemeGetOuterWidget(IFWL_Widget* pWidget) { | 37 CXFA_FFWidget* XFA_ThemeGetOuterWidget(IFWL_Widget* pWidget) { |
| 38 IFWL_Widget* pOuter = pWidget; | 38 IFWL_Widget* pOuter = pWidget; |
| 39 while (pOuter && pOuter->GetOuter()) | 39 while (pOuter && pOuter->GetOuter()) |
| 40 pOuter = pOuter->GetOuter(); | 40 pOuter = pOuter->GetOuter(); |
| 41 | 41 |
| 42 return pOuter ? static_cast<CXFA_FFWidget*>(pOuter->GetLayoutItem()) | 42 return pOuter ? static_cast<CXFA_FFWidget*>(pOuter->GetLayoutItem()) |
| 43 : nullptr; | 43 : nullptr; |
| 44 } | 44 } |
| 45 | 45 |
| 46 CXFA_FWLTheme::CXFA_FWLTheme(CXFA_FFApp* pApp) | 46 CXFA_FWLTheme::CXFA_FWLTheme(CXFA_FFApp* pApp) |
| 47 : m_pCheckBoxTP(new CXFA_FWLCheckBoxTP), | 47 : m_pCheckBoxTP(new CFWL_CheckBoxTP), |
| 48 m_pListBoxTP(new CFWL_ListBoxTP), | 48 m_pListBoxTP(new CFWL_ListBoxTP), |
| 49 m_pPictureBoxTP(new CFWL_PictureBoxTP), | 49 m_pPictureBoxTP(new CFWL_PictureBoxTP), |
| 50 m_pSrollBarTP(new CFWL_ScrollBarTP), | 50 m_pSrollBarTP(new CFWL_ScrollBarTP), |
| 51 m_pEditTP(new CXFA_FWLEditTP), | 51 m_pEditTP(new CFWL_EditTP), |
| 52 m_pComboBoxTP(new CFWL_ComboBoxTP), | 52 m_pComboBoxTP(new CFWL_ComboBoxTP), |
| 53 m_pMonthCalendarTP(new CFWL_MonthCalendarTP), | 53 m_pMonthCalendarTP(new CFWL_MonthCalendarTP), |
| 54 m_pDateTimePickerTP(new CFWL_DateTimePickerTP), | 54 m_pDateTimePickerTP(new CFWL_DateTimePickerTP), |
| 55 m_pPushButtonTP(new CFWL_PushButtonTP), | 55 m_pPushButtonTP(new CFWL_PushButtonTP), |
| 56 m_pCaretTP(new CFWL_CaretTP), | 56 m_pCaretTP(new CFWL_CaretTP), |
| 57 m_pBarcodeTP(new CFWL_BarcodeTP), | 57 m_pBarcodeTP(new CFWL_BarcodeTP), |
| 58 m_fCapacity(0.0f), | 58 m_fCapacity(0.0f), |
| 59 m_dwCapacity(0), | 59 m_dwCapacity(0), |
| 60 m_pCalendarFont(nullptr), | 60 m_pCalendarFont(nullptr), |
| 61 m_pApp(pApp) { | 61 m_pApp(pApp) { |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 case FWL_Type::PushButton: | 383 case FWL_Type::PushButton: |
| 384 return m_pPushButtonTP.get(); | 384 return m_pPushButtonTP.get(); |
| 385 case FWL_Type::Caret: | 385 case FWL_Type::Caret: |
| 386 return m_pCaretTP.get(); | 386 return m_pCaretTP.get(); |
| 387 case FWL_Type::Barcode: | 387 case FWL_Type::Barcode: |
| 388 return m_pBarcodeTP.get(); | 388 return m_pBarcodeTP.get(); |
| 389 default: | 389 default: |
| 390 return nullptr; | 390 return nullptr; |
| 391 } | 391 } |
| 392 } | 392 } |
| 393 | |
| 394 CXFA_FWLCheckBoxTP::CXFA_FWLCheckBoxTP() {} | |
| 395 | |
| 396 FX_BOOL CXFA_FWLCheckBoxTP::DrawBackground(CFWL_ThemeBackground* pParams) { | |
| 397 if (pParams->m_iPart != CFWL_Part::CheckBox) { | |
| 398 return TRUE; | |
| 399 } | |
| 400 if ((pParams->m_dwStates & CFWL_PartState_Checked) || | |
| 401 (pParams->m_dwStates & CFWL_PartState_Neutral)) { | |
| 402 DrawCheckSign(pParams->m_pWidget, pParams->m_pGraphics, &pParams->m_rtPart, | |
| 403 pParams->m_dwStates, &pParams->m_matrix); | |
| 404 } | |
| 405 return TRUE; | |
| 406 } | |
| 407 | |
| 408 void CXFA_FWLCheckBoxTP::DrawCheckSign(IFWL_Widget* pWidget, | |
| 409 CFX_Graphics* pGraphics, | |
| 410 const CFX_RectF* pRtBox, | |
| 411 int32_t iState, | |
| 412 CFX_Matrix* pMatrix) { | |
| 413 CFX_RectF rtSign(*pRtBox); | |
| 414 uint32_t dwColor = 0xFF000000; | |
| 415 if (iState & CFWL_PartState_Neutral) | |
| 416 dwColor = 0xFFA9A9A9; | |
| 417 | |
| 418 { | |
| 419 uint32_t dwStyle = pWidget->GetStylesEx(); | |
| 420 rtSign.Deflate(rtSign.width / 4, rtSign.height / 4); | |
| 421 switch (dwStyle & FWL_STYLEEXT_CKB_SignShapeMask) { | |
| 422 case FWL_STYLEEXT_CKB_SignShapeCheck: | |
| 423 DrawSignCheck(pGraphics, &rtSign, dwColor, pMatrix); | |
| 424 break; | |
| 425 case FWL_STYLEEXT_CKB_SignShapeCircle: | |
| 426 DrawSignCircle(pGraphics, &rtSign, dwColor, pMatrix); | |
| 427 break; | |
| 428 case FWL_STYLEEXT_CKB_SignShapeCross: | |
| 429 DrawSignCross(pGraphics, &rtSign, dwColor, pMatrix); | |
| 430 break; | |
| 431 case FWL_STYLEEXT_CKB_SignShapeDiamond: | |
| 432 DrawSignDiamond(pGraphics, &rtSign, dwColor, pMatrix); | |
| 433 break; | |
| 434 case FWL_STYLEEXT_CKB_SignShapeSquare: | |
| 435 DrawSignSquare(pGraphics, &rtSign, dwColor, pMatrix); | |
| 436 break; | |
| 437 case FWL_STYLEEXT_CKB_SignShapeStar: | |
| 438 DrawSignStar(pGraphics, &rtSign, dwColor, pMatrix); | |
| 439 break; | |
| 440 default: | |
| 441 break; | |
| 442 } | |
| 443 } | |
| 444 } | |
| 445 | |
| 446 CXFA_FWLEditTP::CXFA_FWLEditTP() {} | |
| 447 | |
| 448 CXFA_FWLEditTP::~CXFA_FWLEditTP() {} | |
| 449 | |
| 450 FX_BOOL CXFA_FWLEditTP::DrawBackground(CFWL_ThemeBackground* pParams) { | |
| 451 if (CFWL_Part::CombTextLine == pParams->m_iPart) { | |
| 452 CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget); | |
| 453 FX_ARGB cr = 0xFF000000; | |
| 454 FX_FLOAT fWidth = 1.0f; | |
| 455 if (CXFA_Border borderUI = pWidget->GetDataAcc()->GetUIBorder()) { | |
| 456 CXFA_Edge edge = borderUI.GetEdge(0); | |
| 457 if (edge) { | |
| 458 cr = edge.GetColor(); | |
| 459 fWidth = edge.GetThickness(); | |
| 460 } | |
| 461 } | |
| 462 CFX_Color crLine(cr); | |
| 463 pParams->m_pGraphics->SetStrokeColor(&crLine); | |
| 464 pParams->m_pGraphics->SetLineWidth(fWidth); | |
| 465 pParams->m_pGraphics->StrokePath(pParams->m_pPath, &pParams->m_matrix); | |
| 466 return TRUE; | |
| 467 } | |
| 468 return CFWL_EditTP::DrawBackground(pParams); | |
| 469 } | |
| OLD | NEW |