35#include "../../Display/2D/color.h"
36#include "style_get_value.h"
37#include "style_set_value.h"
38#include "style_set_image.h"
39#include "style_token.h"
40#include "style_tokenizer.h"
41#include "property_hash.h"
87 static StyleToken next_token(
size_t &pos,
const std::vector<StyleToken> &tokens,
bool skip_whitespace =
true);
100 static bool parse_color(
const std::vector<StyleToken> &tokens,
size_t &in_out_pos,
Colorf &out_color);
102 static bool equals(
const std::string &s1,
const std::string &s2);
Floating point color description class (for float).
Definition color.h:799
Definition image_source.h:40
Definition property_hash.h:35
Style value returned by style classes.
Definition style_get_value.h:40
Linear or radial gradient.
Definition style_set_image.h:49
Parser interface used during property parsing.
Definition style_property_parser.h:66
std::vector< StyleToken > tokens
Tokenized style string relevant for parsing a property.
Definition style_property_parser.h:69
bool important_flag
True if the !important flag was specified in the style string.
Definition style_property_parser.h:72
StylePropertyDefault(const std::string &name, const StyleGetValue &value, bool inherit)
static bool is_length(const StyleToken &token)
virtual void parse(StylePropertySetter *setter, const std::string &name, StyleParser &parser)=0
Parse a property and set property values if successful.
static bool parse_angle(const StyleToken &token, StyleSetValue &out_angle)
static bool parse_frequency(const StyleToken &token, StyleSetValue &out_frequency)
StylePropertyParser(const std::vector< std::string > &property_names)
Constructs a property parser for the specified property names.
static void debug_parse_error(const std::string &name, const std::vector< StyleToken > &tokens)
static StyleToken next_token(size_t &pos, const std::vector< StyleToken > &tokens, bool skip_whitespace=true)
static bool parse_resolution(const StyleToken &token, StyleSetValue &out_resolution)
static bool is_time(const StyleToken &token)
static bool parse_position(const std::vector< StyleToken > &tokens, size_t &in_out_pos, StyleSetValue &out_position_x, StyleSetValue &out_position_y)
static bool is_angle(const StyleToken &token)
static bool equals(const std::string &s1, const std::string &s2)
static bool is_resolution(const StyleToken &token)
virtual ~StylePropertyParser()
Definition style_property_parser.h:81
static bool parse_color(const std::vector< StyleToken > &tokens, size_t &in_out_pos, Colorf &out_color)
static bool is_frequency(const StyleToken &token)
static bool parse_length(const StyleToken &token, StyleSetValue &out_length)
static bool parse_time(const StyleToken &token, StyleSetValue &out_time)
static bool parse_integer(const std::string &value, int &out_int)
static bool parse_gradient(const std::vector< StyleToken > &tokens, size_t &in_out_pos, StyleGradient &out_gradient)
Interface used by style parsers to store values in a style property set.
Definition style_property_parser.h:53
virtual ~StylePropertySetter()
Definition style_property_parser.h:55
virtual void set_value(PropertyHash hash, const StyleSetValue &value)=0
Set the value for the specified property name.
virtual void set_value_array(PropertyHash hash, const std::vector< StyleSetValue > &value_array)=0
Set a value array for the specified property name.
Style property interface used to parse or query properties by name.
Definition style_property_parser.h:117
static const StyleGetValue & default_value(PropertyHash hash)
Gets the default value for a given property.
static void parse(StylePropertySetter *setter, const std::string &styles)
Parses a string of styles and sets the values.
static bool is_inherited(PropertyHash hash)
Indicates if this an inherited property or not.
Style value variable.
Definition style_set_value.h:40
Style token.
Definition style_token.h:69
StyleDimension
Unit of a style value.
Definition style_dimension.h:35
@ hash
Syntax error.
Definition style_token.h:43