forked from LadybirdBrowser/ladybird
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFilter.h
39 lines (30 loc) · 864 Bytes
/
Filter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
* Copyright (c) 2022, MacDue <macdue@dueutil.tech>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Variant.h>
#include <LibWeb/CSS/CSSStyleValue.h>
#include <LibWeb/CSS/StyleValues/FilterValueListStyleValue.h>
namespace Web::CSS {
class Filter {
public:
Filter() = default;
Filter(FilterValueListStyleValue const& filter_value_list)
: m_filter_value_list { filter_value_list } {};
static Filter make_none()
{
return Filter {};
}
bool has_filters() const { return m_filter_value_list; }
bool is_none() const { return !has_filters(); }
ReadonlySpan<FilterFunction> filters() const
{
VERIFY(has_filters());
return m_filter_value_list->filter_value_list().span();
}
private:
RefPtr<FilterValueListStyleValue const> m_filter_value_list { nullptr };
};
}