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/core/fwl_formimp.h" | 7 #include "xfa/fwl/core/fwl_formimp.h" |
8 | 8 |
9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
10 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" | 10 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" |
(...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; | 645 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; |
646 m_bCustomizeLayout = pTheme->IsCustomizedLayout(m_pInterface); | 646 m_bCustomizeLayout = pTheme->IsCustomizedLayout(m_pInterface); |
647 FX_FLOAT fCapHeight = GetCaptionHeight(); | 647 FX_FLOAT fCapHeight = GetCaptionHeight(); |
648 if (fCapHeight > 0) { | 648 if (fCapHeight > 0) { |
649 m_rtCaption = m_rtRelative; | 649 m_rtCaption = m_rtRelative; |
650 m_rtCaption.height = fCapHeight; | 650 m_rtCaption.height = fCapHeight; |
651 } | 651 } |
652 m_iSysBox = 0; | 652 m_iSysBox = 0; |
653 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_CloseBox) { | 653 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_CloseBox) { |
654 m_pCloseBox = new CFWL_SysBtn; | 654 m_pCloseBox = new CFWL_SysBtn; |
655 if (m_bCustomizeLayout) { | 655 if (!m_bCustomizeLayout) { |
656 CFWL_ThemeBackground param; | |
657 param.m_pWidget = m_pInterface; | |
658 param.m_iPart = CFWL_Part::CloseBox; | |
659 pTheme->GetPartRect(¶m, m_pCloseBox->m_rtBtn); | |
660 } else { | |
661 m_pCloseBox->m_rtBtn.Set( | 656 m_pCloseBox->m_rtBtn.Set( |
662 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, | 657 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, |
663 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); | 658 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); |
664 } | 659 } |
665 m_iSysBox++; | 660 m_iSysBox++; |
666 } | 661 } |
667 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MaximizeBox) { | 662 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MaximizeBox) { |
668 m_pMaxBox = new CFWL_SysBtn; | 663 m_pMaxBox = new CFWL_SysBtn; |
669 if (m_bCustomizeLayout) { | 664 if (!m_bCustomizeLayout) { |
670 CFWL_ThemeBackground param; | |
671 param.m_pWidget = m_pInterface; | |
672 param.m_iPart = CFWL_Part::MaximizeBox; | |
673 pTheme->GetPartRect(¶m, m_pMaxBox->m_rtBtn); | |
674 } else { | |
675 if (m_pCloseBox) { | 665 if (m_pCloseBox) { |
676 m_pMaxBox->m_rtBtn.Set( | 666 m_pMaxBox->m_rtBtn.Set( |
677 m_pCloseBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, | 667 m_pCloseBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, |
678 m_pCloseBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); | 668 m_pCloseBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); |
679 } else { | 669 } else { |
680 m_pMaxBox->m_rtBtn.Set( | 670 m_pMaxBox->m_rtBtn.Set( |
681 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, | 671 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, |
682 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); | 672 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); |
683 } | 673 } |
684 } | 674 } |
685 m_iSysBox++; | 675 m_iSysBox++; |
686 } | 676 } |
687 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MinimizeBox) { | 677 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MinimizeBox) { |
688 m_pMinBox = new CFWL_SysBtn; | 678 m_pMinBox = new CFWL_SysBtn; |
689 if (m_bCustomizeLayout) { | 679 if (!m_bCustomizeLayout) { |
690 CFWL_ThemeBackground param; | |
691 param.m_pWidget = m_pInterface; | |
692 param.m_iPart = CFWL_Part::MinimizeBox; | |
693 pTheme->GetPartRect(¶m, m_pMinBox->m_rtBtn); | |
694 } else { | |
695 if (m_pMaxBox) { | 680 if (m_pMaxBox) { |
696 m_pMinBox->m_rtBtn.Set( | 681 m_pMinBox->m_rtBtn.Set( |
697 m_pMaxBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, | 682 m_pMaxBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, |
698 m_pMaxBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); | 683 m_pMaxBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); |
699 } else if (m_pCloseBox) { | 684 } else if (m_pCloseBox) { |
700 m_pMinBox->m_rtBtn.Set( | 685 m_pMinBox->m_rtBtn.Set( |
701 m_pCloseBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, | 686 m_pCloseBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, |
702 m_pCloseBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); | 687 m_pCloseBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); |
703 } else { | 688 } else { |
704 m_pMinBox->m_rtBtn.Set( | 689 m_pMinBox->m_rtBtn.Set( |
705 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, | 690 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, |
706 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); | 691 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); |
707 } | 692 } |
708 } | 693 } |
709 m_iSysBox++; | 694 m_iSysBox++; |
710 } | 695 } |
711 IFWL_FormDP* pData = | 696 IFWL_FormDP* pData = |
712 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); | 697 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); |
713 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Icon && | 698 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Icon && |
714 pData->GetIcon(m_pInterface, FALSE)) { | 699 pData->GetIcon(m_pInterface, FALSE)) { |
715 if (m_bCustomizeLayout) { | 700 if (!m_bCustomizeLayout) { |
716 CFWL_ThemeBackground param; | |
717 param.m_pWidget = m_pInterface; | |
718 param.m_iPart = CFWL_Part::Icon; | |
719 CFX_WideString wsText; | |
720 m_pProperties->m_pDataProvider->GetCaption(m_pInterface, wsText); | |
721 param.m_pData = &wsText; | |
722 pTheme->GetPartRect(¶m, m_rtIcon); | |
723 } else { | |
724 m_rtIcon.Set(5, (m_rtCaption.height - m_fSmallIconSz) / 2, m_fSmallIconSz, | 701 m_rtIcon.Set(5, (m_rtCaption.height - m_fSmallIconSz) / 2, m_fSmallIconSz, |
725 m_fSmallIconSz); | 702 m_fSmallIconSz); |
726 } | 703 } |
727 } | 704 } |
728 if (m_bCustomizeLayout) { | |
729 CFWL_ThemeText parma; | |
730 parma.m_pWidget = m_pInterface; | |
731 parma.m_iPart = CFWL_Part::HeadText; | |
732 m_pProperties->m_pDataProvider->GetCaption(m_pInterface, parma.m_wsText); | |
733 pTheme->GetPartRect(&parma, m_rtCaptionText); | |
734 } | |
735 } | 705 } |
736 void CFWL_FormImp::RegisterForm() { | 706 void CFWL_FormImp::RegisterForm() { |
737 IFWL_App* pApp = GetOwnerApp(); | 707 IFWL_App* pApp = GetOwnerApp(); |
738 if (!pApp) | 708 if (!pApp) |
739 return; | 709 return; |
740 | 710 |
741 CFWL_NoteDriver* pDriver = | 711 CFWL_NoteDriver* pDriver = |
742 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); | 712 static_cast<CFWL_NoteDriver*>(pApp->GetNoteDriver()); |
743 if (!pDriver) | 713 if (!pDriver) |
744 return; | 714 return; |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1166 | 1136 |
1167 uint32_t CFWL_SysBtn::GetPartState() const { | 1137 uint32_t CFWL_SysBtn::GetPartState() const { |
1168 if (IsDisabled()) | 1138 if (IsDisabled()) |
1169 return CFWL_PartState_Disabled; | 1139 return CFWL_PartState_Disabled; |
1170 if (m_dwState & FWL_SYSBUTTONSTATE_Pressed) | 1140 if (m_dwState & FWL_SYSBUTTONSTATE_Pressed) |
1171 return CFWL_PartState_Pressed; | 1141 return CFWL_PartState_Pressed; |
1172 if (m_dwState & FWL_SYSBUTTONSTATE_Hover) | 1142 if (m_dwState & FWL_SYSBUTTONSTATE_Hover) |
1173 return CFWL_PartState_Hovered; | 1143 return CFWL_PartState_Hovered; |
1174 return CFWL_PartState_Normal; | 1144 return CFWL_PartState_Normal; |
1175 } | 1145 } |
OLD | NEW |