summaryrefslogtreecommitdiff
path: root/Libraries/LibHTML/CSS/StyleDeclaration.h
blob: 55620b1516c2d6d55ef14cbf7386b8ccd8c1f384 (plain)
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
#pragma once

#include <AK/String.h>
#include <LibHTML/CSS/StyleValue.h>

struct StyleProperty {
    CSS::PropertyID property_id;
    NonnullRefPtr<StyleValue> value;
    bool important { false };
};

class StyleDeclaration : public RefCounted<StyleDeclaration> {
public:
    static NonnullRefPtr<StyleDeclaration> create(Vector<StyleProperty>&& properties)
    {
        return adopt(*new StyleDeclaration(move(properties)));
    }

    ~StyleDeclaration();

    const Vector<StyleProperty>& properties() const { return m_properties; }

public:
    explicit StyleDeclaration(Vector<StyleProperty>&&);

    Vector<StyleProperty> m_properties;
};