/* * Copyright (c) 2022, DerpyCrabs * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include #include namespace Web::Geometry { // https://drafts.fxtf.org/geometry-1/#DOMRectList class DOMRectList final : public RefCounted , public Bindings::Wrappable { AK_MAKE_NONCOPYABLE(DOMRectList); AK_MAKE_NONMOVABLE(DOMRectList); public: using WrapperType = Bindings::DOMRectListWrapper; static NonnullRefPtr create(NonnullRefPtrVector&& rects) { return adopt_ref(*new DOMRectList(move(rects))); } ~DOMRectList() = default; u32 length() const; DOMRect const* item(u32 index) const; bool is_supported_property_index(u32) const; private: DOMRectList(NonnullRefPtrVector&& rects); NonnullRefPtrVector m_rects; }; }