void* IFWL_Widget::GetThemeCapacity(CFWL_WidgetCapacity dwCapacity) { IFWL_ThemeProvider* pTheme = GetAvailableTheme(); if (!pTheme) return nullptr; CFWL_ThemePart part; part.m_pWidget = this; return pTheme->GetCapacity(&part, dwCapacity); }
FWL_ERR CFWL_ToolTipImp::GetClientRect(CFX_RectF& rect) { FX_FLOAT x = 0; FX_FLOAT y = 0; FX_FLOAT t = 0; IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; if (pTheme) { CFWL_ThemePart part; part.m_pWidget = m_pInterface; x = *static_cast<FX_FLOAT*>( pTheme->GetCapacity(&part, FWL_WGTCAPACITY_CXBorder)); y = *static_cast<FX_FLOAT*>( pTheme->GetCapacity(&part, FWL_WGTCAPACITY_CYBorder)); } rect = m_pProperties->m_rtWidget; rect.Offset(-rect.left, -rect.top); rect.Deflate(x, t, x, y); return FWL_ERR_Succeeded; }
void CFWL_ScrollBarImp::Layout() { IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; CFWL_ThemePart part; part.m_pWidget = m_pInterface; m_fMinThumb = *static_cast<FX_FLOAT*>( pTheme->GetCapacity(&part, FWL_CAPACITY_SCB_Size)); m_bCustomLayout = pTheme->IsCustomizedLayout(m_pInterface); GetClientRect(m_rtClient); CalcButtonLen(); CalcMinButtonRect(m_rtMinBtn); CalcMaxButtonRect(m_rtMaxBtn); CalcThumbButtonRect(m_rtThumb); CalcMinTrackRect(m_rtMinTrack); CalcMaxTrackRect(m_rtMaxTrack); }