| Index: xfa/fwl/core/cfwl_datetimepicker.cpp
|
| diff --git a/xfa/fwl/core/cfwl_datetimepicker.cpp b/xfa/fwl/core/cfwl_datetimepicker.cpp
|
| index 4e12296b131b5e5bc5040e54362316496195e18d..73a3a2f43d35a1191600d7977e18c60568ca8acf 100644
|
| --- a/xfa/fwl/core/cfwl_datetimepicker.cpp
|
| +++ b/xfa/fwl/core/cfwl_datetimepicker.cpp
|
| @@ -129,7 +129,7 @@ FWL_WidgetHit CFWL_DateTimePicker::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
|
| return FWL_WidgetHit::Client;
|
| if (IsMonthCalendarVisible()) {
|
| CFX_RectF rect;
|
| - m_pMonthCal->GetWidgetRect(rect);
|
| + m_pMonthCal->GetWidgetRect(rect, false);
|
| if (rect.Contains(fx, fy))
|
| return FWL_WidgetHit::Client;
|
| }
|
| @@ -210,7 +210,7 @@ void CFWL_DateTimePicker::GetBBox(CFX_RectF& rect) const {
|
| rect = m_pProperties->m_rtWidget;
|
| if (IsMonthCalendarVisible()) {
|
| CFX_RectF rtMonth;
|
| - m_pMonthCal->GetWidgetRect(rtMonth);
|
| + m_pMonthCal->GetWidgetRect(rtMonth, false);
|
| rtMonth.Offset(m_pProperties->m_rtWidget.left,
|
| m_pProperties->m_rtWidget.top);
|
| rect.Union(rtMonth);
|
| @@ -268,7 +268,7 @@ void CFWL_DateTimePicker::ShowMonthCalendar(bool bActivate) {
|
| }
|
|
|
| CFX_RectF rtMonth;
|
| - m_pMonthCal->GetWidgetRect(rtMonth);
|
| + m_pMonthCal->GetWidgetRect(rtMonth, false);
|
|
|
| CFX_RectF rtAnchor;
|
| rtAnchor.Set(0, 0, m_pProperties->m_rtWidget.width,
|
| @@ -277,7 +277,10 @@ void CFWL_DateTimePicker::ShowMonthCalendar(bool bActivate) {
|
| m_pForm->SetWidgetRect(rtMonth);
|
|
|
| rtMonth.left = rtMonth.top = 0;
|
| - m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible, !bActivate);
|
| + if (bActivate)
|
| + m_pMonthCal->RemoveStates(FWL_WGTSTATE_Invisible);
|
| + else
|
| + m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible);
|
| m_pMonthCal->SetWidgetRect(rtMonth);
|
| m_pMonthCal->Update();
|
| m_pForm->DoModal();
|
| @@ -396,7 +399,10 @@ void CFWL_DateTimePicker::DisForm_ShowMonthCalendar(bool bActivate) {
|
| m_pMonthCal->SetSelect(m_iYear, m_iMonth, m_iDay);
|
| m_pMonthCal->Update();
|
| }
|
| - m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible, !bActivate);
|
| + if (bActivate)
|
| + m_pMonthCal->RemoveStates(FWL_WGTSTATE_Invisible);
|
| + else
|
| + m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible);
|
|
|
| if (bActivate) {
|
| CFWL_MsgSetFocus msg;
|
| @@ -408,7 +414,7 @@ void CFWL_DateTimePicker::DisForm_ShowMonthCalendar(bool bActivate) {
|
| CFX_RectF rtInvalidate, rtCal;
|
| rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width,
|
| m_pProperties->m_rtWidget.height);
|
| - m_pMonthCal->GetWidgetRect(rtCal);
|
| + m_pMonthCal->GetWidgetRect(rtCal, false);
|
| rtInvalidate.Union(rtCal);
|
| rtInvalidate.Inflate(2, 2);
|
| Repaint(&rtInvalidate);
|
| @@ -426,7 +432,7 @@ FWL_WidgetHit CFWL_DateTimePicker::DisForm_HitTest(FX_FLOAT fx,
|
| if (rect.Contains(fx, fy))
|
| return FWL_WidgetHit::Client;
|
| if (IsMonthCalendarVisible()) {
|
| - m_pMonthCal->GetWidgetRect(rect);
|
| + m_pMonthCal->GetWidgetRect(rect, false);
|
| if (rect.Contains(fx, fy))
|
| return FWL_WidgetHit::Client;
|
| }
|
| @@ -485,7 +491,7 @@ void CFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) const {
|
| return;
|
|
|
| CFX_RectF rtMonth;
|
| - m_pMonthCal->GetWidgetRect(rtMonth);
|
| + m_pMonthCal->GetWidgetRect(rtMonth, false);
|
| rtMonth.Offset(m_pProperties->m_rtWidget.left, m_pProperties->m_rtWidget.top);
|
| rect.Union(rtMonth);
|
| }
|
| @@ -496,7 +502,7 @@ void CFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics,
|
| return;
|
| if (m_pEdit) {
|
| CFX_RectF rtEdit;
|
| - m_pEdit->GetWidgetRect(rtEdit);
|
| + m_pEdit->GetWidgetRect(rtEdit, false);
|
|
|
| CFX_Matrix mt;
|
| mt.Set(1, 0, 0, 1, rtEdit.left, rtEdit.top);
|
| @@ -508,7 +514,7 @@ void CFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics,
|
| return;
|
|
|
| CFX_RectF rtMonth;
|
| - m_pMonthCal->GetWidgetRect(rtMonth);
|
| + m_pMonthCal->GetWidgetRect(rtMonth, false);
|
| CFX_Matrix mt;
|
| mt.Set(1, 0, 0, 1, rtMonth.left, rtMonth.top);
|
| if (pMatrix)
|
|
|