style_token.h Source File - ClanLib SDK
Description: style_token.h Source File

style_token.h
1/*
2** ClanLib SDK
3** Copyright (c) 1997-2020 The ClanLib Team
4**
5** This software is provided 'as-is', without any express or implied
6** warranty. In no event will the authors be held liable for any damages
7** arising from the use of this software.
8**
9** Permission is granted to anyone to use this software for any purpose,
10** including commercial applications, and to alter it and redistribute it
11** freely, subject to the following restrictions:
12**
13** 1. The origin of this software must not be misrepresented; you must not
14** claim that you wrote the original software. If you use this software
15** in a product, an acknowledgment in the product documentation would be
16** appreciated but is not required.
17** 2. Altered source versions must be plainly marked as such, and must not be
18** misrepresented as being the original software.
19** 3. This notice may not be removed or altered from any source distribution.
20**
21** Note: Some of the libraries ClanLib may link to may have additional
22** requirements or restrictions.
23**
24** File Author(s):
25**
26** Magnus Norddahl
27*/
28
29#pragma once
30
31#include <string>
32
33namespace clan
34{
36 enum class StyleTokenType
37 {
38 null,
39 ident,
40 atkeyword,
41 string,
42 invalid,
43 hash,
44 number,
45 percentage,
46 dimension,
47 uri,
48 unicode_range,
49 cdo,
50 cdc,
51 colon,
52 semi_colon,
53 curly_brace_begin,
54 curly_brace_end,
55 bracket_begin,
56 bracket_end,
57 square_bracket_begin,
58 square_bracket_end,
59 whitespace,
60 comment,
61 function,
62 includes,
63 dashmatch,
64 delim
65 };
66
68 class StyleToken
69 {
70 public:
72 StyleTokenType type = StyleTokenType::null;
73
75 std::string value;
76
78 std::string dimension;
79 };
80}
clan::StyleToken
Style token.
Definition style_token.h:69
clan::StyleToken::value
std::string value
Token value.
Definition style_token.h:75
clan::StyleToken::dimension
std::string dimension
Dimension for token value.
Definition style_token.h:78
clan::StyleToken::type
StyleTokenType type
Token type.
Definition style_token.h:72
clan::JsonType::null
@ null
Definition json_value.h:49
clan::JsonType::number
@ number
Definition json_value.h:52
clan::JsonType::string
@ string
Definition json_value.h:54
clan
Definition clanapp.h:36
clan::StyleTokenType
StyleTokenType
Token types recognized by the style tokenzier.
Definition style_token.h:37
clan::StyleTokenType::comment
@ comment
Whitespace.
Definition style_token.h:60
clan::StyleTokenType::hash
@ hash
Syntax error.
Definition style_token.h:43
clan::StyleTokenType::dashmatch
@ dashmatch
~=
Definition style_token.h:63
clan::StyleTokenType::square_bracket_begin
@ square_bracket_begin
)
Definition style_token.h:57
clan::StyleTokenType::null
@ null
Definition style_token.h:38
clan::StyleTokenType::bracket_end
@ bracket_end
(
Definition style_token.h:56
clan::StyleTokenType::curly_brace_begin
@ curly_brace_begin
;
Definition style_token.h:53
clan::StyleTokenType::unicode_range
@ unicode_range
Url function.
Definition style_token.h:48
clan::StyleTokenType::semi_colon
@ semi_colon
:
Definition style_token.h:52
clan::StyleTokenType::ident
@ ident
No more tokens.
Definition style_token.h:39
clan::StyleTokenType::whitespace
@ whitespace
]
Definition style_token.h:59
clan::StyleTokenType::square_bracket_end
@ square_bracket_end
[
Definition style_token.h:58
clan::StyleTokenType::delim
@ delim
|=
Definition style_token.h:64
clan::StyleTokenType::atkeyword
@ atkeyword
Identifier.
Definition style_token.h:40
clan::StyleTokenType::cdc
@ cdc
HTLM comment begin .
Definition style_token.h:50
clan::StyleTokenType::uri
@ uri
Number with dimension.
Definition style_token.h:47
clan::StyleTokenType::bracket_begin
@ bracket_begin
}
Definition style_token.h:55
clan::StyleTokenType::includes
@ includes
Function name.
Definition style_token.h:62
clan::StyleTokenType::function
@ function
C style comment block.
Definition style_token.h:61
clan::StyleTokenType::dimension
@ dimension
Percentage number.
Definition style_token.h:46
clan::StyleTokenType::colon
@ colon
HTML comment end -->
Definition style_token.h:51
clan::StyleTokenType::percentage
@ percentage
Number.
Definition style_token.h:45
clan::StyleTokenType::cdo
@ cdo
Unicode range.
Definition style_token.h:49
clan::StyleTokenType::curly_brace_end
@ curly_brace_end
{
Definition style_token.h:54
clan::StyleTokenType::invalid
@ invalid
String.
Definition style_token.h:42