diff options
Diffstat (limited to 'xfa/fwl/lightwidget/cfwl_scrollbar.cpp')
-rw-r--r-- | xfa/fwl/lightwidget/cfwl_scrollbar.cpp | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/xfa/fwl/lightwidget/cfwl_scrollbar.cpp b/xfa/fwl/lightwidget/cfwl_scrollbar.cpp new file mode 100644 index 0000000000..0c02314733 --- /dev/null +++ b/xfa/fwl/lightwidget/cfwl_scrollbar.cpp @@ -0,0 +1,108 @@ +// 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/fwl/lightwidget/cfwl_scrollbar.h" + +#include <memory> + +#include "xfa/fwl/basewidget/ifwl_scrollbar.h" + +CFWL_ScrollBar* CFWL_ScrollBar::Create() { + return new CFWL_ScrollBar; +} + +CFWL_ScrollBar::CFWL_ScrollBar() {} + +CFWL_ScrollBar::~CFWL_ScrollBar() {} + +FWL_ERR CFWL_ScrollBar::Initialize(const CFWL_WidgetProperties* pProperties) { + if (m_pIface) + return FWL_ERR_Indefinite; + if (pProperties) { + *m_pProperties = *pProperties; + } + std::unique_ptr<IFWL_ScrollBar> pScrollBar(IFWL_ScrollBar::Create( + m_pProperties->MakeWidgetImpProperties(nullptr), nullptr)); + FWL_ERR ret = pScrollBar->Initialize(); + if (ret != FWL_ERR_Succeeded) { + return ret; + } + m_pIface = pScrollBar.release(); + CFWL_Widget::Initialize(); + return FWL_ERR_Succeeded; +} + +FX_BOOL CFWL_ScrollBar::IsVertical() { + if (!m_pIface) + return FALSE; + return static_cast<IFWL_ScrollBar*>(m_pIface)->IsVertical(); +} + +FWL_ERR CFWL_ScrollBar::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) { + if (!m_pIface) + return FWL_ERR_Indefinite; + return static_cast<IFWL_ScrollBar*>(m_pIface)->GetRange(fMin, fMax); +} + +FWL_ERR CFWL_ScrollBar::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) { + if (!m_pIface) + return FWL_ERR_Indefinite; + return static_cast<IFWL_ScrollBar*>(m_pIface)->SetRange(fMin, fMax); +} + +FX_FLOAT CFWL_ScrollBar::GetPageSize() { + if (!m_pIface) + return 0; + return static_cast<IFWL_ScrollBar*>(m_pIface)->GetPageSize(); +} + +FWL_ERR CFWL_ScrollBar::SetPageSize(FX_FLOAT fPageSize) { + if (!m_pIface) + return FWL_ERR_Indefinite; + return static_cast<IFWL_ScrollBar*>(m_pIface)->SetPageSize(fPageSize); +} + +FX_FLOAT CFWL_ScrollBar::GetStepSize() { + if (!m_pIface) + return 0; + return static_cast<IFWL_ScrollBar*>(m_pIface)->GetStepSize(); +} + +FWL_ERR CFWL_ScrollBar::SetStepSize(FX_FLOAT fStepSize) { + if (!m_pIface) + return FWL_ERR_Indefinite; + return static_cast<IFWL_ScrollBar*>(m_pIface)->SetStepSize(fStepSize); +} + +FX_FLOAT CFWL_ScrollBar::GetPos() { + if (!m_pIface) + return -1; + return static_cast<IFWL_ScrollBar*>(m_pIface)->GetPos(); +} + +FWL_ERR CFWL_ScrollBar::SetPos(FX_FLOAT fPos) { + if (!m_pIface) + return FWL_ERR_Indefinite; + return static_cast<IFWL_ScrollBar*>(m_pIface)->SetPos(fPos); +} + +FX_FLOAT CFWL_ScrollBar::GetTrackPos() { + if (!m_pIface) + return -1; + return static_cast<IFWL_ScrollBar*>(m_pIface)->GetTrackPos(); +} + +FWL_ERR CFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) { + if (!m_pIface) + return FWL_ERR_Indefinite; + return static_cast<IFWL_ScrollBar*>(m_pIface)->SetTrackPos(fTrackPos); +} + +FX_BOOL CFWL_ScrollBar::DoScroll(uint32_t dwCode, FX_FLOAT fPos) { + if (!m_pIface) + return FALSE; + return static_cast<IFWL_ScrollBar*>(m_pIface)->DoScroll(dwCode, fPos); +} |