summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/ifwl_caret.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/core/ifwl_caret.cpp')
-rw-r--r--xfa/fwl/core/ifwl_caret.cpp22
1 files changed, 7 insertions, 15 deletions
diff --git a/xfa/fwl/core/ifwl_caret.cpp b/xfa/fwl/core/ifwl_caret.cpp
index b6f799633b..2dd1866642 100644
--- a/xfa/fwl/core/ifwl_caret.cpp
+++ b/xfa/fwl/core/ifwl_caret.cpp
@@ -6,6 +6,7 @@
#include "xfa/fwl/core/ifwl_caret.h"
+#include "third_party/base/ptr_util.h"
#include "xfa/fwl/core/cfwl_themebackground.h"
#include "xfa/fwl/core/cfwl_widgetimpproperties.h"
#include "xfa/fwl/core/fwl_noteimp.h"
@@ -21,27 +22,18 @@ IFWL_Caret::IFWL_Caret(const IFWL_App* app,
m_dwElapse(400),
m_bSetColor(FALSE) {
SetStates(FWL_STATE_CAT_HightLight);
+ SetDelegate(pdfium::MakeUnique<CFWL_CaretImpDelegate>(this));
}
-IFWL_Caret::~IFWL_Caret() {}
-
-FWL_Type IFWL_Caret::GetClassID() const {
- return FWL_Type::Caret;
-}
-
-void IFWL_Caret::Initialize() {
- IFWL_Widget::Initialize();
- m_pDelegate = new CFWL_CaretImpDelegate(this);
-}
-
-void IFWL_Caret::Finalize() {
+IFWL_Caret::~IFWL_Caret() {
if (m_pTimerInfo) {
m_pTimerInfo->StopTimer();
m_pTimerInfo = nullptr;
}
- delete m_pDelegate;
- m_pDelegate = nullptr;
- IFWL_Widget::Finalize();
+}
+
+FWL_Type IFWL_Caret::GetClassID() const {
+ return FWL_Type::Caret;
}
FWL_Error IFWL_Caret::DrawWidget(CFX_Graphics* pGraphics,