/* * Copyright (c) 2025, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace Web::CSS { // https://drafts.csswg.org/cssom/#csspagedescriptors class CSSPageDescriptors final : public CSSDescriptors { WEB_PLATFORM_OBJECT(CSSPageDescriptors, CSSDescriptors); GC_DECLARE_ALLOCATOR(CSSPageDescriptors); public: [[nodiscard]] static GC::Ref create(JS::Realm&, Vector); virtual ~CSSPageDescriptors() override; virtual void initialize(JS::Realm&) override; WebIDL::ExceptionOr set_margin(StringView value); String margin() const; WebIDL::ExceptionOr set_margin_top(StringView value); String margin_top() const; WebIDL::ExceptionOr set_margin_right(StringView value); String margin_right() const; WebIDL::ExceptionOr set_margin_bottom(StringView value); String margin_bottom() const; WebIDL::ExceptionOr set_margin_left(StringView value); String margin_left() const; WebIDL::ExceptionOr set_size(StringView value); String size() const; WebIDL::ExceptionOr set_page_orientation(StringView value); String page_orientation() const; WebIDL::ExceptionOr set_marks(StringView value); String marks() const; WebIDL::ExceptionOr set_bleed(StringView value); String bleed() const; private: CSSPageDescriptors(JS::Realm&, Vector); }; }