| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h" | 7 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h" |
| 8 | 8 |
| 9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
| 10 #include "xfa/fwl/basewidget/ifwl_tooltip.h" | 10 #include "xfa/fwl/basewidget/ifwl_tooltip.h" |
| 11 #include "xfa/fwl/core/cfwl_themebackground.h" | 11 #include "xfa/fwl/core/cfwl_themebackground.h" |
| 12 #include "xfa/fwl/core/cfwl_themepart.h" | 12 #include "xfa/fwl/core/cfwl_themepart.h" |
| 13 #include "xfa/fwl/core/cfwl_themetext.h" | 13 #include "xfa/fwl/core/cfwl_themetext.h" |
| 14 #include "xfa/fwl/core/fwl_formimp.h" | 14 #include "xfa/fwl/core/fwl_formimp.h" |
| 15 #include "xfa/fwl/core/fwl_noteimp.h" | 15 #include "xfa/fwl/core/fwl_noteimp.h" |
| 16 #include "xfa/fwl/core/fwl_widgetimp.h" | 16 #include "xfa/fwl/core/fwl_widgetimp.h" |
| 17 #include "xfa/fwl/core/ifwl_themeprovider.h" | 17 #include "xfa/fwl/core/ifwl_themeprovider.h" |
| 18 #include "xfa/fwl/core/ifwl_tooltiptarget.h" | 18 #include "xfa/fwl/core/ifwl_tooltiptarget.h" |
| 19 #include "xfa/fwl/theme/cfwl_widgettp.h" | 19 #include "xfa/fwl/theme/cfwl_widgettp.h" |
| 20 | 20 |
| 21 // static | 21 // static |
| 22 IFWL_ToolTip* IFWL_ToolTip::Create(const CFWL_WidgetImpProperties& properties, | 22 IFWL_ToolTip* IFWL_ToolTip::Create(const CFWL_WidgetImpProperties& properties, |
| 23 IFWL_Widget* pOuter) { | 23 IFWL_Widget* pOuter) { |
| 24 IFWL_ToolTip* pToolTip = new IFWL_ToolTip; | 24 IFWL_ToolTip* pToolTip = new IFWL_ToolTip; |
| 25 CFWL_ToolTipImp* pToolTipImpl = new CFWL_ToolTipImp(properties, pOuter); | 25 CFWL_ToolTipImp* pToolTipImpl = new CFWL_ToolTipImp(properties, pOuter); |
| 26 pToolTip->SetImpl(pToolTipImpl); | 26 pToolTip->SetImpl(pToolTipImpl); |
| 27 pToolTipImpl->SetInterface(pToolTip); | 27 pToolTipImpl->SetInterface(pToolTip); |
| 28 return pToolTip; | 28 return pToolTip; |
| 29 } | 29 } |
| 30 FWL_ERR IFWL_ToolTip::SetAnchor(const CFX_RectF& rtAnchor) { | 30 |
| 31 return static_cast<CFWL_ToolTipImp*>(GetImpl())->SetAnchor(rtAnchor); | 31 void IFWL_ToolTip::SetAnchor(const CFX_RectF& rtAnchor) { |
| 32 static_cast<CFWL_ToolTipImp*>(GetImpl())->SetAnchor(rtAnchor); |
| 32 } | 33 } |
| 33 FWL_ERR IFWL_ToolTip::Show() { | 34 |
| 34 return static_cast<CFWL_ToolTipImp*>(GetImpl())->Show(); | 35 void IFWL_ToolTip::Show() { |
| 36 static_cast<CFWL_ToolTipImp*>(GetImpl())->Show(); |
| 35 } | 37 } |
| 36 FWL_ERR IFWL_ToolTip::Hide() { | 38 |
| 37 return static_cast<CFWL_ToolTipImp*>(GetImpl())->Hide(); | 39 void IFWL_ToolTip::Hide() { |
| 40 static_cast<CFWL_ToolTipImp*>(GetImpl())->Hide(); |
| 38 } | 41 } |
| 42 |
| 39 IFWL_ToolTip::IFWL_ToolTip() {} | 43 IFWL_ToolTip::IFWL_ToolTip() {} |
| 44 |
| 40 CFWL_ToolTipImp::CFWL_ToolTipImp(const CFWL_WidgetImpProperties& properties, | 45 CFWL_ToolTipImp::CFWL_ToolTipImp(const CFWL_WidgetImpProperties& properties, |
| 41 IFWL_Widget* pOuter) | 46 IFWL_Widget* pOuter) |
| 42 : CFWL_FormImp(properties, pOuter), | 47 : CFWL_FormImp(properties, pOuter), |
| 43 m_bBtnDown(FALSE), | 48 m_bBtnDown(FALSE), |
| 44 m_dwTTOStyles(FDE_TTOSTYLE_SingleLine), | 49 m_dwTTOStyles(FDE_TTOSTYLE_SingleLine), |
| 45 m_iTTOAlign(FDE_TTOALIGNMENT_Center), | 50 m_iTTOAlign(FDE_TTOALIGNMENT_Center), |
| 46 m_hTimerShow(NULL), | 51 m_hTimerShow(NULL), |
| 47 m_hTimerHide(NULL), | 52 m_hTimerHide(NULL), |
| 48 m_pTimer(NULL) { | 53 m_pTimer(NULL) { |
| 49 m_rtClient.Set(0, 0, 0, 0); | 54 m_rtClient.Set(0, 0, 0, 0); |
| 50 m_rtCaption.Set(0, 0, 0, 0); | 55 m_rtCaption.Set(0, 0, 0, 0); |
| 51 m_rtAnchor.Set(0, 0, 0, 0); | 56 m_rtAnchor.Set(0, 0, 0, 0); |
| 52 m_TimerShow.m_pToolTip = this; | 57 m_TimerShow.m_pToolTip = this; |
| 53 m_TimerHide.m_pToolTip = this; | 58 m_TimerHide.m_pToolTip = this; |
| 54 } | 59 } |
| 55 CFWL_ToolTipImp::~CFWL_ToolTipImp() { | 60 CFWL_ToolTipImp::~CFWL_ToolTipImp() { |
| 56 if (m_pTimer) { | 61 if (m_pTimer) { |
| 57 delete m_pTimer; | 62 delete m_pTimer; |
| 58 m_pTimer = NULL; | 63 m_pTimer = NULL; |
| 59 } | 64 } |
| 60 } | 65 } |
| 61 FWL_ERR CFWL_ToolTipImp::GetClassName(CFX_WideString& wsClass) const { | 66 FWL_Error CFWL_ToolTipImp::GetClassName(CFX_WideString& wsClass) const { |
| 62 wsClass = FWL_CLASS_ToolTip; | 67 wsClass = FWL_CLASS_ToolTip; |
| 63 return FWL_ERR_Succeeded; | 68 return FWL_Error::Succeeded; |
| 64 } | 69 } |
| 65 uint32_t CFWL_ToolTipImp::GetClassID() const { | 70 uint32_t CFWL_ToolTipImp::GetClassID() const { |
| 66 return FWL_CLASSHASH_ToolTip; | 71 return FWL_CLASSHASH_ToolTip; |
| 67 } | 72 } |
| 68 FWL_ERR CFWL_ToolTipImp::Initialize() { | 73 FWL_Error CFWL_ToolTipImp::Initialize() { |
| 69 m_pProperties->m_dwStyles |= FWL_WGTSTYLE_Popup; | 74 m_pProperties->m_dwStyles |= FWL_WGTSTYLE_Popup; |
| 70 m_pProperties->m_dwStyles &= ~FWL_WGTSTYLE_Child; | 75 m_pProperties->m_dwStyles &= ~FWL_WGTSTYLE_Child; |
| 71 if (CFWL_WidgetImp::Initialize() != FWL_ERR_Succeeded) | 76 if (CFWL_WidgetImp::Initialize() != FWL_Error::Succeeded) |
| 72 return FWL_ERR_Indefinite; | 77 return FWL_Error::Indefinite; |
| 73 m_pDelegate = new CFWL_ToolTipImpDelegate(this); | 78 m_pDelegate = new CFWL_ToolTipImpDelegate(this); |
| 74 return FWL_ERR_Succeeded; | 79 return FWL_Error::Succeeded; |
| 75 } | 80 } |
| 76 FWL_ERR CFWL_ToolTipImp::Finalize() { | 81 FWL_Error CFWL_ToolTipImp::Finalize() { |
| 77 delete m_pDelegate; | 82 delete m_pDelegate; |
| 78 m_pDelegate = nullptr; | 83 m_pDelegate = nullptr; |
| 79 return CFWL_WidgetImp::Finalize(); | 84 return CFWL_WidgetImp::Finalize(); |
| 80 } | 85 } |
| 81 FWL_ERR CFWL_ToolTipImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { | 86 FWL_Error CFWL_ToolTipImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
| 82 if (bAutoSize) { | 87 if (bAutoSize) { |
| 83 rect.Set(0, 0, 0, 0); | 88 rect.Set(0, 0, 0, 0); |
| 84 if (m_pProperties->m_pThemeProvider == NULL) { | 89 if (m_pProperties->m_pThemeProvider == NULL) { |
| 85 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 90 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
| 86 } | 91 } |
| 87 CFX_WideString wsCaption; | 92 CFX_WideString wsCaption; |
| 88 IFWL_ToolTipDP* pData = | 93 IFWL_ToolTipDP* pData = |
| 89 static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider); | 94 static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider); |
| 90 if (pData) { | 95 if (pData) { |
| 91 pData->GetCaption(m_pInterface, wsCaption); | 96 pData->GetCaption(m_pInterface, wsCaption); |
| 92 } | 97 } |
| 93 int32_t iLen = wsCaption.GetLength(); | 98 int32_t iLen = wsCaption.GetLength(); |
| 94 if (iLen > 0) { | 99 if (iLen > 0) { |
| 95 CFX_SizeF sz = CalcTextSize(wsCaption, m_pProperties->m_pThemeProvider); | 100 CFX_SizeF sz = CalcTextSize(wsCaption, m_pProperties->m_pThemeProvider); |
| 96 rect.Set(0, 0, sz.x, sz.y); | 101 rect.Set(0, 0, sz.x, sz.y); |
| 97 rect.width += 25; | 102 rect.width += 25; |
| 98 rect.height += 16; | 103 rect.height += 16; |
| 99 } | 104 } |
| 100 CFWL_WidgetImp::GetWidgetRect(rect, TRUE); | 105 CFWL_WidgetImp::GetWidgetRect(rect, TRUE); |
| 101 } else { | 106 } else { |
| 102 rect = m_pProperties->m_rtWidget; | 107 rect = m_pProperties->m_rtWidget; |
| 103 } | 108 } |
| 104 return FWL_ERR_Succeeded; | 109 return FWL_Error::Succeeded; |
| 105 } | 110 } |
| 106 FWL_ERR CFWL_ToolTipImp::Update() { | 111 FWL_Error CFWL_ToolTipImp::Update() { |
| 107 if (IsLocked()) { | 112 if (IsLocked()) { |
| 108 return FWL_ERR_Indefinite; | 113 return FWL_Error::Indefinite; |
| 109 } | 114 } |
| 110 if (!m_pProperties->m_pThemeProvider) { | 115 if (!m_pProperties->m_pThemeProvider) { |
| 111 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 116 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
| 112 } | 117 } |
| 113 UpdateTextOutStyles(); | 118 UpdateTextOutStyles(); |
| 114 GetClientRect(m_rtClient); | 119 GetClientRect(m_rtClient); |
| 115 m_rtCaption = m_rtClient; | 120 m_rtCaption = m_rtClient; |
| 116 return FWL_ERR_Succeeded; | 121 return FWL_Error::Succeeded; |
| 117 } | 122 } |
| 118 FWL_ERR CFWL_ToolTipImp::GetClientRect(CFX_RectF& rect) { | 123 FWL_Error CFWL_ToolTipImp::GetClientRect(CFX_RectF& rect) { |
| 119 FX_FLOAT x = 0; | 124 FX_FLOAT x = 0; |
| 120 FX_FLOAT y = 0; | 125 FX_FLOAT y = 0; |
| 121 FX_FLOAT t = 0; | 126 FX_FLOAT t = 0; |
| 122 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; | 127 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; |
| 123 if (pTheme) { | 128 if (pTheme) { |
| 124 CFWL_ThemePart part; | 129 CFWL_ThemePart part; |
| 125 part.m_pWidget = m_pInterface; | 130 part.m_pWidget = m_pInterface; |
| 126 x = *static_cast<FX_FLOAT*>( | 131 x = *static_cast<FX_FLOAT*>( |
| 127 pTheme->GetCapacity(&part, CFWL_WidgetCapacity::CXBorder)); | 132 pTheme->GetCapacity(&part, CFWL_WidgetCapacity::CXBorder)); |
| 128 y = *static_cast<FX_FLOAT*>( | 133 y = *static_cast<FX_FLOAT*>( |
| 129 pTheme->GetCapacity(&part, CFWL_WidgetCapacity::CYBorder)); | 134 pTheme->GetCapacity(&part, CFWL_WidgetCapacity::CYBorder)); |
| 130 } | 135 } |
| 131 rect = m_pProperties->m_rtWidget; | 136 rect = m_pProperties->m_rtWidget; |
| 132 rect.Offset(-rect.left, -rect.top); | 137 rect.Offset(-rect.left, -rect.top); |
| 133 rect.Deflate(x, t, x, y); | 138 rect.Deflate(x, t, x, y); |
| 134 return FWL_ERR_Succeeded; | 139 return FWL_Error::Succeeded; |
| 135 } | 140 } |
| 136 FWL_ERR CFWL_ToolTipImp::DrawWidget(CFX_Graphics* pGraphics, | 141 FWL_Error CFWL_ToolTipImp::DrawWidget(CFX_Graphics* pGraphics, |
| 137 const CFX_Matrix* pMatrix) { | 142 const CFX_Matrix* pMatrix) { |
| 138 IFWL_ToolTipTarget* toolTipTarget = | 143 IFWL_ToolTipTarget* toolTipTarget = |
| 139 CFWL_ToolTipContainer::getInstance()->GetCurrentToolTipTarget(); | 144 CFWL_ToolTipContainer::getInstance()->GetCurrentToolTipTarget(); |
| 140 if (toolTipTarget && !toolTipTarget->UseDefaultTheme()) { | 145 if (toolTipTarget && !toolTipTarget->UseDefaultTheme()) { |
| 141 return toolTipTarget->DrawToolTip(pGraphics, pMatrix, m_pInterface); | 146 return toolTipTarget->DrawToolTip(pGraphics, pMatrix, m_pInterface); |
| 142 } | 147 } |
| 143 if (!pGraphics) | 148 if (!pGraphics) |
| 144 return FWL_ERR_Indefinite; | 149 return FWL_Error::Indefinite; |
| 145 if (!m_pProperties->m_pThemeProvider) | 150 if (!m_pProperties->m_pThemeProvider) |
| 146 return FWL_ERR_Indefinite; | 151 return FWL_Error::Indefinite; |
| 147 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; | 152 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; |
| 148 DrawBkground(pGraphics, pTheme, pMatrix); | 153 DrawBkground(pGraphics, pTheme, pMatrix); |
| 149 DrawText(pGraphics, pTheme, pMatrix); | 154 DrawText(pGraphics, pTheme, pMatrix); |
| 150 return FWL_ERR_Succeeded; | 155 return FWL_Error::Succeeded; |
| 151 } | 156 } |
| 152 void CFWL_ToolTipImp::DrawBkground(CFX_Graphics* pGraphics, | 157 void CFWL_ToolTipImp::DrawBkground(CFX_Graphics* pGraphics, |
| 153 IFWL_ThemeProvider* pTheme, | 158 IFWL_ThemeProvider* pTheme, |
| 154 const CFX_Matrix* pMatrix) { | 159 const CFX_Matrix* pMatrix) { |
| 155 CFWL_ThemeBackground param; | 160 CFWL_ThemeBackground param; |
| 156 param.m_pWidget = m_pInterface; | 161 param.m_pWidget = m_pInterface; |
| 157 param.m_iPart = CFWL_Part::Background; | 162 param.m_iPart = CFWL_Part::Background; |
| 158 param.m_dwStates = m_pProperties->m_dwStates; | 163 param.m_dwStates = m_pProperties->m_dwStates; |
| 159 param.m_pGraphics = pGraphics; | 164 param.m_pGraphics = pGraphics; |
| 160 if (pMatrix) { | 165 if (pMatrix) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 void CFWL_ToolTipImp::UpdateTextOutStyles() { | 198 void CFWL_ToolTipImp::UpdateTextOutStyles() { |
| 194 m_iTTOAlign = FDE_TTOALIGNMENT_Center; | 199 m_iTTOAlign = FDE_TTOALIGNMENT_Center; |
| 195 m_dwTTOStyles = FDE_TTOSTYLE_SingleLine; | 200 m_dwTTOStyles = FDE_TTOSTYLE_SingleLine; |
| 196 if (m_pProperties->m_dwStyleExes & FWL_WGTSTYLE_RTLReading) { | 201 if (m_pProperties->m_dwStyleExes & FWL_WGTSTYLE_RTLReading) { |
| 197 m_dwTTOStyles |= FDE_TTOSTYLE_RTL; | 202 m_dwTTOStyles |= FDE_TTOSTYLE_RTL; |
| 198 } | 203 } |
| 199 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_TTP_Multiline) { | 204 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_TTP_Multiline) { |
| 200 m_dwTTOStyles &= ~FDE_TTOSTYLE_SingleLine; | 205 m_dwTTOStyles &= ~FDE_TTOSTYLE_SingleLine; |
| 201 } | 206 } |
| 202 } | 207 } |
| 203 FWL_ERR CFWL_ToolTipImp::SetAnchor(const CFX_RectF& rtAnchor) { | 208 |
| 209 void CFWL_ToolTipImp::SetAnchor(const CFX_RectF& rtAnchor) { |
| 204 m_rtAnchor = rtAnchor; | 210 m_rtAnchor = rtAnchor; |
| 205 return TRUE; | |
| 206 } | 211 } |
| 207 FWL_ERR CFWL_ToolTipImp::Show() { | 212 |
| 213 void CFWL_ToolTipImp::Show() { |
| 208 IFWL_ToolTipDP* pData = | 214 IFWL_ToolTipDP* pData = |
| 209 static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider); | 215 static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider); |
| 210 int32_t nInitDelay = pData->GetInitialDelay(m_pInterface); | 216 int32_t nInitDelay = pData->GetInitialDelay(m_pInterface); |
| 211 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible)) { | 217 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible)) |
| 212 m_hTimerShow = FWL_StartTimer(&m_TimerShow, nInitDelay, FALSE); | 218 m_hTimerShow = FWL_StartTimer(&m_TimerShow, nInitDelay, FALSE); |
| 213 } | |
| 214 return TRUE; | |
| 215 } | 219 } |
| 216 FWL_ERR CFWL_ToolTipImp::Hide() { | 220 |
| 221 void CFWL_ToolTipImp::Hide() { |
| 217 SetStates(FWL_WGTSTATE_Invisible, TRUE); | 222 SetStates(FWL_WGTSTATE_Invisible, TRUE); |
| 218 if (m_hTimerHide) { | 223 if (m_hTimerHide) { |
| 219 FWL_StopTimer(m_hTimerHide); | 224 FWL_StopTimer(m_hTimerHide); |
| 220 m_hTimerHide = NULL; | 225 m_hTimerHide = nullptr; |
| 221 } | 226 } |
| 222 if (m_hTimerShow) { | 227 if (m_hTimerShow) { |
| 223 FWL_StopTimer(m_hTimerShow); | 228 FWL_StopTimer(m_hTimerShow); |
| 224 m_hTimerShow = NULL; | 229 m_hTimerShow = nullptr; |
| 225 } | 230 } |
| 226 return TRUE; | |
| 227 } | 231 } |
| 228 FWL_ERR CFWL_ToolTipImp::SetStates(uint32_t dwStates, FX_BOOL bSet) { | 232 |
| 233 FWL_Error CFWL_ToolTipImp::SetStates(uint32_t dwStates, FX_BOOL bSet) { |
| 229 if ((dwStates & FWL_WGTSTATE_Invisible) && !bSet) { | 234 if ((dwStates & FWL_WGTSTATE_Invisible) && !bSet) { |
| 230 IFWL_ToolTipDP* pData = | 235 IFWL_ToolTipDP* pData = |
| 231 static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider); | 236 static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider); |
| 232 int32_t nAutoPopDelay = pData->GetAutoPopDelay(m_pInterface); | 237 int32_t nAutoPopDelay = pData->GetAutoPopDelay(m_pInterface); |
| 233 m_hTimerHide = FWL_StartTimer(&m_TimerHide, nAutoPopDelay, FALSE); | 238 m_hTimerHide = FWL_StartTimer(&m_TimerHide, nAutoPopDelay, FALSE); |
| 234 } | 239 } |
| 235 return CFWL_WidgetImp::SetStates(dwStates, bSet); | 240 return CFWL_WidgetImp::SetStates(dwStates, bSet); |
| 236 } | 241 } |
| 237 void CFWL_ToolTipImp::RefreshToolTipPos() { | 242 void CFWL_ToolTipImp::RefreshToolTipPos() { |
| 238 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_TTP_NoAnchor) == 0) { | 243 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_TTP_NoAnchor) == 0) { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 } | 280 } |
| 276 } | 281 } |
| 277 if (m_pToolTip->m_hTimerHide == hTimer && m_pToolTip->m_hTimerHide) { | 282 if (m_pToolTip->m_hTimerHide == hTimer && m_pToolTip->m_hTimerHide) { |
| 278 m_pToolTip->SetStates(FWL_WGTSTATE_Invisible, TRUE); | 283 m_pToolTip->SetStates(FWL_WGTSTATE_Invisible, TRUE); |
| 279 FWL_StopTimer(m_pToolTip->m_hTimerHide); | 284 FWL_StopTimer(m_pToolTip->m_hTimerHide); |
| 280 m_pToolTip->m_hTimerHide = NULL; | 285 m_pToolTip->m_hTimerHide = NULL; |
| 281 return TRUE; | 286 return TRUE; |
| 282 } | 287 } |
| 283 return TRUE; | 288 return TRUE; |
| 284 } | 289 } |
| 290 |
| 285 CFWL_ToolTipImpDelegate::CFWL_ToolTipImpDelegate(CFWL_ToolTipImp* pOwner) | 291 CFWL_ToolTipImpDelegate::CFWL_ToolTipImpDelegate(CFWL_ToolTipImp* pOwner) |
| 286 : m_pOwner(pOwner) {} | 292 : m_pOwner(pOwner) {} |
| 287 int32_t CFWL_ToolTipImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { | 293 |
| 288 return CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); | 294 void CFWL_ToolTipImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
| 295 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); |
| 289 } | 296 } |
| 290 FWL_ERR CFWL_ToolTipImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { | 297 |
| 291 return FWL_ERR_Succeeded; | 298 void CFWL_ToolTipImpDelegate::OnProcessEvent(CFWL_Event* pEvent) {} |
| 299 |
| 300 void CFWL_ToolTipImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, |
| 301 const CFX_Matrix* pMatrix) { |
| 302 m_pOwner->DrawWidget(pGraphics, pMatrix); |
| 292 } | 303 } |
| 293 FWL_ERR CFWL_ToolTipImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, | |
| 294 const CFX_Matrix* pMatrix) { | |
| 295 return m_pOwner->DrawWidget(pGraphics, pMatrix); | |
| 296 } | |
| OLD | NEW |