Index: xfa/fwl/core/cfwl_datetimepicker.cpp |
diff --git a/xfa/fwl/core/cfwl_datetimepicker.cpp b/xfa/fwl/core/cfwl_datetimepicker.cpp |
index 28f174c374c5f28cfa2f2ca24ce886de7fcf2a1b..29aaaf0a2ed527a6ac29328dc8aaa6dc4562a9b8 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(); |
@@ -395,7 +398,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(m_pEdit.get(), m_pMonthCal.get()); |
@@ -405,7 +411,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); |
@@ -423,7 +429,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; |
} |
@@ -482,7 +488,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); |
} |
@@ -493,7 +499,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); |
@@ -505,7 +511,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) |