/src/serenity/Userland/Libraries/LibWeb/CSS/Serialize.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org> |
3 | | * |
4 | | * SPDX-License-Identifier: BSD-2-Clause |
5 | | */ |
6 | | |
7 | | #pragma once |
8 | | |
9 | | #include <AK/String.h> |
10 | | #include <AK/StringBuilder.h> |
11 | | #include <AK/StringView.h> |
12 | | #include <AK/Vector.h> |
13 | | #include <LibGfx/Color.h> |
14 | | #include <LibGfx/Font/UnicodeRange.h> |
15 | | |
16 | | namespace Web::CSS { |
17 | | |
18 | | void escape_a_character(StringBuilder&, u32 character); |
19 | | void escape_a_character_as_code_point(StringBuilder&, u32 character); |
20 | | void serialize_an_identifier(StringBuilder&, StringView ident); |
21 | | void serialize_a_string(StringBuilder&, StringView string); |
22 | | void serialize_a_url(StringBuilder&, StringView url); |
23 | | void serialize_a_local(StringBuilder&, StringView path); |
24 | | void serialize_unicode_ranges(StringBuilder&, Vector<Gfx::UnicodeRange> const& unicode_ranges); |
25 | | void serialize_a_srgb_value(StringBuilder&, Color color); |
26 | | |
27 | | String escape_a_character(u32 character); |
28 | | String escape_a_character_as_code_point(u32 character); |
29 | | String serialize_an_identifier(StringView ident); |
30 | | String serialize_a_string(StringView string); |
31 | | String serialize_a_url(StringView url); |
32 | | String serialize_a_srgb_value(Color color); |
33 | | |
34 | | template<typename T, typename SerializeItem> |
35 | | void serialize_a_comma_separated_list(StringBuilder& builder, Vector<T> const& items, SerializeItem serialize_item) |
36 | 0 | { |
37 | 0 | for (size_t i = 0; i < items.size(); i++) { |
38 | 0 | auto& item = items.at(i); |
39 | 0 | serialize_item(builder, item); |
40 | 0 | if ((i + 1) < items.size()) { |
41 | 0 | builder.append(",\n"sv); |
42 | 0 | } |
43 | 0 | } |
44 | 0 | } Unexecuted instantiation: CSSFontFaceRule.cpp:void Web::CSS::serialize_a_comma_separated_list<Web::CSS::ParsedFontFace::Source, Web::CSS::CSSFontFaceRule::serialized() const::$_0>(AK::StringBuilder&, AK::Vector<Web::CSS::ParsedFontFace::Source, 0ul> const&, Web::CSS::CSSFontFaceRule::serialized() const::$_0) Unexecuted instantiation: Serialize.cpp:void Web::CSS::serialize_a_comma_separated_list<Gfx::UnicodeRange, Web::CSS::serialize_unicode_ranges(AK::StringBuilder&, AK::Vector<Gfx::UnicodeRange, 0ul> const&)::$_0>(AK::StringBuilder&, AK::Vector<Gfx::UnicodeRange, 0ul> const&, Web::CSS::serialize_unicode_ranges(AK::StringBuilder&, AK::Vector<Gfx::UnicodeRange, 0ul> const&)::$_0) Unexecuted instantiation: CounterStyleValue.cpp:void Web::CSS::serialize_a_comma_separated_list<AK::RefPtr<Web::CSS::CSSStyleValue const>, Web::CSS::CounterStyleValue::to_string() const::$_0>(AK::StringBuilder&, AK::Vector<AK::RefPtr<Web::CSS::CSSStyleValue const>, 0ul> const&, Web::CSS::CounterStyleValue::to_string() const::$_0) |
45 | | |
46 | | } |