StyleDeclaration.h 630 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <AK/String.h>
  3. #include <LibHTML/CSS/StyleValue.h>
  4. struct StyleProperty {
  5. String name;
  6. NonnullRefPtr<StyleValue> value;
  7. bool important { false };
  8. };
  9. class StyleDeclaration : public RefCounted<StyleDeclaration> {
  10. public:
  11. static NonnullRefPtr<StyleDeclaration> create(Vector<StyleProperty>&& properties)
  12. {
  13. return adopt(*new StyleDeclaration(move(properties)));
  14. }
  15. ~StyleDeclaration();
  16. const Vector<StyleProperty>& properties() const { return m_properties; }
  17. public:
  18. explicit StyleDeclaration(Vector<StyleProperty>&&);
  19. Vector<StyleProperty> m_properties;
  20. };