/* * Copyright (c) 2025, Tim Ledbetter * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::SVG { class SVGFitToViewBox { public: virtual ~SVGFitToViewBox() = default; GC::Ref view_box_for_bindings() const { return *m_view_box_for_bindings; } Optional view_box() const { return m_view_box; } Optional preserve_aspect_ratio() const { return m_preserve_aspect_ratio; } protected: void initialize(JS::Realm&); void visit_edges(JS::Cell::Visitor&); void attribute_changed(DOM::Element& element, FlyString const& name, Optional const& value); private: Optional m_view_box; GC::Ptr m_view_box_for_bindings; Optional m_preserve_aspect_ratio; }; }