| Index: xfa/fxfa/app/xfa_fwltheme.cpp
|
| diff --git a/xfa/fxfa/app/xfa_fwltheme.cpp b/xfa/fxfa/app/xfa_fwltheme.cpp
|
| index 45dca4d572f9d5c2ca2fcb6e4f80978576929dd8..7d07d98285c12fd3664231c31cacadfb83f10869 100644
|
| --- a/xfa/fxfa/app/xfa_fwltheme.cpp
|
| +++ b/xfa/fxfa/app/xfa_fwltheme.cpp
|
| @@ -55,20 +55,13 @@ CXFA_FWLTheme::CXFA_FWLTheme(CXFA_FFApp* pApp)
|
| m_pPushButtonTP(new CFWL_PushButtonTP),
|
| m_pCaretTP(new CFWL_CaretTP),
|
| m_pBarcodeTP(new CFWL_BarcodeTP),
|
| + m_pTextOut(new CFDE_TextOut),
|
| m_fCapacity(0.0f),
|
| m_dwCapacity(0),
|
| m_pCalendarFont(nullptr),
|
| m_pApp(pApp) {
|
| m_Rect.Reset();
|
| - Initialize();
|
| -}
|
| -
|
| -CXFA_FWLTheme::~CXFA_FWLTheme() {
|
| - Finalize();
|
| -}
|
|
|
| -FWL_Error CXFA_FWLTheme::Initialize() {
|
| - m_pTextOut.reset(new CFDE_TextOut);
|
| for (size_t i = 0; !m_pCalendarFont && i < FX_ArraySize(g_FWLTheme_CalFonts);
|
| ++i) {
|
| m_pCalendarFont = CFGAS_GEFont::LoadFont(g_FWLTheme_CalFonts[i], 0, 0,
|
| @@ -85,31 +78,29 @@ FWL_Error CXFA_FWLTheme::Initialize() {
|
| }
|
|
|
| ASSERT(m_pCalendarFont);
|
| - return FWL_Error::Succeeded;
|
| }
|
|
|
| -FWL_Error CXFA_FWLTheme::Finalize() {
|
| +CXFA_FWLTheme::~CXFA_FWLTheme() {
|
| m_pTextOut.reset();
|
| if (m_pCalendarFont) {
|
| m_pCalendarFont->Release();
|
| m_pCalendarFont = nullptr;
|
| }
|
| FWLTHEME_Release();
|
| - return FWL_Error::Succeeded;
|
| }
|
|
|
| -FX_BOOL CXFA_FWLTheme::DrawBackground(CFWL_ThemeBackground* pParams) {
|
| - return GetTheme(pParams->m_pWidget)->DrawBackground(pParams);
|
| +void CXFA_FWLTheme::DrawBackground(CFWL_ThemeBackground* pParams) {
|
| + GetTheme(pParams->m_pWidget)->DrawBackground(pParams);
|
| }
|
|
|
| -FX_BOOL CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) {
|
| +void CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) {
|
| if (pParams->m_wsText.IsEmpty())
|
| - return FALSE;
|
| + return;
|
|
|
| if (pParams->m_pWidget->GetClassID() == FWL_Type::MonthCalendar) {
|
| CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget);
|
| if (!pWidget)
|
| - return FALSE;
|
| + return;
|
|
|
| m_pTextOut->SetStyles(pParams->m_dwTTOStyles);
|
| m_pTextOut->SetAlignment(pParams->m_iTTOAlign);
|
| @@ -132,7 +123,8 @@ FX_BOOL CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) {
|
| CFX_Graphics* pGraphics = pParams->m_pGraphics;
|
| CFX_RenderDevice* pRenderDevice = pGraphics->GetRenderDevice();
|
| if (!pRenderDevice)
|
| - return FALSE;
|
| + return;
|
| +
|
| m_pTextOut->SetRenderDevice(pRenderDevice);
|
| CFX_Matrix mtPart = pParams->m_matrix;
|
| CFX_Matrix* pMatrix = pGraphics->GetMatrix();
|
| @@ -142,17 +134,18 @@ FX_BOOL CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) {
|
| m_pTextOut->SetMatrix(mtPart);
|
| m_pTextOut->DrawLogicText(pParams->m_wsText.c_str(),
|
| pParams->m_wsText.GetLength(), pParams->m_rtPart);
|
| - return TRUE;
|
| + return;
|
| }
|
| CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget);
|
| if (!pWidget)
|
| - return FALSE;
|
| + return;
|
|
|
| CXFA_WidgetAcc* pAcc = pWidget->GetDataAcc();
|
| CFX_Graphics* pGraphics = pParams->m_pGraphics;
|
| CFX_RenderDevice* pRenderDevice = pGraphics->GetRenderDevice();
|
| if (!pRenderDevice)
|
| - return FALSE;
|
| + return;
|
| +
|
| m_pTextOut->SetRenderDevice(pRenderDevice);
|
| m_pTextOut->SetStyles(pParams->m_dwTTOStyles);
|
| m_pTextOut->SetAlignment(pParams->m_iTTOAlign);
|
| @@ -161,13 +154,12 @@ FX_BOOL CXFA_FWLTheme::DrawText(CFWL_ThemeText* pParams) {
|
| m_pTextOut->SetTextColor(pAcc->GetTextColor());
|
| CFX_Matrix mtPart = pParams->m_matrix;
|
| CFX_Matrix* pMatrix = pGraphics->GetMatrix();
|
| - if (pMatrix) {
|
| + if (pMatrix)
|
| mtPart.Concat(*pMatrix);
|
| - }
|
| +
|
| m_pTextOut->SetMatrix(mtPart);
|
| m_pTextOut->DrawLogicText(pParams->m_wsText.c_str(),
|
| pParams->m_wsText.GetLength(), pParams->m_rtPart);
|
| - return TRUE;
|
| }
|
|
|
| void* CXFA_FWLTheme::GetCapacity(CFWL_ThemePart* pThemePart,
|
| @@ -178,32 +170,36 @@ void* CXFA_FWLTheme::GetCapacity(CFWL_ThemePart* pThemePart,
|
| XFA_ThemeGetOuterWidget(pThemePart->m_pWidget)) {
|
| return pWidget->GetDataAcc()->GetFDEFont();
|
| }
|
| - } break;
|
| + break;
|
| + }
|
| case CFWL_WidgetCapacity::FontSize: {
|
| if (CXFA_FFWidget* pWidget =
|
| XFA_ThemeGetOuterWidget(pThemePart->m_pWidget)) {
|
| m_fCapacity = pWidget->GetDataAcc()->GetFontSize();
|
| return &m_fCapacity;
|
| }
|
| - } break;
|
| + break;
|
| + }
|
| case CFWL_WidgetCapacity::TextColor: {
|
| if (CXFA_FFWidget* pWidget =
|
| XFA_ThemeGetOuterWidget(pThemePart->m_pWidget)) {
|
| m_dwCapacity = pWidget->GetDataAcc()->GetTextColor();
|
| return &m_dwCapacity;
|
| }
|
| - } break;
|
| + break;
|
| + }
|
| case CFWL_WidgetCapacity::LineHeight: {
|
| if (CXFA_FFWidget* pWidget =
|
| XFA_ThemeGetOuterWidget(pThemePart->m_pWidget)) {
|
| m_fCapacity = pWidget->GetDataAcc()->GetLineHeight();
|
| return &m_fCapacity;
|
| }
|
| - } break;
|
| + break;
|
| + }
|
| case CFWL_WidgetCapacity::ScrollBarWidth: {
|
| m_fCapacity = 9;
|
| return &m_fCapacity;
|
| - } break;
|
| + }
|
| case CFWL_WidgetCapacity::UIMargin: {
|
| CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pThemePart->m_pWidget);
|
| if (pWidget) {
|
| @@ -228,7 +224,7 @@ void* CXFA_FWLTheme::GetCapacity(CFWL_ThemePart* pThemePart,
|
| }
|
| }
|
| return &m_Rect;
|
| - } break;
|
| + }
|
| case CFWL_WidgetCapacity::SpaceAboveBelow: {
|
| CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pThemePart->m_pWidget);
|
| if (pWidget) {
|
| @@ -239,7 +235,7 @@ void* CXFA_FWLTheme::GetCapacity(CFWL_ThemePart* pThemePart,
|
| }
|
| }
|
| return &m_SizeAboveBelow;
|
| - } break;
|
| + }
|
| default:
|
| break;
|
| }
|
| @@ -323,19 +319,16 @@ void* CXFA_FWLTheme::GetCapacity(CFWL_ThemePart* pThemePart,
|
| return GetTheme(pThemePart->m_pWidget)->GetCapacity(pThemePart, dwCapacity);
|
| }
|
|
|
| -FX_BOOL CXFA_FWLTheme::IsCustomizedLayout(IFWL_Widget* pWidget) {
|
| +bool CXFA_FWLTheme::IsCustomizedLayout(IFWL_Widget* pWidget) {
|
| return GetTheme(pWidget)->IsCustomizedLayout(pWidget);
|
| }
|
|
|
| -FX_BOOL CXFA_FWLTheme::CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) {
|
| +void CXFA_FWLTheme::CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) {
|
| if (pParams->m_pWidget->GetClassID() == FWL_Type::MonthCalendar) {
|
| CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget);
|
| - if (!pWidget)
|
| - return FALSE;
|
| - if (!pParams)
|
| - return FALSE;
|
| - if (!m_pTextOut)
|
| - return FALSE;
|
| + if (!pWidget || !pParams || !m_pTextOut)
|
| + return;
|
| +
|
| m_pTextOut->SetFont(m_pCalendarFont);
|
| m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize);
|
| m_pTextOut->SetTextColor(FWLTHEME_CAPACITY_TextColor);
|
| @@ -343,23 +336,23 @@ FX_BOOL CXFA_FWLTheme::CalcTextRect(CFWL_ThemeText* pParams, CFX_RectF& rect) {
|
| m_pTextOut->SetStyles(pParams->m_dwTTOStyles);
|
| m_pTextOut->CalcLogicSize(pParams->m_wsText.c_str(),
|
| pParams->m_wsText.GetLength(), rect);
|
| - return TRUE;
|
| }
|
| +
|
| CXFA_FFWidget* pWidget = XFA_ThemeGetOuterWidget(pParams->m_pWidget);
|
| if (!pWidget)
|
| - return FALSE;
|
| + return;
|
|
|
| CXFA_WidgetAcc* pAcc = pWidget->GetDataAcc();
|
| m_pTextOut->SetFont(pAcc->GetFDEFont());
|
| m_pTextOut->SetFontSize(pAcc->GetFontSize());
|
| m_pTextOut->SetTextColor(pAcc->GetTextColor());
|
| if (!pParams)
|
| - return FALSE;
|
| + return;
|
| +
|
| m_pTextOut->SetAlignment(pParams->m_iTTOAlign);
|
| m_pTextOut->SetStyles(pParams->m_dwTTOStyles);
|
| m_pTextOut->CalcLogicSize(pParams->m_wsText.c_str(),
|
| pParams->m_wsText.GetLength(), rect);
|
| - return TRUE;
|
| }
|
|
|
| CFWL_WidgetTP* CXFA_FWLTheme::GetTheme(IFWL_Widget* pWidget) {
|
|
|