1 | #ifndef SASS_FN_COLORS_H |
2 | #define SASS_FN_COLORS_H |
3 | |
4 | #include "fn_utils.hpp" |
5 | |
6 | namespace Sass { |
7 | |
8 | namespace Functions { |
9 | |
10 | // macros for common ranges (u mean unsigned or upper, r for full range) |
11 | #define DARG_U_FACT(argname) get_arg_r(argname, env, sig, pstate, traces, - 0.0, 1.0) // double |
12 | #define DARG_R_FACT(argname) get_arg_r(argname, env, sig, pstate, traces, - 1.0, 1.0) // double |
13 | #define DARG_U_BYTE(argname) get_arg_r(argname, env, sig, pstate, traces, - 0.0, 255.0) // double |
14 | #define DARG_R_BYTE(argname) get_arg_r(argname, env, sig, pstate, traces, - 255.0, 255.0) // double |
15 | #define DARG_U_PRCT(argname) get_arg_r(argname, env, sig, pstate, traces, - 0.0, 100.0) // double |
16 | #define DARG_R_PRCT(argname) get_arg_r(argname, env, sig, pstate, traces, - 100.0, 100.0) // double |
17 | |
18 | // macros for color related inputs (rbg and alpha/opacity values) |
19 | #define COLOR_NUM(argname) color_num(argname, env, sig, pstate, traces) // double |
20 | #define ALPHA_NUM(argname) alpha_num(argname, env, sig, pstate, traces) // double |
21 | |
22 | extern Signature rgb_sig; |
23 | extern Signature rgba_4_sig; |
24 | extern Signature rgba_2_sig; |
25 | extern Signature red_sig; |
26 | extern Signature green_sig; |
27 | extern Signature blue_sig; |
28 | extern Signature mix_sig; |
29 | extern Signature hsl_sig; |
30 | extern Signature hsla_sig; |
31 | extern Signature hue_sig; |
32 | extern Signature saturation_sig; |
33 | extern Signature lightness_sig; |
34 | extern Signature adjust_hue_sig; |
35 | extern Signature lighten_sig; |
36 | extern Signature darken_sig; |
37 | extern Signature saturate_sig; |
38 | extern Signature desaturate_sig; |
39 | extern Signature grayscale_sig; |
40 | extern Signature complement_sig; |
41 | extern Signature invert_sig; |
42 | extern Signature alpha_sig; |
43 | extern Signature opacity_sig; |
44 | extern Signature opacify_sig; |
45 | extern Signature fade_in_sig; |
46 | extern Signature transparentize_sig; |
47 | extern Signature fade_out_sig; |
48 | extern Signature adjust_color_sig; |
49 | extern Signature scale_color_sig; |
50 | extern Signature change_color_sig; |
51 | extern Signature ie_hex_str_sig; |
52 | |
53 | BUILT_IN(rgb); |
54 | BUILT_IN(rgba_4); |
55 | BUILT_IN(rgba_2); |
56 | BUILT_IN(red); |
57 | BUILT_IN(green); |
58 | BUILT_IN(blue); |
59 | BUILT_IN(mix); |
60 | BUILT_IN(hsl); |
61 | BUILT_IN(hsla); |
62 | BUILT_IN(hue); |
63 | BUILT_IN(saturation); |
64 | BUILT_IN(lightness); |
65 | BUILT_IN(adjust_hue); |
66 | BUILT_IN(lighten); |
67 | BUILT_IN(darken); |
68 | BUILT_IN(saturate); |
69 | BUILT_IN(desaturate); |
70 | BUILT_IN(grayscale); |
71 | BUILT_IN(complement); |
72 | BUILT_IN(invert); |
73 | BUILT_IN(alpha); |
74 | BUILT_IN(opacify); |
75 | BUILT_IN(transparentize); |
76 | BUILT_IN(adjust_color); |
77 | BUILT_IN(scale_color); |
78 | BUILT_IN(change_color); |
79 | BUILT_IN(ie_hex_str); |
80 | |
81 | } |
82 | |
83 | } |
84 | |
85 | #endif |
86 | |