blob: 8720ef11d2d1a3dbd6cf21b85c95f623bf062b77 [file] [log] [blame]
// Copyright 2014 The PDFium Authors
// 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
#ifndef FPDFSDK_PWL_CPWL_SPECIAL_BUTTON_H_
#define FPDFSDK_PWL_CPWL_SPECIAL_BUTTON_H_
#include <memory>
#include "fpdfsdk/pwl/cpwl_button.h"
class CPWL_PushButton final : public CPWL_Button {
public:
CPWL_PushButton(
const CreateParams& cp,
std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData);
~CPWL_PushButton() override;
// CPWL_Button:
CFX_FloatRect GetFocusRect() const override;
};
class CPWL_CheckBox final : public CPWL_Button {
public:
CPWL_CheckBox(
const CreateParams& cp,
std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData);
~CPWL_CheckBox() override;
// CPWL_Button:
bool OnLButtonUp(Mask<FWL_EVENTFLAG> nFlag, const CFX_PointF& point) override;
bool OnChar(uint16_t nChar, Mask<FWL_EVENTFLAG> nFlag) override;
bool IsChecked() const { return m_bChecked; }
void SetCheck(bool bCheck) { m_bChecked = bCheck; }
private:
bool m_bChecked = false;
};
class CPWL_RadioButton final : public CPWL_Button {
public:
CPWL_RadioButton(
const CreateParams& cp,
std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData);
~CPWL_RadioButton() override;
// CPWL_Button
bool OnLButtonUp(Mask<FWL_EVENTFLAG> nFlag, const CFX_PointF& point) override;
bool OnChar(uint16_t nChar, Mask<FWL_EVENTFLAG> nFlag) override;
bool IsChecked() const { return m_bChecked; }
void SetCheck(bool bCheck) { m_bChecked = bCheck; }
private:
bool m_bChecked = false;
};
#endif // FPDFSDK_PWL_CPWL_SPECIAL_BUTTON_H_