/* * Copyright (c) 2024, MacDue * Copyright (c) 2025, Jelle Raaijmakers * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::SVG { // https://svgwg.org/svg2-draft/single-page.html#coords-InterfaceSVGTransformList class SVGTransformList final : public Bindings::PlatformObject , public SVGList> { WEB_PLATFORM_OBJECT(SVGTransformList, Bindings::PlatformObject); GC_DECLARE_ALLOCATOR(SVGTransformList); public: [[nodiscard]] static GC::Ref create(JS::Realm& realm, Vector>, ReadOnlyList); [[nodiscard]] static GC::Ref create(JS::Realm& realm, ReadOnlyList); virtual ~SVGTransformList() override = default; private: SVGTransformList(JS::Realm&, Vector>, ReadOnlyList); SVGTransformList(JS::Realm&, ReadOnlyList); virtual void initialize(JS::Realm&) override; virtual void visit_edges(Visitor&) override; }; }