/* * Copyright (c) 2018-2022, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include #include #include #include #include namespace Web::Painting { JS::NonnullGCPtr RadioButtonPaintable::create(Layout::RadioButton const& layout_box) { return layout_box.heap().allocate_without_realm(layout_box); } RadioButtonPaintable::RadioButtonPaintable(Layout::RadioButton const& layout_box) : LabelablePaintable(layout_box) { } void RadioButtonPaintable::paint(PaintContext& context, PaintPhase phase) const { if (!is_visible()) return; PaintableBox::paint(context, phase); auto const& radio_box = static_cast(layout_box().dom_node()); if (phase == PaintPhase::Foreground) Gfx::StylePainter::paint_radio_button(context.painter(), context.enclosing_device_rect(absolute_rect()).to_type(), context.palette(), radio_box.checked(), being_pressed()); } }