From e36430e530e48d4145f34a554f9891b1989b590d Mon Sep 17 00:00:00 2001 From: dsinclair Date: Wed, 23 Nov 2016 07:36:00 -0800 Subject: Make Update and DrawWidget pure virtual These methods should be in all implementations, make them pure virtual to make that required. Review-Url: https://codereview.chromium.org/2525703004 --- xfa/fwl/core/ifwl_caret.cpp | 2 ++ xfa/fwl/core/ifwl_caret.h | 1 + xfa/fwl/core/ifwl_widget.cpp | 5 ----- xfa/fwl/core/ifwl_widget.h | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/xfa/fwl/core/ifwl_caret.cpp b/xfa/fwl/core/ifwl_caret.cpp index 6d21ca2f77..1c228242bd 100644 --- a/xfa/fwl/core/ifwl_caret.cpp +++ b/xfa/fwl/core/ifwl_caret.cpp @@ -41,6 +41,8 @@ FWL_Type IFWL_Caret::GetClassID() const { return FWL_Type::Caret; } +void IFWL_Caret::Update() {} + void IFWL_Caret::DrawWidget(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix) { if (!pGraphics) diff --git a/xfa/fwl/core/ifwl_caret.h b/xfa/fwl/core/ifwl_caret.h index 53fe1dd6cb..51a80911d5 100644 --- a/xfa/fwl/core/ifwl_caret.h +++ b/xfa/fwl/core/ifwl_caret.h @@ -32,6 +32,7 @@ class IFWL_Caret : public IFWL_Widget { void OnProcessMessage(CFWL_Message* pMessage) override; void OnDrawWidget(CFX_Graphics* pGraphics, const CFX_Matrix* pMatrix) override; + void Update() override; void ShowCaret(bool bFlag = true); diff --git a/xfa/fwl/core/ifwl_widget.cpp b/xfa/fwl/core/ifwl_widget.cpp index 040a57f696..a44ad975cf 100644 --- a/xfa/fwl/core/ifwl_widget.cpp +++ b/xfa/fwl/core/ifwl_widget.cpp @@ -171,8 +171,6 @@ void IFWL_Widget::SetStates(uint32_t dwStates, bool bSet) { return; } -void IFWL_Widget::Update() {} - FWL_WidgetHit IFWL_Widget::HitTest(FX_FLOAT fx, FX_FLOAT fy) { CFX_RectF rtClient; GetClientRect(rtClient); @@ -291,9 +289,6 @@ IFWL_Widget::DataProvider* IFWL_Widget::GetDataProvider() const { return m_pProperties->m_pDataProvider; } -void IFWL_Widget::DrawWidget(CFX_Graphics* pGraphics, - const CFX_Matrix* pMatrix) {} - void IFWL_Widget::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { m_pProperties->m_pThemeProvider = pThemeProvider; } diff --git a/xfa/fwl/core/ifwl_widget.h b/xfa/fwl/core/ifwl_widget.h index 230ea666d9..7d2faf00e9 100644 --- a/xfa/fwl/core/ifwl_widget.h +++ b/xfa/fwl/core/ifwl_widget.h @@ -75,10 +75,10 @@ class IFWL_Widget : public IFWL_WidgetDelegate { virtual void ModifyStylesEx(uint32_t dwStylesExAdded, uint32_t dwStylesExRemoved); virtual void SetStates(uint32_t dwStates, bool bSet = true); - virtual void Update(); + virtual void Update() = 0; virtual FWL_WidgetHit HitTest(FX_FLOAT fx, FX_FLOAT fy); virtual void DrawWidget(CFX_Graphics* pGraphics, - const CFX_Matrix* pMatrix = nullptr); + const CFX_Matrix* pMatrix = nullptr) = 0; virtual void SetThemeProvider(IFWL_ThemeProvider* pThemeProvider); // IFWL_WidgetDelegate. -- cgit v1.2.3