move around - flatter.
[profile/ivi/evas.git] / src / lib / engines / common / evas_op_mask / op_mask_color_.c
1
2
3 /* mask color --> dst */
4
5 #ifdef BUILD_C
6 static void
7 _op_mask_c_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
8    DATA32 *e = d + l;
9    c = 1 + (c >> 24);
10    for (; d < e; d++) {
11         *d = MUL_256(c, *d);
12    }
13 }
14
15 #define _op_mask_caa_dp _op_mask_c_dp
16
17 #define _op_mask_c_dpan _op_mask_c_dp
18 #define _op_mask_caa_dpan _op_mask_caa_dp
19
20 static void
21 init_mask_color_span_funcs_c(void)
22 {
23    op_mask_span_funcs[SP_N][SM_N][SC][DP][CPU_C] = _op_mask_c_dp;
24    op_mask_span_funcs[SP_N][SM_N][SC_AA][DP][CPU_C] = _op_mask_caa_dp;
25
26    op_mask_span_funcs[SP_N][SM_N][SC][DP_AN][CPU_C] = _op_mask_c_dpan;
27    op_mask_span_funcs[SP_N][SM_N][SC_AA][DP_AN][CPU_C] = _op_mask_caa_dpan;
28 }
29 #endif
30
31 #ifdef BUILD_C
32 static void
33 _op_mask_pt_c_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
34         *d = MUL_SYM(c >> 24, *d);
35 }
36
37 #define _op_mask_pt_caa_dp _op_mask_pt_c_dp
38
39 #define _op_mask_pt_c_dpan _op_mask_pt_c_dp
40 #define _op_mask_pt_caa_dpan _op_mask_pt_caa_dp
41
42 static void
43 init_mask_color_pt_funcs_c(void)
44 {
45    op_mask_pt_funcs[SP_N][SM_N][SC][DP][CPU_C] = _op_mask_pt_c_dp;
46    op_mask_pt_funcs[SP_N][SM_N][SC_AA][DP][CPU_C] = _op_mask_pt_caa_dp;
47
48    op_mask_pt_funcs[SP_N][SM_N][SC][DP_AN][CPU_C] = _op_mask_pt_c_dpan;
49    op_mask_pt_funcs[SP_N][SM_N][SC_AA][DP_AN][CPU_C] = _op_mask_pt_caa_dpan;
50 }
51 #endif