summaryrefslogtreecommitdiff
path: root/xfa/fwl/cfwl_monthcalendar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/cfwl_monthcalendar.cpp')
-rw-r--r--xfa/fwl/cfwl_monthcalendar.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/xfa/fwl/cfwl_monthcalendar.cpp b/xfa/fwl/cfwl_monthcalendar.cpp
index f3a34b0250..d55984f7d7 100644
--- a/xfa/fwl/cfwl_monthcalendar.cpp
+++ b/xfa/fwl/cfwl_monthcalendar.cpp
@@ -122,10 +122,11 @@ void CFWL_MonthCalendar::DrawWidget(CXFA_Graphics* pGraphics,
const CFX_Matrix& matrix) {
if (!pGraphics)
return;
+
if (!m_pProperties->m_pThemeProvider)
m_pProperties->m_pThemeProvider = GetAvailableTheme();
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider;
+ IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
if (HasBorder())
DrawBorder(pGraphics, CFWL_Part::Border, pTheme, matrix);
@@ -215,8 +216,8 @@ void CFWL_MonthCalendar::DrawCaption(CXFA_Graphics* pGraphics,
textParam.m_dwStates = CFWL_PartState_Normal;
textParam.m_pGraphics = pGraphics;
textParam.m_wsText = GetHeadText(m_iCurYear, m_iCurMonth);
- m_szHead =
- CalcTextSize(textParam.m_wsText, m_pProperties->m_pThemeProvider, false);
+ m_szHead = CalcTextSize(textParam.m_wsText,
+ m_pProperties->m_pThemeProvider.Get(), false);
CalcHeadSize();
textParam.m_rtPart = m_rtHeadText;
textParam.m_dwTTOStyles.single_line_ = true;
@@ -307,8 +308,8 @@ void CFWL_MonthCalendar::DrawToday(CXFA_Graphics* pGraphics,
params.m_iTTOAlign = FDE_TextAlignment::kCenterLeft;
params.m_wsText = GetTodayText(m_iYear, m_iMonth, m_iDay);
- m_szToday =
- CalcTextSize(params.m_wsText, m_pProperties->m_pThemeProvider, false);
+ m_szToday = CalcTextSize(params.m_wsText,
+ m_pProperties->m_pThemeProvider.Get(), false);
CalcTodaySize();
params.m_rtPart = m_rtToday;
params.m_dwTTOStyles.single_line_ = true;
@@ -383,18 +384,18 @@ void CFWL_MonthCalendar::DrawDatesInCircle(CXFA_Graphics* pGraphics,
}
CFX_SizeF CFWL_MonthCalendar::CalcSize() {
- if (!m_pProperties->m_pThemeProvider)
+ IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider.Get();
+ if (!pTheme)
return CFX_SizeF();
CFWL_ThemePart params;
params.m_pWidget = this;
- IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider;
+
float fMaxWeekW = 0.0f;
float fMaxWeekH = 0.0f;
-
for (uint32_t i = 0; i < 7; ++i) {
- CFX_SizeF sz = CalcTextSize(GetCapacityForDay(pTheme, params, i),
- m_pProperties->m_pThemeProvider, false);
+ CFX_SizeF sz =
+ CalcTextSize(GetCapacityForDay(pTheme, params, i), pTheme, false);
fMaxWeekW = (fMaxWeekW >= sz.width) ? fMaxWeekW : sz.width;
fMaxWeekH = (fMaxWeekH >= sz.height) ? fMaxWeekH : sz.height;
}
@@ -402,8 +403,7 @@ CFX_SizeF CFWL_MonthCalendar::CalcSize() {
float fDayMaxW = 0.0f;
float fDayMaxH = 0.0f;
for (int day = 10; day <= 31; day++) {
- CFX_SizeF sz = CalcTextSize(WideString::Format(L"%d", day),
- m_pProperties->m_pThemeProvider, false);
+ CFX_SizeF sz = CalcTextSize(WideString::Format(L"%d", day), pTheme, false);
fDayMaxW = (fDayMaxW >= sz.width) ? fDayMaxW : sz.width;
fDayMaxH = (fDayMaxH >= sz.height) ? fDayMaxH : sz.height;
}
@@ -415,18 +415,18 @@ CFX_SizeF CFWL_MonthCalendar::CalcSize() {
fs.width = m_szCell.width * MONTHCAL_COLUMNS +
MONTHCAL_HMARGIN * MONTHCAL_COLUMNS * 2 +
MONTHCAL_HEADER_BTN_HMARGIN * 2;
+
float fMonthMaxW = 0.0f;
float fMonthMaxH = 0.0f;
-
for (uint32_t i = 0; i < 12; ++i) {
- CFX_SizeF sz = CalcTextSize(GetCapacityForMonth(pTheme, params, i),
- m_pProperties->m_pThemeProvider, false);
+ CFX_SizeF sz =
+ CalcTextSize(GetCapacityForMonth(pTheme, params, i), pTheme, false);
fMonthMaxW = (fMonthMaxW >= sz.width) ? fMonthMaxW : sz.width;
fMonthMaxH = (fMonthMaxH >= sz.height) ? fMonthMaxH : sz.height;
}
- CFX_SizeF szYear = CalcTextSize(GetHeadText(m_iYear, m_iMonth),
- m_pProperties->m_pThemeProvider, false);
+ CFX_SizeF szYear =
+ CalcTextSize(GetHeadText(m_iYear, m_iMonth), pTheme, false);
fMonthMaxH = std::max(fMonthMaxH, szYear.height);
m_szHead = CFX_SizeF(fMonthMaxW + szYear.width, fMonthMaxH);
fMonthMaxW =
@@ -434,7 +434,7 @@ CFX_SizeF CFWL_MonthCalendar::CalcSize() {
fs.width = std::max(fs.width, fMonthMaxW);
m_wsToday = GetTodayText(m_iYear, m_iMonth, m_iDay);
- m_szToday = CalcTextSize(m_wsToday, m_pProperties->m_pThemeProvider, false);
+ m_szToday = CalcTextSize(m_wsToday, pTheme, false);
m_szToday.height = (m_szToday.height >= m_szCell.height) ? m_szToday.height
: m_szCell.height;
fs.height = m_szCell.width + m_szCell.height * (MONTHCAL_ROWS - 2) +