
Instead of using string everywhere, have the CSS parser produce enum values, since they are a lot nicer to work with. In the future we should generate most of this code based on a list of supported CSS properties.
62 lines
1.1 KiB
C++
62 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <AK/Traits.h>
|
|
|
|
namespace CSS {
|
|
enum class PropertyID {
|
|
Invalid,
|
|
|
|
BackgroundColor,
|
|
BorderBottomColor,
|
|
BorderBottomStyle,
|
|
BorderBottomWidth,
|
|
BorderCollapse,
|
|
BorderLeftColor,
|
|
BorderLeftStyle,
|
|
BorderLeftWidth,
|
|
BorderRightColor,
|
|
BorderRightStyle,
|
|
BorderRightWidth,
|
|
BorderSpacing,
|
|
BorderTopColor,
|
|
BorderTopStyle,
|
|
BorderTopWidth,
|
|
Color,
|
|
Display,
|
|
FontFamily,
|
|
FontSize,
|
|
FontStyle,
|
|
FontVariant,
|
|
FontWeight,
|
|
Height,
|
|
LetterSpacing,
|
|
LineHeight,
|
|
ListStyle,
|
|
ListStyleImage,
|
|
ListStylePosition,
|
|
ListStyleType,
|
|
MarginBottom,
|
|
MarginLeft,
|
|
MarginRight,
|
|
MarginTop,
|
|
PaddingBottom,
|
|
PaddingLeft,
|
|
PaddingRight,
|
|
PaddingTop,
|
|
TextAlign,
|
|
TextDecoration,
|
|
TextIndent,
|
|
TextTransform,
|
|
Visibility,
|
|
WhiteSpace,
|
|
Width,
|
|
WordSpacing,
|
|
};
|
|
}
|
|
|
|
namespace AK {
|
|
template<>
|
|
struct Traits<CSS::PropertyID> : public GenericTraits<CSS::PropertyID> {
|
|
static unsigned hash(CSS::PropertyID property_id) { return int_hash((unsigned)property_id); }
|
|
};
|
|
}
|