#include "ui/views/controls/button/checkbox.h"
#include <stddef.h>
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/ui_base_features.h"
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/geometry/size_f.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "ui/gfx/image/image_skia_operations.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/native_theme/native_theme.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/animation/ink_drop_host.h"
#include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/animation/ink_drop_painted_layer_delegates.h"
#include "ui/views/animation/ink_drop_ripple.h"
#include "ui/views/controls/button/button_controller.h"
#include "ui/views/controls/button/label_button_border.h"
#include "ui/views/controls/focus_ring.h"
#include "ui/views/controls/highlight_path_generator.h"
#include "ui/views/layout/layout_provider.h"
#include "ui/views/painter.h"
#include "ui/views/resources/grit/views_resources.h"
#include "ui/views/style/platform_style.h"
#include "ui/views/style/typography.h"
#include "ui/views/vector_icons.h"
namespace views {
namespace {
constexpr gfx::Size kCheckboxInkDropSize = …;
constexpr float kCheckboxIconDipSize = …;
constexpr int kCheckboxIconCornerRadius = …;
}
class Checkbox::FocusRingHighlightPathGenerator
: public views::HighlightPathGenerator { … };
Checkbox::Checkbox(const std::u16string& label,
PressedCallback callback,
int button_context)
: … { … }
Checkbox::~Checkbox() = default;
void Checkbox::SetChecked(bool checked) { … }
bool Checkbox::GetChecked() const { … }
base::CallbackListSubscription Checkbox::AddCheckedChangedCallback(
PropertyChangedCallback callback) { … }
void Checkbox::SetMultiLine(bool multi_line) { … }
bool Checkbox::GetMultiLine() const { … }
void Checkbox::SetCheckedIconImageColor(SkColor color) { … }
void Checkbox::GetAccessibleNodeData(ui::AXNodeData* node_data) { … }
gfx::ImageSkia Checkbox::GetImage(ButtonState for_state) const { … }
std::unique_ptr<LabelButtonBorder> Checkbox::CreateDefaultBorder() const { … }
std::unique_ptr<ActionViewInterface> Checkbox::GetActionViewInterface() { … }
void Checkbox::OnThemeChanged() { … }
SkPath Checkbox::GetFocusRingPath() const { … }
SkColor Checkbox::GetIconImageColor(int icon_state) const { … }
SkColor Checkbox::GetIconCheckColor(int icon_state) const { … }
const gfx::VectorIcon& Checkbox::GetVectorIcon() const { … }
int Checkbox::GetIconState(ButtonState for_state) const { … }
void Checkbox::NotifyClick(const ui::Event& event) { … }
ui::NativeTheme::Part Checkbox::GetThemePart() const { … }
void Checkbox::GetExtraParams(ui::NativeTheme::ExtraParams* params) const { … }
void Checkbox::SetAndUpdateAccessibleDefaultActionVerb() { … }
CheckboxActionViewInterface::CheckboxActionViewInterface(Checkbox* action_view)
: … { … }
void CheckboxActionViewInterface::ActionItemChangedImpl(
actions::ActionItem* action_item) { … }
void CheckboxActionViewInterface::OnViewChangedImpl(
actions::ActionItem* action_item) { … }
BEGIN_METADATA(…)
}