/* * Copyright (c) 2024, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::SVG { class SVGAnimatedRect final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(SVGAnimatedRect, Bindings::PlatformObject); JS_DECLARE_ALLOCATOR(SVGAnimatedRect); public: virtual ~SVGAnimatedRect(); JS::GCPtr base_val() const; JS::GCPtr anim_val() const; void set_base_val(Gfx::DoubleRect const&); void set_anim_val(Gfx::DoubleRect const&); void set_nulled(bool); private: virtual void initialize(JS::Realm&) override; virtual void visit_edges(Visitor&) override; explicit SVGAnimatedRect(JS::Realm&); JS::GCPtr m_base_val; JS::GCPtr m_anim_val; bool m_nulled { true }; }; }