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

property_hash.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** Mark Page
28*/
29
30#pragma once
31
32namespace clan
33{
34 class PropertyHash
35 {
36 public:
37 PropertyHash(const char *property_name);
38 PropertyHash(const std::string &property_name) : PropertyHash(property_name.c_str()) {}
39
40 PropertyHash &append_index(int value);
41 PropertyHash &append(const char *text);
42
43 unsigned int hash;
44
45 bool operator<(const PropertyHash &that) const { return hash < that.hash; }
46 bool operator<=(const PropertyHash &that) const { return hash <= that.hash; }
47 bool operator==(const PropertyHash &that) const { return hash == that.hash; }
48 bool operator!=(const PropertyHash &that) const { return hash != that.hash; }
49
50 static const unsigned int scramble_value = 16777619U;
51
52 static PropertyHash hash_align_content;
53 static PropertyHash hash_align_items;
54 static PropertyHash hash_align_self;
55 static PropertyHash hash_background_attachment;
56 static PropertyHash hash_background_clip;
57 static PropertyHash hash_background_color;
58 static PropertyHash hash_background_image;
59 static PropertyHash hash_background_origin;
60 static PropertyHash hash_background_position_x;
61 static PropertyHash hash_background_position_y;
62 static PropertyHash hash_background_repeat_x;
63 static PropertyHash hash_background_repeat_y;
64 static PropertyHash hash_background_size_x;
65 static PropertyHash hash_background_size_y;
66 static PropertyHash hash_border_bottom_left_radius_x;
67 static PropertyHash hash_border_bottom_left_radius_y;
68 static PropertyHash hash_border_bottom_right_radius_x;
69 static PropertyHash hash_border_bottom_right_radius_y;
70 static PropertyHash hash_border_bottom_width;
71 static PropertyHash hash_border_image_outset_bottom;
72 static PropertyHash hash_border_image_outset_left;
73 static PropertyHash hash_border_image_outset_right;
74 static PropertyHash hash_border_image_outset_top;
75 static PropertyHash hash_border_image_repeat_x;
76 static PropertyHash hash_border_image_repeat_y;
77 static PropertyHash hash_border_image_slice_bottom;
78 static PropertyHash hash_border_image_slice_center;
79 static PropertyHash hash_border_image_slice_left;
80 static PropertyHash hash_border_image_slice_right;
81 static PropertyHash hash_border_image_slice_top;
82 static PropertyHash hash_border_image_source;
83 static PropertyHash hash_border_image_width_bottom;
84 static PropertyHash hash_border_image_width_left;
85 static PropertyHash hash_border_image_width_right;
86 static PropertyHash hash_border_image_width_top;
87 static PropertyHash hash_border_left_width;
88 static PropertyHash hash_border_right_width;
89 static PropertyHash hash_border_top_color;
90 static PropertyHash hash_border_top_left_radius_x;
91 static PropertyHash hash_border_top_left_radius_y;
92 static PropertyHash hash_border_top_right_radius_x;
93 static PropertyHash hash_border_top_right_radius_y;
94 static PropertyHash hash_border_top_style;
95 static PropertyHash hash_border_top_width;
96 static PropertyHash hash_bottom;
97 static PropertyHash hash_box_shadow_blur_radius;
98 static PropertyHash hash_box_shadow_color;
99 static PropertyHash hash_box_shadow_horizontal_offset;
100 static PropertyHash hash_box_shadow_spread_distance;
101 static PropertyHash hash_box_shadow_style;
102 static PropertyHash hash_box_shadow_vertical_offset;
103 static PropertyHash hash_color;
104 static PropertyHash hash_flex_basis;
105 static PropertyHash hash_flex_direction;
106 static PropertyHash hash_flex_grow;
107 static PropertyHash hash_flex_shrink;
108 static PropertyHash hash_flex_wrap;
109 static PropertyHash hash_font_family_names;
110 static PropertyHash hash_font_family_names_X0;
111 static PropertyHash hash__clan_font_rendering;
112 static PropertyHash hash_font_size;
113 static PropertyHash hash_font_style;
114 static PropertyHash hash_font_variant;
115 static PropertyHash hash_font_weight;
116 static PropertyHash hash_height;
117 static PropertyHash hash_justify_content;
118 static PropertyHash hash_layout;
119 static PropertyHash hash_left;
120 static PropertyHash hash_line_height;
121 static PropertyHash hash_margin_bottom;
122 static PropertyHash hash_margin_left;
123 static PropertyHash hash_margin_right;
124 static PropertyHash hash_margin_top;
125 static PropertyHash hash_max_height;
126 static PropertyHash hash_max_width;
127 static PropertyHash hash_min_height;
128 static PropertyHash hash_min_width;
129 static PropertyHash hash_padding_bottom;
130 static PropertyHash hash_padding_left;
131 static PropertyHash hash_padding_right;
132 static PropertyHash hash_padding_top;
133 static PropertyHash hash_position;
134 static PropertyHash hash_right;
135 static PropertyHash hash_top;
136 static PropertyHash hash_visibility;
137 static PropertyHash hash_width;
138 static PropertyHash hash_background_position;
139 static PropertyHash hash_background_repeat;
140 static PropertyHash hash_background_size;
141 static PropertyHash hash_border_bottom_color;
142 static PropertyHash hash_border_bottom_style;
143 static PropertyHash hash_border_left_color;
144 static PropertyHash hash_border_left_style;
145 static PropertyHash hash_border_right_color;
146 static PropertyHash hash_border_right_style;
147 static PropertyHash hash_box_shadow;
148 static PropertyHash hash_font_family;
149 static PropertyHash hash_letter_spacing;
150 static PropertyHash hash_order;
151 static PropertyHash hash_outline_color;
152 static PropertyHash hash_outline_style;
153 static PropertyHash hash_outline_width;
154 static PropertyHash hash_text_align;
155 static PropertyHash hash_text_decoration_blink;
156 static PropertyHash hash_text_decoration_line_through;
157 static PropertyHash hash_text_decoration_overline;
158 static PropertyHash hash_text_decoration_underline;
159 static PropertyHash hash_text_indent;
160 static PropertyHash hash_text_transform;
161 static PropertyHash hash_word_spacing;
162 static PropertyHash hash_z_index;
163 };
164}
clan::PropertyHash::hash_border_bottom_right_radius_x
static PropertyHash hash_border_bottom_right_radius_x
Definition property_hash.h:68
clan::PropertyHash::hash_max_width
static PropertyHash hash_max_width
Definition property_hash.h:126
clan::PropertyHash::hash_background_size_x
static PropertyHash hash_background_size_x
Definition property_hash.h:64
clan::PropertyHash::hash_background_size
static PropertyHash hash_background_size
Definition property_hash.h:140
clan::PropertyHash::hash_background_repeat_x
static PropertyHash hash_background_repeat_x
Definition property_hash.h:62
clan::PropertyHash::hash
unsigned int hash
Definition property_hash.h:43
clan::PropertyHash::hash_font_family
static PropertyHash hash_font_family
Definition property_hash.h:148
clan::PropertyHash::hash_border_image_width_bottom
static PropertyHash hash_border_image_width_bottom
Definition property_hash.h:83
clan::PropertyHash::hash_border_top_color
static PropertyHash hash_border_top_color
Definition property_hash.h:89
clan::PropertyHash::hash_border_image_slice_right
static PropertyHash hash_border_image_slice_right
Definition property_hash.h:80
clan::PropertyHash::hash_border_image_repeat_x
static PropertyHash hash_border_image_repeat_x
Definition property_hash.h:75
clan::PropertyHash::hash_visibility
static PropertyHash hash_visibility
Definition property_hash.h:136
clan::PropertyHash::hash_order
static PropertyHash hash_order
Definition property_hash.h:150
clan::PropertyHash::hash_z_index
static PropertyHash hash_z_index
Definition property_hash.h:162
clan::PropertyHash::operator==
bool operator==(const PropertyHash &that) const
Definition property_hash.h:47
clan::PropertyHash::hash_text_transform
static PropertyHash hash_text_transform
Definition property_hash.h:160
clan::PropertyHash::hash_background_repeat_y
static PropertyHash hash_background_repeat_y
Definition property_hash.h:63
clan::PropertyHash::scramble_value
static const unsigned int scramble_value
Definition property_hash.h:50
clan::PropertyHash::hash_align_items
static PropertyHash hash_align_items
Definition property_hash.h:53
clan::PropertyHash::hash_box_shadow_style
static PropertyHash hash_box_shadow_style
Definition property_hash.h:101
clan::PropertyHash::operator<
bool operator<(const PropertyHash &that) const
Definition property_hash.h:45
clan::PropertyHash::hash_box_shadow_horizontal_offset
static PropertyHash hash_box_shadow_horizontal_offset
Definition property_hash.h:99
clan::PropertyHash::hash_border_bottom_width
static PropertyHash hash_border_bottom_width
Definition property_hash.h:70
clan::PropertyHash::operator!=
bool operator!=(const PropertyHash &that) const
Definition property_hash.h:48
clan::PropertyHash::hash_padding_bottom
static PropertyHash hash_padding_bottom
Definition property_hash.h:129
clan::PropertyHash::hash_color
static PropertyHash hash_color
Definition property_hash.h:103
clan::PropertyHash::hash_background_image
static PropertyHash hash_background_image
Definition property_hash.h:58
clan::PropertyHash::hash_text_decoration_underline
static PropertyHash hash_text_decoration_underline
Definition property_hash.h:158
clan::PropertyHash::hash_border_image_outset_left
static PropertyHash hash_border_image_outset_left
Definition property_hash.h:72
clan::PropertyHash::PropertyHash
PropertyHash(const char *property_name)
clan::PropertyHash::hash_border_left_width
static PropertyHash hash_border_left_width
Definition property_hash.h:87
clan::PropertyHash::hash_text_decoration_overline
static PropertyHash hash_text_decoration_overline
Definition property_hash.h:157
clan::PropertyHash::hash_outline_style
static PropertyHash hash_outline_style
Definition property_hash.h:152
clan::PropertyHash::hash_box_shadow_blur_radius
static PropertyHash hash_box_shadow_blur_radius
Definition property_hash.h:97
clan::PropertyHash::hash_font_size
static PropertyHash hash_font_size
Definition property_hash.h:112
clan::PropertyHash::hash_padding_left
static PropertyHash hash_padding_left
Definition property_hash.h:130
clan::PropertyHash::hash_border_image_slice_center
static PropertyHash hash_border_image_slice_center
Definition property_hash.h:78
clan::PropertyHash::hash_border_top_left_radius_y
static PropertyHash hash_border_top_left_radius_y
Definition property_hash.h:91
clan::PropertyHash::hash_align_content
static PropertyHash hash_align_content
Definition property_hash.h:52
clan::PropertyHash::hash_line_height
static PropertyHash hash_line_height
Definition property_hash.h:120
clan::PropertyHash::hash_border_bottom_left_radius_y
static PropertyHash hash_border_bottom_left_radius_y
Definition property_hash.h:67
clan::PropertyHash::hash_letter_spacing
static PropertyHash hash_letter_spacing
Definition property_hash.h:149
clan::PropertyHash::hash_border_image_outset_bottom
static PropertyHash hash_border_image_outset_bottom
Definition property_hash.h:71
clan::PropertyHash::operator<=
bool operator<=(const PropertyHash &that) const
Definition property_hash.h:46
clan::PropertyHash::hash_border_bottom_left_radius_x
static PropertyHash hash_border_bottom_left_radius_x
Definition property_hash.h:66
clan::PropertyHash::hash_max_height
static PropertyHash hash_max_height
Definition property_hash.h:125
clan::PropertyHash::hash_background_position
static PropertyHash hash_background_position
Definition property_hash.h:138
clan::PropertyHash::hash_font_family_names_X0
static PropertyHash hash_font_family_names_X0
Definition property_hash.h:110
clan::PropertyHash::hash_border_left_style
static PropertyHash hash_border_left_style
Definition property_hash.h:144
clan::PropertyHash::hash_flex_direction
static PropertyHash hash_flex_direction
Definition property_hash.h:105
clan::PropertyHash::hash_border_image_slice_bottom
static PropertyHash hash_border_image_slice_bottom
Definition property_hash.h:77
clan::PropertyHash::hash_width
static PropertyHash hash_width
Definition property_hash.h:137
clan::PropertyHash::hash_flex_grow
static PropertyHash hash_flex_grow
Definition property_hash.h:106
clan::PropertyHash::hash_border_image_slice_top
static PropertyHash hash_border_image_slice_top
Definition property_hash.h:81
clan::PropertyHash::hash_border_image_source
static PropertyHash hash_border_image_source
Definition property_hash.h:82
clan::PropertyHash::hash_left
static PropertyHash hash_left
Definition property_hash.h:119
clan::PropertyHash::hash_background_size_y
static PropertyHash hash_background_size_y
Definition property_hash.h:65
clan::PropertyHash::hash_margin_top
static PropertyHash hash_margin_top
Definition property_hash.h:124
clan::PropertyHash::hash_align_self
static PropertyHash hash_align_self
Definition property_hash.h:54
clan::PropertyHash::hash_text_indent
static PropertyHash hash_text_indent
Definition property_hash.h:159
clan::PropertyHash::hash_box_shadow_vertical_offset
static PropertyHash hash_box_shadow_vertical_offset
Definition property_hash.h:102
clan::PropertyHash::hash_border_right_style
static PropertyHash hash_border_right_style
Definition property_hash.h:146
clan::PropertyHash::hash_border_top_style
static PropertyHash hash_border_top_style
Definition property_hash.h:94
clan::PropertyHash::hash_border_bottom_color
static PropertyHash hash_border_bottom_color
Definition property_hash.h:141
clan::PropertyHash::hash_height
static PropertyHash hash_height
Definition property_hash.h:116
clan::PropertyHash::hash_border_image_width_top
static PropertyHash hash_border_image_width_top
Definition property_hash.h:86
clan::PropertyHash::hash_font_weight
static PropertyHash hash_font_weight
Definition property_hash.h:115
clan::PropertyHash::hash_right
static PropertyHash hash_right
Definition property_hash.h:134
clan::PropertyHash::hash_justify_content
static PropertyHash hash_justify_content
Definition property_hash.h:117
clan::PropertyHash::hash_margin_right
static PropertyHash hash_margin_right
Definition property_hash.h:123
clan::PropertyHash::hash_top
static PropertyHash hash_top
Definition property_hash.h:135
clan::PropertyHash::hash_background_origin
static PropertyHash hash_background_origin
Definition property_hash.h:59
clan::PropertyHash::hash_font_family_names
static PropertyHash hash_font_family_names
Definition property_hash.h:109
clan::PropertyHash::hash_box_shadow_color
static PropertyHash hash_box_shadow_color
Definition property_hash.h:98
clan::PropertyHash::hash_flex_wrap
static PropertyHash hash_flex_wrap
Definition property_hash.h:108
clan::PropertyHash::hash_border_top_right_radius_y
static PropertyHash hash_border_top_right_radius_y
Definition property_hash.h:93
clan::PropertyHash::hash_padding_top
static PropertyHash hash_padding_top
Definition property_hash.h:132
clan::PropertyHash::hash_border_image_width_right
static PropertyHash hash_border_image_width_right
Definition property_hash.h:85
clan::PropertyHash::hash_padding_right
static PropertyHash hash_padding_right
Definition property_hash.h:131
clan::PropertyHash::append_index
PropertyHash & append_index(int value)
clan::PropertyHash::hash_border_image_outset_top
static PropertyHash hash_border_image_outset_top
Definition property_hash.h:74
clan::PropertyHash::hash_background_position_y
static PropertyHash hash_background_position_y
Definition property_hash.h:61
clan::PropertyHash::hash_background_attachment
static PropertyHash hash_background_attachment
Definition property_hash.h:55
clan::PropertyHash::hash_border_top_width
static PropertyHash hash_border_top_width
Definition property_hash.h:95
clan::PropertyHash::hash_font_variant
static PropertyHash hash_font_variant
Definition property_hash.h:114
clan::PropertyHash::hash_position
static PropertyHash hash_position
Definition property_hash.h:133
clan::PropertyHash::hash_min_height
static PropertyHash hash_min_height
Definition property_hash.h:127
clan::PropertyHash::hash_border_right_color
static PropertyHash hash_border_right_color
Definition property_hash.h:145
clan::PropertyHash::hash_margin_bottom
static PropertyHash hash_margin_bottom
Definition property_hash.h:121
clan::PropertyHash::hash_min_width
static PropertyHash hash_min_width
Definition property_hash.h:128
clan::PropertyHash::hash_border_right_width
static PropertyHash hash_border_right_width
Definition property_hash.h:88
clan::PropertyHash::hash_flex_basis
static PropertyHash hash_flex_basis
Definition property_hash.h:104
clan::PropertyHash::hash_font_style
static PropertyHash hash_font_style
Definition property_hash.h:113
clan::PropertyHash::hash_margin_left
static PropertyHash hash_margin_left
Definition property_hash.h:122
clan::PropertyHash::hash_text_decoration_blink
static PropertyHash hash_text_decoration_blink
Definition property_hash.h:155
clan::PropertyHash::append
PropertyHash & append(const char *text)
clan::PropertyHash::hash__clan_font_rendering
static PropertyHash hash__clan_font_rendering
Definition property_hash.h:111
clan::PropertyHash::hash_word_spacing
static PropertyHash hash_word_spacing
Definition property_hash.h:161
clan::PropertyHash::hash_border_image_repeat_y
static PropertyHash hash_border_image_repeat_y
Definition property_hash.h:76
clan::PropertyHash::hash_outline_color
static PropertyHash hash_outline_color
Definition property_hash.h:151
clan::PropertyHash::hash_border_image_slice_left
static PropertyHash hash_border_image_slice_left
Definition property_hash.h:79
clan::PropertyHash::hash_background_position_x
static PropertyHash hash_background_position_x
Definition property_hash.h:60
clan::PropertyHash::hash_outline_width
static PropertyHash hash_outline_width
Definition property_hash.h:153
clan::PropertyHash::hash_border_top_right_radius_x
static PropertyHash hash_border_top_right_radius_x
Definition property_hash.h:92
clan::PropertyHash::hash_background_clip
static PropertyHash hash_background_clip
Definition property_hash.h:56
clan::PropertyHash::hash_border_image_outset_right
static PropertyHash hash_border_image_outset_right
Definition property_hash.h:73
clan::PropertyHash::hash_box_shadow_spread_distance
static PropertyHash hash_box_shadow_spread_distance
Definition property_hash.h:100
clan::PropertyHash::PropertyHash
PropertyHash(const std::string &property_name)
Definition property_hash.h:38
clan::PropertyHash::hash_background_repeat
static PropertyHash hash_background_repeat
Definition property_hash.h:139
clan::PropertyHash::hash_layout
static PropertyHash hash_layout
Definition property_hash.h:118
clan::PropertyHash::hash_bottom
static PropertyHash hash_bottom
Definition property_hash.h:96
clan::PropertyHash::hash_text_decoration_line_through
static PropertyHash hash_text_decoration_line_through
Definition property_hash.h:156
clan::PropertyHash::hash_text_align
static PropertyHash hash_text_align
Definition property_hash.h:154
clan::PropertyHash::hash_flex_shrink
static PropertyHash hash_flex_shrink
Definition property_hash.h:107
clan::PropertyHash::hash_border_top_left_radius_x
static PropertyHash hash_border_top_left_radius_x
Definition property_hash.h:90
clan::PropertyHash::hash_border_bottom_right_radius_y
static PropertyHash hash_border_bottom_right_radius_y
Definition property_hash.h:69
clan::PropertyHash::hash_border_image_width_left
static PropertyHash hash_border_image_width_left
Definition property_hash.h:84
clan::PropertyHash::hash_border_left_color
static PropertyHash hash_border_left_color
Definition property_hash.h:143
clan::PropertyHash::hash_border_bottom_style
static PropertyHash hash_border_bottom_style
Definition property_hash.h:142
clan::PropertyHash::hash_background_color
static PropertyHash hash_background_color
Definition property_hash.h:57
clan::PropertyHash::hash_box_shadow
static PropertyHash hash_box_shadow
Definition property_hash.h:147
clan
Definition clanapp.h:36