diff --git a/Userland/Libraries/LibPDF/Document.h b/Userland/Libraries/LibPDF/Document.h index fc56ac2999..b6a4c70b9b 100644 --- a/Userland/Libraries/LibPDF/Document.h +++ b/Userland/Libraries/LibPDF/Document.h @@ -15,28 +15,10 @@ #include #include #include +#include namespace PDF { -struct Rectangle { - float lower_left_x; - float lower_left_y; - float upper_right_x; - float upper_right_y; - - float width() const { return upper_right_x - lower_left_x; } - float height() const { return upper_right_y - lower_left_y; } -}; - -struct Page { - NonnullRefPtr resources; - RefPtr contents; - Rectangle media_box; - Rectangle crop_box; - float user_unit; - int rotate; -}; - struct Destination { enum class Type { XYZ, @@ -204,34 +186,6 @@ private: namespace AK { -template<> -struct Formatter : Formatter { - ErrorOr format(FormatBuilder& builder, PDF::Rectangle const& rectangle) - { - return Formatter::format(builder, - "Rectangle {{ ll=({}, {}), ur=({}, {}) }}"sv, - rectangle.lower_left_x, - rectangle.lower_left_y, - rectangle.upper_right_x, - rectangle.upper_right_y); - } -}; - -template<> -struct Formatter : Formatter { - ErrorOr format(FormatBuilder& builder, PDF::Page const& page) - { - return Formatter::format(builder, - "Page {{\n resources={}\n contents={}\n media_box={}\n crop_box={}\n user_unit={}\n rotate={}\n}}"sv, - page.resources->to_deprecated_string(1), - page.contents->to_deprecated_string(1), - page.media_box, - page.crop_box, - page.user_unit, - page.rotate); - } -}; - template<> struct Formatter : Formatter { ErrorOr format(FormatBuilder& builder, PDF::Destination const& destination) diff --git a/Userland/Libraries/LibPDF/Page.h b/Userland/Libraries/LibPDF/Page.h new file mode 100644 index 0000000000..ba77f31c87 --- /dev/null +++ b/Userland/Libraries/LibPDF/Page.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2021-2022, Matthew Olsson + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include +#include + +namespace PDF { + +struct Rectangle { + float lower_left_x; + float lower_left_y; + float upper_right_x; + float upper_right_y; + + float width() const { return upper_right_x - lower_left_x; } + float height() const { return upper_right_y - lower_left_y; } +}; + +struct Page { + NonnullRefPtr resources; + RefPtr contents; + Rectangle media_box; + Rectangle crop_box; + float user_unit; + int rotate; +}; + +} + +namespace AK { + +template<> +struct Formatter : Formatter { + ErrorOr format(FormatBuilder& builder, PDF::Rectangle const& rectangle) + { + return Formatter::format(builder, + "Rectangle {{ ll=({}, {}), ur=({}, {}) }}"sv, + rectangle.lower_left_x, + rectangle.lower_left_y, + rectangle.upper_right_x, + rectangle.upper_right_y); + } +}; + +template<> +struct Formatter : Formatter { + ErrorOr format(FormatBuilder& builder, PDF::Page const& page) + { + return Formatter::format(builder, + "Page {{\n resources={}\n contents={}\n media_box={}\n crop_box={}\n user_unit={}\n rotate={}\n}}"sv, + page.resources->to_deprecated_string(1), + page.contents->to_deprecated_string(1), + page.media_box, + page.crop_box, + page.user_unit, + page.rotate); + } +}; + +}