blob: bb5fd4cf9e6e37b7d9bf84b707d4a2617071dc9c [file] [log] [blame]
// 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() {}