summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/cfwl_datetimepicker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/core/cfwl_datetimepicker.cpp')
-rw-r--r--xfa/fwl/core/cfwl_datetimepicker.cpp61
1 files changed, 14 insertions, 47 deletions
diff --git a/xfa/fwl/core/cfwl_datetimepicker.cpp b/xfa/fwl/core/cfwl_datetimepicker.cpp
index 651b1b38c8..63f8955a0e 100644
--- a/xfa/fwl/core/cfwl_datetimepicker.cpp
+++ b/xfa/fwl/core/cfwl_datetimepicker.cpp
@@ -23,7 +23,6 @@
namespace {
-const int kDateTimePickerWidth = 100;
const int kDateTimePickerHeight = 20;
} // namespace
@@ -46,8 +45,7 @@ CFWL_DateTimePicker::CFWL_DateTimePicker(const CFWL_App* app)
m_pMonthCal.reset(
new CFWL_MonthCalendar(m_pOwnerApp, std::move(monthProp), this));
- CFX_RectF rtMonthCal;
- m_pMonthCal->GetWidgetRect(rtMonthCal, true);
+ CFX_RectF rtMonthCal = m_pMonthCal->GetAutosizedWidgetRect();
rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height);
m_pMonthCal->SetWidgetRect(rtMonthCal);
@@ -68,20 +66,6 @@ FWL_Type CFWL_DateTimePicker::GetClassID() const {
return FWL_Type::DateTimePicker;
}
-void CFWL_DateTimePicker::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) {
- if (m_pWidgetMgr->IsFormDisabled()) {
- DisForm_GetWidgetRect(rect, bAutoSize);
- return;
- }
- if (!bAutoSize) {
- rect = m_pProperties->m_rtWidget;
- return;
- }
-
- rect.Set(0, 0, kDateTimePickerWidth, kDateTimePickerHeight);
- InflateWidgetRect(rect);
-}
-
void CFWL_DateTimePicker::Update() {
if (m_pWidgetMgr->IsFormDisabled()) {
DisForm_Update();
@@ -112,8 +96,7 @@ void CFWL_DateTimePicker::Update() {
if (!(m_pMonthCal->GetThemeProvider()))
m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider);
- CFX_RectF rtMonthCal;
- m_pMonthCal->GetWidgetRect(rtMonthCal, true);
+ CFX_RectF rtMonthCal = m_pMonthCal->GetAutosizedWidgetRect();
CFX_RectF rtPopUp;
rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight,
rtMonthCal.width, rtMonthCal.height);
@@ -128,8 +111,7 @@ FWL_WidgetHit CFWL_DateTimePicker::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
if (m_rtClient.Contains(fx, fy))
return FWL_WidgetHit::Client;
if (IsMonthCalendarVisible()) {
- CFX_RectF rect;
- m_pMonthCal->GetWidgetRect(rect, false);
+ CFX_RectF rect = m_pMonthCal->GetWidgetRect();
if (rect.Contains(fx, fy))
return FWL_WidgetHit::Client;
}
@@ -208,8 +190,7 @@ void CFWL_DateTimePicker::GetBBox(CFX_RectF& rect) const {
rect = m_pProperties->m_rtWidget;
if (IsMonthCalendarVisible()) {
- CFX_RectF rtMonth;
- m_pMonthCal->GetWidgetRect(rtMonth, false);
+ CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect();
rtMonth.Offset(m_pProperties->m_rtWidget.left,
m_pProperties->m_rtWidget.top);
rect.Union(rtMonth);
@@ -266,8 +247,7 @@ void CFWL_DateTimePicker::ShowMonthCalendar(bool bActivate) {
return;
}
- CFX_RectF rtMonth;
- m_pMonthCal->GetWidgetRect(rtMonth, false);
+ CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect();
CFX_RectF rtAnchor;
rtAnchor.Set(0, 0, m_pProperties->m_rtWidget.width,
@@ -383,8 +363,7 @@ void CFWL_DateTimePicker::DisForm_ShowMonthCalendar(bool bActivate) {
return;
if (bActivate) {
- CFX_RectF rtMonthCal;
- m_pMonthCal->GetWidgetRect(rtMonthCal, true);
+ CFX_RectF rtMonthCal = m_pMonthCal->GetAutosizedWidgetRect();
FX_FLOAT fPopupMin = rtMonthCal.height;
FX_FLOAT fPopupMax = rtMonthCal.height;
CFX_RectF rtAnchor(m_pProperties->m_rtWidget);
@@ -407,10 +386,11 @@ void CFWL_DateTimePicker::DisForm_ShowMonthCalendar(bool bActivate) {
m_pEdit->GetDelegate()->OnProcessMessage(&msg);
}
- CFX_RectF rtInvalidate, rtCal;
+ CFX_RectF rtInvalidate;
rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width,
m_pProperties->m_rtWidget.height);
- m_pMonthCal->GetWidgetRect(rtCal, false);
+
+ CFX_RectF rtCal = m_pMonthCal->GetWidgetRect();
rtInvalidate.Union(rtCal);
rtInvalidate.Inflate(2, 2);
Repaint(&rtInvalidate);
@@ -428,8 +408,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, false);
- if (rect.Contains(fx, fy))
+ if (m_pMonthCal->GetWidgetRect().Contains(fx, fy))
return FWL_WidgetHit::Client;
}
return FWL_WidgetHit::Unknown;
@@ -462,9 +441,7 @@ void CFWL_DateTimePicker::DisForm_Update() {
return;
m_fBtn = *pWidth;
- CFX_RectF rtMonthCal;
- m_pMonthCal->GetWidgetRect(rtMonthCal, true);
-
+ CFX_RectF rtMonthCal = m_pMonthCal->GetAutosizedWidgetRect();
CFX_RectF rtPopUp;
rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight,
rtMonthCal.width, rtMonthCal.height);
@@ -472,13 +449,6 @@ void CFWL_DateTimePicker::DisForm_Update() {
m_pMonthCal->Update();
}
-void CFWL_DateTimePicker::DisForm_GetWidgetRect(CFX_RectF& rect,
- bool bAutoSize) {
- rect = m_pProperties->m_rtWidget;
- if (DisForm_IsNeedShowButton())
- rect.width += m_fBtn;
-}
-
void CFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) const {
rect = m_pProperties->m_rtWidget;
if (DisForm_IsNeedShowButton())
@@ -486,8 +456,7 @@ void CFWL_DateTimePicker::DisForm_GetBBox(CFX_RectF& rect) const {
if (!IsMonthCalendarVisible())
return;
- CFX_RectF rtMonth;
- m_pMonthCal->GetWidgetRect(rtMonth, false);
+ CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect();
rtMonth.Offset(m_pProperties->m_rtWidget.left, m_pProperties->m_rtWidget.top);
rect.Union(rtMonth);
}
@@ -497,8 +466,7 @@ void CFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics,
if (!pGraphics)
return;
if (m_pEdit) {
- CFX_RectF rtEdit;
- m_pEdit->GetWidgetRect(rtEdit, false);
+ CFX_RectF rtEdit = m_pEdit->GetWidgetRect();
CFX_Matrix mt;
mt.Set(1, 0, 0, 1, rtEdit.left, rtEdit.top);
@@ -509,8 +477,7 @@ void CFWL_DateTimePicker::DisForm_DrawWidget(CFX_Graphics* pGraphics,
if (!IsMonthCalendarVisible())
return;
- CFX_RectF rtMonth;
- m_pMonthCal->GetWidgetRect(rtMonth, false);
+ CFX_RectF rtMonth = m_pMonthCal->GetWidgetRect();
CFX_Matrix mt;
mt.Set(1, 0, 0, 1, rtMonth.left, rtMonth.top);
if (pMatrix)