Initial commit
[yaffs-website] / node_modules / node-sass / src / libsass / src / functions.hpp
1 #ifndef SASS_FUNCTIONS_H
2 #define SASS_FUNCTIONS_H
3
4 #include "listize.hpp"
5 #include "position.hpp"
6 #include "environment.hpp"
7 #include "ast_fwd_decl.hpp"
8 #include "sass/functions.h"
9
10 #define BUILT_IN(name) Expression_Ptr \
11 name(Env& env, Env& d_env, Context& ctx, Signature sig, ParserState pstate, Backtrace* backtrace, std::vector<Selector_List_Obj> selector_stack)
12
13 namespace Sass {
14   struct Backtrace;
15   typedef const char* Signature;
16   typedef Expression_Ptr (*Native_Function)(Env&, Env&, Context&, Signature, ParserState, Backtrace*, std::vector<Selector_List_Obj>);
17
18   Definition_Ptr make_native_function(Signature, Native_Function, Context& ctx);
19   Definition_Ptr make_c_function(Sass_Function_Entry c_func, Context& ctx);
20
21   std::string function_name(Signature);
22
23   namespace Functions {
24
25     extern Signature rgb_sig;
26     extern Signature rgba_4_sig;
27     extern Signature rgba_2_sig;
28     extern Signature red_sig;
29     extern Signature green_sig;
30     extern Signature blue_sig;
31     extern Signature mix_sig;
32     extern Signature hsl_sig;
33     extern Signature hsla_sig;
34     extern Signature hue_sig;
35     extern Signature saturation_sig;
36     extern Signature lightness_sig;
37     extern Signature adjust_hue_sig;
38     extern Signature lighten_sig;
39     extern Signature darken_sig;
40     extern Signature saturate_sig;
41     extern Signature desaturate_sig;
42     extern Signature grayscale_sig;
43     extern Signature complement_sig;
44     extern Signature invert_sig;
45     extern Signature alpha_sig;
46     extern Signature opacity_sig;
47     extern Signature opacify_sig;
48     extern Signature fade_in_sig;
49     extern Signature transparentize_sig;
50     extern Signature fade_out_sig;
51     extern Signature adjust_color_sig;
52     extern Signature scale_color_sig;
53     extern Signature change_color_sig;
54     extern Signature ie_hex_str_sig;
55     extern Signature unquote_sig;
56     extern Signature quote_sig;
57     extern Signature str_length_sig;
58     extern Signature str_insert_sig;
59     extern Signature str_index_sig;
60     extern Signature str_slice_sig;
61     extern Signature to_upper_case_sig;
62     extern Signature to_lower_case_sig;
63     extern Signature percentage_sig;
64     extern Signature round_sig;
65     extern Signature ceil_sig;
66     extern Signature floor_sig;
67     extern Signature abs_sig;
68     extern Signature min_sig;
69     extern Signature max_sig;
70     extern Signature inspect_sig;
71     extern Signature random_sig;
72     extern Signature length_sig;
73     extern Signature nth_sig;
74     extern Signature index_sig;
75     extern Signature join_sig;
76     extern Signature append_sig;
77     extern Signature zip_sig;
78     extern Signature list_separator_sig;
79     extern Signature type_of_sig;
80     extern Signature unit_sig;
81     extern Signature unitless_sig;
82     extern Signature comparable_sig;
83     extern Signature variable_exists_sig;
84     extern Signature global_variable_exists_sig;
85     extern Signature function_exists_sig;
86     extern Signature mixin_exists_sig;
87     extern Signature feature_exists_sig;
88     extern Signature call_sig;
89     extern Signature not_sig;
90     extern Signature if_sig;
91     extern Signature map_get_sig;
92     extern Signature map_merge_sig;
93     extern Signature map_remove_sig;
94     extern Signature map_keys_sig;
95     extern Signature map_values_sig;
96     extern Signature map_has_key_sig;
97     extern Signature keywords_sig;
98     extern Signature set_nth_sig;
99     extern Signature unique_id_sig;
100     extern Signature selector_nest_sig;
101     extern Signature selector_append_sig;
102     extern Signature selector_extend_sig;
103     extern Signature selector_replace_sig;
104     extern Signature selector_unify_sig;
105     extern Signature is_superselector_sig;
106     extern Signature simple_selectors_sig;
107     extern Signature selector_parse_sig;
108     extern Signature is_bracketed_sig;
109
110     BUILT_IN(rgb);
111     BUILT_IN(rgba_4);
112     BUILT_IN(rgba_2);
113     BUILT_IN(red);
114     BUILT_IN(green);
115     BUILT_IN(blue);
116     BUILT_IN(mix);
117     BUILT_IN(hsl);
118     BUILT_IN(hsla);
119     BUILT_IN(hue);
120     BUILT_IN(saturation);
121     BUILT_IN(lightness);
122     BUILT_IN(adjust_hue);
123     BUILT_IN(lighten);
124     BUILT_IN(darken);
125     BUILT_IN(saturate);
126     BUILT_IN(desaturate);
127     BUILT_IN(grayscale);
128     BUILT_IN(complement);
129     BUILT_IN(invert);
130     BUILT_IN(alpha);
131     BUILT_IN(opacify);
132     BUILT_IN(transparentize);
133     BUILT_IN(adjust_color);
134     BUILT_IN(scale_color);
135     BUILT_IN(change_color);
136     BUILT_IN(ie_hex_str);
137     BUILT_IN(sass_unquote);
138     BUILT_IN(sass_quote);
139     BUILT_IN(str_length);
140     BUILT_IN(str_insert);
141     BUILT_IN(str_index);
142     BUILT_IN(str_slice);
143     BUILT_IN(to_upper_case);
144     BUILT_IN(to_lower_case);
145     BUILT_IN(percentage);
146     BUILT_IN(round);
147     BUILT_IN(ceil);
148     BUILT_IN(floor);
149     BUILT_IN(abs);
150     BUILT_IN(min);
151     BUILT_IN(max);
152     BUILT_IN(inspect);
153     BUILT_IN(random);
154     BUILT_IN(length);
155     BUILT_IN(nth);
156     BUILT_IN(index);
157     BUILT_IN(join);
158     BUILT_IN(append);
159     BUILT_IN(zip);
160     BUILT_IN(list_separator);
161     BUILT_IN(type_of);
162     BUILT_IN(unit);
163     BUILT_IN(unitless);
164     BUILT_IN(comparable);
165     BUILT_IN(variable_exists);
166     BUILT_IN(global_variable_exists);
167     BUILT_IN(function_exists);
168     BUILT_IN(mixin_exists);
169     BUILT_IN(feature_exists);
170     BUILT_IN(call);
171     BUILT_IN(sass_not);
172     BUILT_IN(sass_if);
173     BUILT_IN(map_get);
174     BUILT_IN(map_merge);
175     BUILT_IN(map_remove);
176     BUILT_IN(map_keys);
177     BUILT_IN(map_values);
178     BUILT_IN(map_has_key);
179     BUILT_IN(keywords);
180     BUILT_IN(set_nth);
181     BUILT_IN(unique_id);
182     BUILT_IN(selector_nest);
183     BUILT_IN(selector_append);
184     BUILT_IN(selector_extend);
185     BUILT_IN(selector_replace);
186     BUILT_IN(selector_unify);
187     BUILT_IN(is_superselector);
188     BUILT_IN(simple_selectors);
189     BUILT_IN(selector_parse);
190     BUILT_IN(is_bracketed);
191   }
192 }
193
194 #endif