diff options
Diffstat (limited to 'xfa/src/fwl/lightwidget/caret.cpp')
-rw-r--r-- | xfa/src/fwl/lightwidget/caret.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/xfa/src/fwl/lightwidget/caret.cpp b/xfa/src/fwl/lightwidget/caret.cpp new file mode 100644 index 0000000000..bb5fd4cf9e --- /dev/null +++ b/xfa/src/fwl/lightwidget/caret.cpp @@ -0,0 +1,47 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/include/fwl/lightwidget/caret.h" + +#include <memory> + +#include "xfa/include/fwl/basewidget/fwl_caret.h" +#include "xfa/include/fwl/lightwidget/edit.h" +#include "xfa/src/fwl/core/fwl_targetimp.h" + +CFWL_Caret* CFWL_Caret::Create() { + return new CFWL_Caret; +} +FWL_ERR CFWL_Caret::Initialize(const CFWL_WidgetProperties* pProperties) { + if (m_pIface) + return FWL_ERR_Indefinite; + if (pProperties) { + *m_pProperties = *pProperties; + } + std::unique_ptr<IFWL_Caret> pCaret(IFWL_Caret::Create( + m_pProperties->MakeWidgetImpProperties(nullptr), nullptr)); + FWL_ERR ret = pCaret->Initialize(); + if (ret != FWL_ERR_Succeeded) { + return ret; + } + m_pIface = pCaret.release(); + CFWL_Widget::Initialize(); + return FWL_ERR_Succeeded; +} +FWL_ERR CFWL_Caret::ShowCaret(FX_BOOL bFlag) { + return static_cast<IFWL_Caret*>(m_pIface)->ShowCaret(bFlag); +} +FWL_ERR CFWL_Caret::GetFrequency(FX_DWORD& elapse) { + return static_cast<IFWL_Caret*>(m_pIface)->GetFrequency(elapse); +} +FWL_ERR CFWL_Caret::SetFrequency(FX_DWORD elapse) { + return static_cast<IFWL_Caret*>(m_pIface)->SetFrequency(elapse); +} +FWL_ERR CFWL_Caret::SetColor(CFX_Color crFill) { + return static_cast<IFWL_Caret*>(m_pIface)->SetColor(crFill); +} +CFWL_Caret::CFWL_Caret() {} +CFWL_Caret::~CFWL_Caret() {} |