diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/emotion/emotion_smart.c | 2 | ||||
-rw-r--r-- | src/lib/evas/Evas_Legacy.h | 1 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_clip.c | 2 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_object_intercept.c | 17 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_object_smart_clipped.c | 18 | ||||
-rw-r--r-- | src/tests/evas/evas_test_mask.c | 8 |
6 files changed, 21 insertions, 27 deletions
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c index bc3a7eb8b6..5ea48bbcd8 100644 --- a/src/lib/emotion/emotion_smart.c +++ b/src/lib/emotion/emotion_smart.c | |||
@@ -2016,6 +2016,8 @@ _efl_canvas_video_efl_canvas_object_clip_set(Evas_Object *obj, Efl_Canvas_Video_ | |||
2016 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, 0, clip)) | 2016 | if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, 0, clip)) |
2017 | return; | 2017 | return; |
2018 | 2018 | ||
2019 | efl_canvas_object_clip_set(efl_super(obj, MY_CLASS), clip); | ||
2020 | |||
2019 | if (sd->crop.clipper) evas_object_clip_set(sd->crop.clipper, clip); | 2021 | if (sd->crop.clipper) evas_object_clip_set(sd->crop.clipper, clip); |
2020 | else evas_object_clip_set(sd->obj, clip); | 2022 | else evas_object_clip_set(sd->obj, clip); |
2021 | evas_object_clip_set(sd->bg, clip); | 2023 | evas_object_clip_set(sd->bg, clip); |
diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h index f385d00a32..78653e78bd 100644 --- a/src/lib/evas/Evas_Legacy.h +++ b/src/lib/evas/Evas_Legacy.h | |||
@@ -2514,7 +2514,6 @@ enum _Evas_Object_Intercept_Cb_Type | |||
2514 | EVAS_OBJECT_INTERCEPT_CB_FOCUS_SET, | 2514 | EVAS_OBJECT_INTERCEPT_CB_FOCUS_SET, |
2515 | EVAS_OBJECT_INTERCEPT_CB_COLOR_SET, | 2515 | EVAS_OBJECT_INTERCEPT_CB_COLOR_SET, |
2516 | EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, | 2516 | EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, |
2517 | EVAS_OBJECT_INTERCEPT_CB_CLIP_UNSET, | ||
2518 | }; | 2517 | }; |
2519 | typedef enum _Evas_Object_Intercept_Cb_Type Evas_Object_Intercept_Cb_Type; | 2518 | typedef enum _Evas_Object_Intercept_Cb_Type Evas_Object_Intercept_Cb_Type; |
2520 | 2519 | ||
diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c index 1813696922..0f7be1b0fb 100644 --- a/src/lib/evas/canvas/evas_clip.c +++ b/src/lib/evas/canvas/evas_clip.c | |||
@@ -433,7 +433,7 @@ static void | |||
433 | _clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj) | 433 | _clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj) |
434 | { | 434 | { |
435 | if (_efl_canvas_object_clip_unset_block(eo_obj, obj)) return; | 435 | if (_efl_canvas_object_clip_unset_block(eo_obj, obj)) return; |
436 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_UNSET, 1)) return; | 436 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, 1, NULL)) return; |
437 | if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class && | 437 | if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class && |
438 | obj->smart.smart->smart_class->clip_unset) | 438 | obj->smart.smart->smart_class->clip_unset) |
439 | { | 439 | { |
diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index 42b490e896..f4bbe9db6e 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c | |||
@@ -195,18 +195,17 @@ _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type c | |||
195 | } | 195 | } |
196 | if (!obj->interceptors) goto end_noblock; | 196 | if (!obj->interceptors) goto end_noblock; |
197 | blocked = evas_object_intercept_call_clip_set(eo_obj, obj, eo_other); | 197 | blocked = evas_object_intercept_call_clip_set(eo_obj, obj, eo_other); |
198 | break; | ||
199 | } | 198 | } |
200 | // else: fallthrough to unset | 199 | else |
201 | |||
202 | case EVAS_OBJECT_INTERCEPT_CB_CLIP_UNSET: | ||
203 | if (!internal) | ||
204 | { | 200 | { |
205 | if (_efl_canvas_object_clip_unset_block(eo_obj, obj)) | 201 | if (!internal) |
206 | goto end_block; | 202 | { |
203 | if (_efl_canvas_object_clip_unset_block(eo_obj, obj)) | ||
204 | goto end_block; | ||
205 | } | ||
206 | if (!obj->interceptors) goto end_noblock; | ||
207 | blocked = evas_object_intercept_call_clip_unset(eo_obj, obj); | ||
207 | } | 208 | } |
208 | if (!obj->interceptors) goto end_noblock; | ||
209 | blocked = evas_object_intercept_call_clip_unset(eo_obj, obj); | ||
210 | break; | 209 | break; |
211 | } | 210 | } |
212 | 211 | ||
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c b/src/lib/evas/canvas/evas_object_smart_clipped.c index 8cbc5c539c..252709a02f 100644 --- a/src/lib/evas/canvas/evas_object_smart_clipped.c +++ b/src/lib/evas/canvas/evas_object_smart_clipped.c | |||
@@ -166,18 +166,12 @@ evas_object_smart_clipped_smart_clip_unset(Evas_Object *eo_obj) | |||
166 | EOLIAN static void | 166 | EOLIAN static void |
167 | _efl_canvas_group_clipped_efl_canvas_object_clip_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Object *clip) | 167 | _efl_canvas_group_clipped_efl_canvas_object_clip_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Object *clip) |
168 | { | 168 | { |
169 | if (clip) | 169 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, 0, clip)) |
170 | { | 170 | return; |
171 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_SET, 0, clip)) | 171 | |
172 | return; | 172 | efl_canvas_object_clip_set(efl_super(eo_obj, MY_CLASS), clip); |
173 | evas_object_smart_clipped_smart_clip_set(eo_obj, clip); | 173 | if (clip) evas_object_smart_clipped_smart_clip_set(eo_obj, clip); |
174 | } | 174 | else evas_object_smart_clipped_smart_clip_unset(eo_obj); |
175 | else | ||
176 | { | ||
177 | if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_CLIP_UNSET, 0)) | ||
178 | return; | ||
179 | evas_object_smart_clipped_smart_clip_unset(eo_obj); | ||
180 | } | ||
181 | } | 175 | } |
182 | 176 | ||
183 | static void | 177 | static void |
diff --git a/src/tests/evas/evas_test_mask.c b/src/tests/evas/evas_test_mask.c index d8b64d341a..b3dd17b42c 100644 --- a/src/tests/evas/evas_test_mask.c +++ b/src/tests/evas/evas_test_mask.c | |||
@@ -37,7 +37,7 @@ | |||
37 | static int | 37 | static int |
38 | _bgra_compare(unsigned int *data, unsigned int *ref, int w, int h) | 38 | _bgra_compare(unsigned int *data, unsigned int *ref, int w, int h) |
39 | { | 39 | { |
40 | int i,j; | 40 | int i, j, ret = 0; |
41 | for (j = 0; j < h; j++) | 41 | for (j = 0; j < h; j++) |
42 | { | 42 | { |
43 | #if 0 | 43 | #if 0 |
@@ -50,12 +50,12 @@ _bgra_compare(unsigned int *data, unsigned int *ref, int w, int h) | |||
50 | for (i = 0; i < w; i++) | 50 | for (i = 0; i < w; i++) |
51 | if (data[i+j*w] != ref[i+j*w]) | 51 | if (data[i+j*w] != ref[i+j*w]) |
52 | { | 52 | { |
53 | printf("Pixel %d differ: %#x vs. %#x\n", i+j*w, data[i+j*w], ref[i+j*w]); | 53 | printf("Pixel %2dx%-2d differ: %#x vs. %#x\n", i, j, data[i+j*w], ref[i+j*w]); |
54 | fflush(stdout); | 54 | fflush(stdout); |
55 | return 1; | 55 | ret = 1; |
56 | } | 56 | } |
57 | } | 57 | } |
58 | return 0; | 58 | return ret; |
59 | } | 59 | } |
60 | 60 | ||
61 | // The usual useless unit test | 61 | // The usual useless unit test |