| 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/ifwl_datetimepicker.h" | 7 #include "xfa/fwl/core/ifwl_datetimepicker.h" |
| 8 | 8 |
| 9 #include "third_party/base/ptr_util.h" | 9 #include "third_party/base/ptr_util.h" |
| 10 #include "xfa/fwl/core/cfwl_message.h" | 10 #include "xfa/fwl/core/cfwl_message.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 } | 63 } |
| 64 | 64 |
| 65 IFWL_DateTimePicker::~IFWL_DateTimePicker() { | 65 IFWL_DateTimePicker::~IFWL_DateTimePicker() { |
| 66 UnregisterEventTarget(); | 66 UnregisterEventTarget(); |
| 67 } | 67 } |
| 68 | 68 |
| 69 FWL_Type IFWL_DateTimePicker::GetClassID() const { | 69 FWL_Type IFWL_DateTimePicker::GetClassID() const { |
| 70 return FWL_Type::DateTimePicker; | 70 return FWL_Type::DateTimePicker; |
| 71 } | 71 } |
| 72 | 72 |
| 73 FWL_Error IFWL_DateTimePicker::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { | 73 void IFWL_DateTimePicker::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { |
| 74 if (m_pWidgetMgr->IsFormDisabled()) { | 74 if (m_pWidgetMgr->IsFormDisabled()) { |
| 75 return DisForm_GetWidgetRect(rect, bAutoSize); | 75 DisForm_GetWidgetRect(rect, bAutoSize); |
| 76 return; |
| 76 } | 77 } |
| 77 if (bAutoSize) { | 78 if (bAutoSize) { |
| 78 rect.Set(0, 0, kDateTimePickerWidth, kDateTimePickerHeight); | 79 rect.Set(0, 0, kDateTimePickerWidth, kDateTimePickerHeight); |
| 79 IFWL_Widget::GetWidgetRect(rect, true); | 80 IFWL_Widget::GetWidgetRect(rect, true); |
| 80 } else { | 81 } else { |
| 81 rect = m_pProperties->m_rtWidget; | 82 rect = m_pProperties->m_rtWidget; |
| 82 } | 83 } |
| 83 return FWL_Error::Succeeded; | |
| 84 } | 84 } |
| 85 | 85 |
| 86 FWL_Error IFWL_DateTimePicker::Update() { | 86 void IFWL_DateTimePicker::Update() { |
| 87 if (m_pWidgetMgr->IsFormDisabled()) { | 87 if (m_pWidgetMgr->IsFormDisabled()) { |
| 88 return DisForm_Update(); | 88 DisForm_Update(); |
| 89 return; |
| 89 } | 90 } |
| 90 if (m_iLock) { | 91 if (m_iLock) { |
| 91 return FWL_Error::Indefinite; | 92 return; |
| 92 } | 93 } |
| 93 if (!m_pProperties->m_pThemeProvider) { | 94 if (!m_pProperties->m_pThemeProvider) { |
| 94 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 95 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
| 95 } | 96 } |
| 96 m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider); | 97 m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider); |
| 97 GetClientRect(m_rtClient); | 98 GetClientRect(m_rtClient); |
| 98 FX_FLOAT* pFWidth = static_cast<FX_FLOAT*>( | 99 FX_FLOAT* pFWidth = static_cast<FX_FLOAT*>( |
| 99 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); | 100 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); |
| 100 if (!pFWidth) | 101 if (!pFWidth) |
| 101 return FWL_Error::Indefinite; | 102 return; |
| 102 FX_FLOAT fBtn = *pFWidth; | 103 FX_FLOAT fBtn = *pFWidth; |
| 103 m_rtBtn.Set(m_rtClient.right() - fBtn, m_rtClient.top, fBtn - 1, | 104 m_rtBtn.Set(m_rtClient.right() - fBtn, m_rtClient.top, fBtn - 1, |
| 104 m_rtClient.height - 1); | 105 m_rtClient.height - 1); |
| 105 CFX_RectF rtEdit; | 106 CFX_RectF rtEdit; |
| 106 rtEdit.Set(m_rtClient.left, m_rtClient.top, m_rtClient.width - fBtn, | 107 rtEdit.Set(m_rtClient.left, m_rtClient.top, m_rtClient.width - fBtn, |
| 107 m_rtClient.height); | 108 m_rtClient.height); |
| 108 m_pEdit->SetWidgetRect(rtEdit); | 109 m_pEdit->SetWidgetRect(rtEdit); |
| 109 ReSetEditAlignment(); | 110 ReSetEditAlignment(); |
| 110 m_pEdit->Update(); | 111 m_pEdit->Update(); |
| 111 if (!(m_pMonthCal->GetThemeProvider())) { | 112 if (!(m_pMonthCal->GetThemeProvider())) { |
| 112 m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider); | 113 m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider); |
| 113 } | 114 } |
| 114 if (m_pProperties->m_pDataProvider) { | 115 if (m_pProperties->m_pDataProvider) { |
| 115 IFWL_DateTimePickerDP* pData = | 116 IFWL_DateTimePickerDP* pData = |
| 116 static_cast<IFWL_DateTimePickerDP*>(m_pProperties->m_pDataProvider); | 117 static_cast<IFWL_DateTimePickerDP*>(m_pProperties->m_pDataProvider); |
| 117 pData->GetToday(this, m_iCurYear, m_iCurMonth, m_iCurDay); | 118 pData->GetToday(this, m_iCurYear, m_iCurMonth, m_iCurDay); |
| 118 } | 119 } |
| 119 CFX_RectF rtMonthCal; | 120 CFX_RectF rtMonthCal; |
| 120 m_pMonthCal->GetWidgetRect(rtMonthCal, true); | 121 m_pMonthCal->GetWidgetRect(rtMonthCal, true); |
| 121 CFX_RectF rtPopUp; | 122 CFX_RectF rtPopUp; |
| 122 rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight, | 123 rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight, |
| 123 rtMonthCal.width, rtMonthCal.height); | 124 rtMonthCal.width, rtMonthCal.height); |
| 124 m_pMonthCal->SetWidgetRect(rtPopUp); | 125 m_pMonthCal->SetWidgetRect(rtPopUp); |
| 125 m_pMonthCal->Update(); | 126 m_pMonthCal->Update(); |
| 126 return FWL_Error::Succeeded; | 127 return; |
| 127 } | 128 } |
| 128 | 129 |
| 129 int32_t IFWL_DateTimePicker::CountSelRanges() { | 130 int32_t IFWL_DateTimePicker::CountSelRanges() { |
| 130 return GetDataTimeEdit()->CountSelRanges(); | 131 return GetDataTimeEdit()->CountSelRanges(); |
| 131 } | 132 } |
| 132 | 133 |
| 133 int32_t IFWL_DateTimePicker::GetSelRange(int32_t nIndex, int32_t& nStart) { | 134 int32_t IFWL_DateTimePicker::GetSelRange(int32_t nIndex, int32_t& nStart) { |
| 134 return GetDataTimeEdit()->GetSelRange(nIndex, nStart); | 135 return GetDataTimeEdit()->GetSelRange(nIndex, nStart); |
| 135 } | 136 } |
| 136 | 137 |
| 137 FWL_WidgetHit IFWL_DateTimePicker::HitTest(FX_FLOAT fx, FX_FLOAT fy) { | 138 FWL_WidgetHit IFWL_DateTimePicker::HitTest(FX_FLOAT fx, FX_FLOAT fy) { |
| 138 if (m_pWidgetMgr->IsFormDisabled()) | 139 if (m_pWidgetMgr->IsFormDisabled()) |
| 139 return DisForm_HitTest(fx, fy); | 140 return DisForm_HitTest(fx, fy); |
| 140 if (m_rtClient.Contains(fx, fy)) | 141 if (m_rtClient.Contains(fx, fy)) |
| 141 return FWL_WidgetHit::Client; | 142 return FWL_WidgetHit::Client; |
| 142 if (IsMonthCalendarShowed()) { | 143 if (IsMonthCalendarShowed()) { |
| 143 CFX_RectF rect; | 144 CFX_RectF rect; |
| 144 m_pMonthCal->GetWidgetRect(rect); | 145 m_pMonthCal->GetWidgetRect(rect); |
| 145 if (rect.Contains(fx, fy)) | 146 if (rect.Contains(fx, fy)) |
| 146 return FWL_WidgetHit::Client; | 147 return FWL_WidgetHit::Client; |
| 147 } | 148 } |
| 148 return FWL_WidgetHit::Unknown; | 149 return FWL_WidgetHit::Unknown; |
| 149 } | 150 } |
| 150 | 151 |
| 151 FWL_Error IFWL_DateTimePicker::DrawWidget(CFX_Graphics* pGraphics, | 152 void IFWL_DateTimePicker::DrawWidget(CFX_Graphics* pGraphics, |
| 152 const CFX_Matrix* pMatrix) { | 153 const CFX_Matrix* pMatrix) { |
| 153 if (!pGraphics) | 154 if (!pGraphics) |
| 154 return FWL_Error::Indefinite; | 155 return; |
| 155 if (!m_pProperties->m_pThemeProvider) | 156 if (!m_pProperties->m_pThemeProvider) |
| 156 return FWL_Error::Indefinite; | 157 return; |
| 157 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; | 158 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; |
| 158 if (HasBorder()) { | 159 if (HasBorder()) { |
| 159 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); | 160 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); |
| 160 } | 161 } |
| 161 if (HasEdge()) { | 162 if (HasEdge()) { |
| 162 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); | 163 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); |
| 163 } | 164 } |
| 164 if (!m_rtBtn.IsEmpty()) { | 165 if (!m_rtBtn.IsEmpty()) { |
| 165 DrawDropDownButton(pGraphics, pTheme, pMatrix); | 166 DrawDropDownButton(pGraphics, pTheme, pMatrix); |
| 166 } | 167 } |
| 167 if (m_pWidgetMgr->IsFormDisabled()) { | 168 if (m_pWidgetMgr->IsFormDisabled()) { |
| 168 return DisForm_DrawWidget(pGraphics, pMatrix); | 169 DisForm_DrawWidget(pGraphics, pMatrix); |
| 170 return; |
| 169 } | 171 } |
| 170 return FWL_Error::Succeeded; | |
| 171 } | 172 } |
| 172 | 173 |
| 173 FWL_Error IFWL_DateTimePicker::SetThemeProvider(IFWL_ThemeProvider* pTP) { | 174 void IFWL_DateTimePicker::SetThemeProvider(IFWL_ThemeProvider* pTP) { |
| 174 m_pProperties->m_pThemeProvider = pTP; | 175 m_pProperties->m_pThemeProvider = pTP; |
| 175 m_pMonthCal->SetThemeProvider(pTP); | 176 m_pMonthCal->SetThemeProvider(pTP); |
| 176 return FWL_Error::Succeeded; | |
| 177 } | 177 } |
| 178 | 178 |
| 179 FWL_Error IFWL_DateTimePicker::GetCurSel(int32_t& iYear, | 179 FWL_Error IFWL_DateTimePicker::GetCurSel(int32_t& iYear, |
| 180 int32_t& iMonth, | 180 int32_t& iMonth, |
| 181 int32_t& iDay) { | 181 int32_t& iDay) { |
| 182 iYear = m_iYear; | 182 iYear = m_iYear; |
| 183 iMonth = m_iMonth; | 183 iMonth = m_iMonth; |
| 184 iDay = m_iDay; | 184 iDay = m_iDay; |
| 185 return FWL_Error::Succeeded; | 185 return FWL_Error::Succeeded; |
| 186 } | 186 } |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 m_pProperties->m_rtWidget.top); | 291 m_pProperties->m_rtWidget.top); |
| 292 rect.Union(rtMonth); | 292 rect.Union(rtMonth); |
| 293 } | 293 } |
| 294 return FWL_Error::Succeeded; | 294 return FWL_Error::Succeeded; |
| 295 } | 295 } |
| 296 | 296 |
| 297 FWL_Error IFWL_DateTimePicker::SetEditLimit(int32_t nLimit) { | 297 FWL_Error IFWL_DateTimePicker::SetEditLimit(int32_t nLimit) { |
| 298 return m_pEdit->SetLimit(nLimit); | 298 return m_pEdit->SetLimit(nLimit); |
| 299 } | 299 } |
| 300 | 300 |
| 301 FWL_Error IFWL_DateTimePicker::ModifyEditStylesEx(uint32_t dwStylesExAdded, | 301 void IFWL_DateTimePicker::ModifyEditStylesEx(uint32_t dwStylesExAdded, |
| 302 uint32_t dwStylesExRemoved) { | 302 uint32_t dwStylesExRemoved) { |
| 303 return m_pEdit->ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); | 303 m_pEdit->ModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); |
| 304 } | 304 } |
| 305 | 305 |
| 306 void IFWL_DateTimePicker::DrawDropDownButton(CFX_Graphics* pGraphics, | 306 void IFWL_DateTimePicker::DrawDropDownButton(CFX_Graphics* pGraphics, |
| 307 IFWL_ThemeProvider* pTheme, | 307 IFWL_ThemeProvider* pTheme, |
| 308 const CFX_Matrix* pMatrix) { | 308 const CFX_Matrix* pMatrix) { |
| 309 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_Spin) == | 309 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_DTP_Spin) == |
| 310 FWL_STYLEEXT_DTP_Spin) { | 310 FWL_STYLEEXT_DTP_Spin) { |
| 311 return; | 311 return; |
| 312 } | 312 } |
| 313 | 313 |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 552 return FWL_WidgetHit::Unknown; | 552 return FWL_WidgetHit::Unknown; |
| 553 } | 553 } |
| 554 | 554 |
| 555 bool IFWL_DateTimePicker::DisForm_IsNeedShowButton() { | 555 bool IFWL_DateTimePicker::DisForm_IsNeedShowButton() { |
| 556 bool bFocus = m_pProperties->m_dwStates & FWL_WGTSTATE_Focused || | 556 bool bFocus = m_pProperties->m_dwStates & FWL_WGTSTATE_Focused || |
| 557 m_pMonthCal->GetStates() & FWL_WGTSTATE_Focused || | 557 m_pMonthCal->GetStates() & FWL_WGTSTATE_Focused || |
| 558 m_pEdit->GetStates() & FWL_WGTSTATE_Focused; | 558 m_pEdit->GetStates() & FWL_WGTSTATE_Focused; |
| 559 return bFocus; | 559 return bFocus; |
| 560 } | 560 } |
| 561 | 561 |
| 562 FWL_Error IFWL_DateTimePicker::DisForm_Update() { | 562 void IFWL_DateTimePicker::DisForm_Update() { |
| 563 if (m_iLock) | 563 if (m_iLock) |
| 564 return FWL_Error::Indefinite; | 564 return; |
| 565 if (!m_pProperties->m_pThemeProvider) | 565 if (!m_pProperties->m_pThemeProvider) |
| 566 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 566 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
| 567 | 567 |
| 568 m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider); | 568 m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider); |
| 569 GetClientRect(m_rtClient); | 569 GetClientRect(m_rtClient); |
| 570 m_pEdit->SetWidgetRect(m_rtClient); | 570 m_pEdit->SetWidgetRect(m_rtClient); |
| 571 ReSetEditAlignment(); | 571 ReSetEditAlignment(); |
| 572 m_pEdit->Update(); | 572 m_pEdit->Update(); |
| 573 if (!m_pMonthCal->GetThemeProvider()) | 573 if (!m_pMonthCal->GetThemeProvider()) |
| 574 m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider); | 574 m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider); |
| 575 | 575 |
| 576 if (m_pProperties->m_pDataProvider) { | 576 if (m_pProperties->m_pDataProvider) { |
| 577 IFWL_DateTimePickerDP* pData = | 577 IFWL_DateTimePickerDP* pData = |
| 578 static_cast<IFWL_DateTimePickerDP*>(m_pProperties->m_pDataProvider); | 578 static_cast<IFWL_DateTimePickerDP*>(m_pProperties->m_pDataProvider); |
| 579 pData->GetToday(this, m_iCurYear, m_iCurMonth, m_iCurDay); | 579 pData->GetToday(this, m_iCurYear, m_iCurMonth, m_iCurDay); |
| 580 } | 580 } |
| 581 FX_FLOAT* pWidth = static_cast<FX_FLOAT*>( | 581 FX_FLOAT* pWidth = static_cast<FX_FLOAT*>( |
| 582 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); | 582 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); |
| 583 if (!pWidth) | 583 if (!pWidth) |
| 584 return FWL_Error::Succeeded; | 584 return; |
| 585 | 585 |
| 586 m_fBtn = *pWidth; | 586 m_fBtn = *pWidth; |
| 587 CFX_RectF rtMonthCal; | 587 CFX_RectF rtMonthCal; |
| 588 m_pMonthCal->GetWidgetRect(rtMonthCal, true); | 588 m_pMonthCal->GetWidgetRect(rtMonthCal, true); |
| 589 CFX_RectF rtPopUp; | 589 CFX_RectF rtPopUp; |
| 590 rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight, | 590 rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight, |
| 591 rtMonthCal.width, rtMonthCal.height); | 591 rtMonthCal.width, rtMonthCal.height); |
| 592 m_pMonthCal->SetWidgetRect(rtPopUp); | 592 m_pMonthCal->SetWidgetRect(rtPopUp); |
| 593 m_pMonthCal->Update(); | 593 m_pMonthCal->Update(); |
| 594 return FWL_Error::Succeeded; | |
| 595 } | 594 } |
| 596 | 595 |
| 597 FWL_Error IFWL_DateTimePicker::DisForm_GetWidgetRect(CFX_RectF& rect, | 596 void IFWL_DateTimePicker::DisForm_GetWidgetRect(CFX_RectF& rect, |
| 598 bool bAutoSize) { | 597 bool bAutoSize) { |
| 599 rect = m_pProperties->m_rtWidget; | 598 rect = m_pProperties->m_rtWidget; |
| 600 if (DisForm_IsNeedShowButton()) { | 599 if (DisForm_IsNeedShowButton()) { |
| 601 rect.width += m_fBtn; | 600 rect.width += m_fBtn; |
| 602 } | 601 } |
| 603 return FWL_Error::Succeeded; | |
| 604 } | 602 } |
| 605 | 603 |
| 606 FWL_Error IFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) { | 604 FWL_Error IFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) { |
| 607 rect = m_pProperties->m_rtWidget; | 605 rect = m_pProperties->m_rtWidget; |
| 608 if (DisForm_IsNeedShowButton()) { | 606 if (DisForm_IsNeedShowButton()) { |
| 609 rect.width += m_fBtn; | 607 rect.width += m_fBtn; |
| 610 } | 608 } |
| 611 if (IsMonthCalendarShowed()) { | 609 if (IsMonthCalendarShowed()) { |
| 612 CFX_RectF rtMonth; | 610 CFX_RectF rtMonth; |
| 613 m_pMonthCal->GetWidgetRect(rtMonth); | 611 m_pMonthCal->GetWidgetRect(rtMonth); |
| 614 rtMonth.Offset(m_pProperties->m_rtWidget.left, | 612 rtMonth.Offset(m_pProperties->m_rtWidget.left, |
| 615 m_pProperties->m_rtWidget.top); | 613 m_pProperties->m_rtWidget.top); |
| 616 rect.Union(rtMonth); | 614 rect.Union(rtMonth); |
| 617 } | 615 } |
| 618 return FWL_Error::Succeeded; | 616 return FWL_Error::Succeeded; |
| 619 } | 617 } |
| 620 | 618 |
| 621 FWL_Error IFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics, | 619 void IFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics, |
| 622 const CFX_Matrix* pMatrix) { | 620 const CFX_Matrix* pMatrix) { |
| 623 if (!pGraphics) | 621 if (!pGraphics) |
| 624 return FWL_Error::Indefinite; | 622 return; |
| 625 if (m_pEdit) { | 623 if (m_pEdit) { |
| 626 CFX_RectF rtEdit; | 624 CFX_RectF rtEdit; |
| 627 m_pEdit->GetWidgetRect(rtEdit); | 625 m_pEdit->GetWidgetRect(rtEdit); |
| 628 CFX_Matrix mt; | 626 CFX_Matrix mt; |
| 629 mt.Set(1, 0, 0, 1, rtEdit.left, rtEdit.top); | 627 mt.Set(1, 0, 0, 1, rtEdit.left, rtEdit.top); |
| 630 if (pMatrix) { | 628 if (pMatrix) { |
| 631 mt.Concat(*pMatrix); | 629 mt.Concat(*pMatrix); |
| 632 } | 630 } |
| 633 m_pEdit->DrawWidget(pGraphics, &mt); | 631 m_pEdit->DrawWidget(pGraphics, &mt); |
| 634 } | 632 } |
| 635 if (IsMonthCalendarShowed()) { | 633 if (IsMonthCalendarShowed()) { |
| 636 CFX_RectF rtMonth; | 634 CFX_RectF rtMonth; |
| 637 m_pMonthCal->GetWidgetRect(rtMonth); | 635 m_pMonthCal->GetWidgetRect(rtMonth); |
| 638 CFX_Matrix mt; | 636 CFX_Matrix mt; |
| 639 mt.Set(1, 0, 0, 1, rtMonth.left, rtMonth.top); | 637 mt.Set(1, 0, 0, 1, rtMonth.left, rtMonth.top); |
| 640 if (pMatrix) { | 638 if (pMatrix) { |
| 641 mt.Concat(*pMatrix); | 639 mt.Concat(*pMatrix); |
| 642 } | 640 } |
| 643 m_pMonthCal->DrawWidget(pGraphics, &mt); | 641 m_pMonthCal->DrawWidget(pGraphics, &mt); |
| 644 } | 642 } |
| 645 return FWL_Error::Succeeded; | 643 return; |
| 646 } | 644 } |
| 647 | 645 |
| 648 void IFWL_DateTimePicker::OnProcessMessage(CFWL_Message* pMessage) { | 646 void IFWL_DateTimePicker::OnProcessMessage(CFWL_Message* pMessage) { |
| 649 if (!pMessage) | 647 if (!pMessage) |
| 650 return; | 648 return; |
| 651 | 649 |
| 652 switch (pMessage->GetClassID()) { | 650 switch (pMessage->GetClassID()) { |
| 653 case CFWL_MessageType::SetFocus: | 651 case CFWL_MessageType::SetFocus: |
| 654 OnFocusChanged(pMessage, true); | 652 OnFocusChanged(pMessage, true); |
| 655 break; | 653 break; |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 return m_iCurDay; | 795 return m_iCurDay; |
| 798 } | 796 } |
| 799 | 797 |
| 800 int32_t IFWL_DateTimePicker::GetCurMonth(IFWL_Widget* pWidget) { | 798 int32_t IFWL_DateTimePicker::GetCurMonth(IFWL_Widget* pWidget) { |
| 801 return m_iCurMonth; | 799 return m_iCurMonth; |
| 802 } | 800 } |
| 803 | 801 |
| 804 int32_t IFWL_DateTimePicker::GetCurYear(IFWL_Widget* pWidget) { | 802 int32_t IFWL_DateTimePicker::GetCurYear(IFWL_Widget* pWidget) { |
| 805 return m_iCurYear; | 803 return m_iCurYear; |
| 806 } | 804 } |
| OLD | NEW |