/* * Copyright (c) 2026, mikiubo * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::CSS { class OverflowClipMarginStyleValue final : public StyleValueWithDefaultOperators { public: static ValueComparingNonnullRefPtr create(Optional visual_box, NonnullRefPtr offset); virtual ~OverflowClipMarginStyleValue() override; Optional visual_box() const { return m_visual_box; } StyleValue const& offset() const { return m_offset; } virtual void serialize(StringBuilder&, SerializationMode) const override; virtual ValueComparingNonnullRefPtr absolutized(ComputationContext const&) const override; bool properties_equal(OverflowClipMarginStyleValue const&) const; virtual bool is_computationally_independent() const override { return m_offset->is_computationally_independent(); } private: OverflowClipMarginStyleValue(Optional visual_box, NonnullRefPtr offset); Optional m_visual_box; ValueComparingNonnullRefPtr m_offset; }; }