diff options
author | ChunEon Park <hermet@hermet.pe.kr> | 2012-10-19 12:22:16 +0000 |
---|---|---|
committer | ChunEon Park <hermet@hermet.pe.kr> | 2012-10-19 12:22:16 +0000 |
commit | 5f8b84063f5654717c3e2bb6791ba36c8cfa3564 (patch) | |
tree | 8f0aad59d78b876ebfa2d652457a521e9ef1188d /legacy | |
parent | 983627ecb7f17fdd31bb9119d56f362377241795 (diff) |
evas/proxy - update rendering when source visibility is switching.
SVN revision: 78249
Diffstat (limited to 'legacy')
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_image.c | 7 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_line.c | 2 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_main.c | 1 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_polygon.c | 4 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_rectangle.c | 2 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_text.c | 2 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_textblock.c | 2 | ||||
-rw-r--r-- | legacy/evas/src/lib/canvas/evas_object_textgrid.c | 2 | ||||
-rw-r--r-- | legacy/evas/src/lib/include/evas_private.h | 1 |
9 files changed, 12 insertions, 11 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_object_image.c b/legacy/evas/src/lib/canvas/evas_object_image.c index e2f62c3f3a..8d141e9224 100644 --- a/legacy/evas/src/lib/canvas/evas_object_image.c +++ b/legacy/evas/src/lib/canvas/evas_object_image.c | |||
@@ -580,11 +580,10 @@ _image_source_visible_set(Eo *eo_obj, void *_pd, va_list *list) | |||
580 | if (!o->cur.source) return; | 580 | if (!o->cur.source) return; |
581 | src_obj = eo_data_get(o->cur.source, EVAS_OBJ_CLASS); | 581 | src_obj = eo_data_get(o->cur.source, EVAS_OBJ_CLASS); |
582 | src_obj->proxy.source_invisible = !visible; | 582 | src_obj->proxy.source_invisible = !visible; |
583 | src_obj->changed_source_visible = EINA_TRUE; | ||
583 | evas_object_smart_member_cache_invalidate(o->cur.source, EINA_FALSE, | 584 | evas_object_smart_member_cache_invalidate(o->cur.source, EINA_FALSE, |
584 | EINA_FALSE, EINA_TRUE); | 585 | EINA_FALSE, EINA_TRUE); |
585 | src_obj->changed = EINA_TRUE; | ||
586 | evas_object_change(o->cur.source, src_obj); | 586 | evas_object_change(o->cur.source, src_obj); |
587 | |||
588 | //FIXME: Feed mouse events here. | 587 | //FIXME: Feed mouse events here. |
589 | } | 588 | } |
590 | 589 | ||
@@ -2628,6 +2627,8 @@ _proxy_unset(Evas_Object *proxy) | |||
2628 | if (cur_source->proxy.source_invisible) | 2627 | if (cur_source->proxy.source_invisible) |
2629 | { | 2628 | { |
2630 | cur_source->proxy.source_invisible = EINA_FALSE; | 2629 | cur_source->proxy.source_invisible = EINA_FALSE; |
2630 | cur_source->changed_source_visible = EINA_TRUE; | ||
2631 | evas_object_change(o->cur.source, cur_source); | ||
2631 | evas_object_smart_member_cache_invalidate(o->cur.source, EINA_FALSE, | 2632 | evas_object_smart_member_cache_invalidate(o->cur.source, EINA_FALSE, |
2632 | EINA_FALSE, EINA_TRUE); | 2633 | EINA_FALSE, EINA_TRUE); |
2633 | } | 2634 | } |
@@ -3652,7 +3653,7 @@ evas_object_image_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data *ob | |||
3652 | evas_object_render_pre_visible_change(&e->clip_changes, eo_obj, is_v, was_v); | 3653 | evas_object_render_pre_visible_change(&e->clip_changes, eo_obj, is_v, was_v); |
3653 | if (!o->pixel_updates) goto done; | 3654 | if (!o->pixel_updates) goto done; |
3654 | } | 3655 | } |
3655 | if (obj->changed_map) | 3656 | if (obj->changed_map || obj->changed_source_visible) |
3656 | { | 3657 | { |
3657 | evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); | 3658 | evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); |
3658 | goto done; | 3659 | goto done; |
diff --git a/legacy/evas/src/lib/canvas/evas_object_line.c b/legacy/evas/src/lib/canvas/evas_object_line.c index 538488a4a9..1575aed67e 100644 --- a/legacy/evas/src/lib/canvas/evas_object_line.c +++ b/legacy/evas/src/lib/canvas/evas_object_line.c | |||
@@ -309,7 +309,7 @@ evas_object_line_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj | |||
309 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); | 309 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); |
310 | goto done; | 310 | goto done; |
311 | } | 311 | } |
312 | if (obj->changed_map) | 312 | if (obj->changed_map || obj->changed_source_visible) |
313 | { | 313 | { |
314 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, | 314 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, |
315 | obj); | 315 | obj); |
diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index 25ce68a3e5..cecc96f794 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c | |||
@@ -54,6 +54,7 @@ evas_object_change_reset(Evas_Object *eo_obj) | |||
54 | obj->changed_color = EINA_FALSE; | 54 | obj->changed_color = EINA_FALSE; |
55 | obj->changed_map = EINA_FALSE; | 55 | obj->changed_map = EINA_FALSE; |
56 | obj->changed_pchange = EINA_FALSE; | 56 | obj->changed_pchange = EINA_FALSE; |
57 | obj->changed_source_visible = EINA_FALSE; | ||
57 | } | 58 | } |
58 | 59 | ||
59 | void | 60 | void |
diff --git a/legacy/evas/src/lib/canvas/evas_object_polygon.c b/legacy/evas/src/lib/canvas/evas_object_polygon.c index 3f94317ed0..4b414818e2 100644 --- a/legacy/evas/src/lib/canvas/evas_object_polygon.c +++ b/legacy/evas/src/lib/canvas/evas_object_polygon.c | |||
@@ -366,9 +366,7 @@ evas_object_polygon_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data * | |||
366 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); | 366 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); |
367 | goto done; | 367 | goto done; |
368 | } | 368 | } |
369 | if (obj->changed_map) | 369 | if (obj->changed_map || obj->changed_source_visible) |
370 | if ((obj->cur.map != obj->prev.map) || | ||
371 | (obj->cur.usemap != obj->prev.usemap)) | ||
372 | { | 370 | { |
373 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj); | 371 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj); |
374 | goto done; | 372 | goto done; |
diff --git a/legacy/evas/src/lib/canvas/evas_object_rectangle.c b/legacy/evas/src/lib/canvas/evas_object_rectangle.c index b04b4fdfd6..854e327538 100644 --- a/legacy/evas/src/lib/canvas/evas_object_rectangle.c +++ b/legacy/evas/src/lib/canvas/evas_object_rectangle.c | |||
@@ -178,7 +178,7 @@ evas_object_rectangle_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data | |||
178 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); | 178 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); |
179 | goto done; | 179 | goto done; |
180 | } | 180 | } |
181 | if (obj->changed_map) | 181 | if (obj->changed_map || obj->changed_source_visible) |
182 | { | 182 | { |
183 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj); | 183 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj); |
184 | goto done; | 184 | goto done; |
diff --git a/legacy/evas/src/lib/canvas/evas_object_text.c b/legacy/evas/src/lib/canvas/evas_object_text.c index 66637190f8..d4c9b55319 100644 --- a/legacy/evas/src/lib/canvas/evas_object_text.c +++ b/legacy/evas/src/lib/canvas/evas_object_text.c | |||
@@ -1846,7 +1846,7 @@ evas_object_text_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj | |||
1846 | eo_obj, is_v, was_v); | 1846 | eo_obj, is_v, was_v); |
1847 | goto done; | 1847 | goto done; |
1848 | } | 1848 | } |
1849 | if (obj->changed_map) | 1849 | if (obj->changed_map || obj->changed_source_visible) |
1850 | { | 1850 | { |
1851 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, | 1851 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, |
1852 | eo_obj, obj); | 1852 | eo_obj, obj); |
diff --git a/legacy/evas/src/lib/canvas/evas_object_textblock.c b/legacy/evas/src/lib/canvas/evas_object_textblock.c index fd96cd6191..55b29afded 100644 --- a/legacy/evas/src/lib/canvas/evas_object_textblock.c +++ b/legacy/evas/src/lib/canvas/evas_object_textblock.c | |||
@@ -10015,7 +10015,7 @@ evas_object_textblock_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data | |||
10015 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); | 10015 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); |
10016 | goto done; | 10016 | goto done; |
10017 | } | 10017 | } |
10018 | if (obj->changed_map) | 10018 | if (obj->changed_map || obj->changed_source_visible) |
10019 | { | 10019 | { |
10020 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, | 10020 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, |
10021 | eo_obj, obj); | 10021 | eo_obj, obj); |
diff --git a/legacy/evas/src/lib/canvas/evas_object_textgrid.c b/legacy/evas/src/lib/canvas/evas_object_textgrid.c index 40b22a78c7..d6a913864b 100644 --- a/legacy/evas/src/lib/canvas/evas_object_textgrid.c +++ b/legacy/evas/src/lib/canvas/evas_object_textgrid.c | |||
@@ -722,7 +722,7 @@ evas_object_textgrid_render_pre(Evas_Object *eo_obj, Evas_Object_Protected_Data | |||
722 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); | 722 | evas_object_render_pre_visible_change(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); |
723 | goto done; | 723 | goto done; |
724 | } | 724 | } |
725 | if (obj->changed_map) | 725 | if (obj->changed_map || obj->changed_source_visible) |
726 | { | 726 | { |
727 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, | 727 | evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, |
728 | eo_obj, obj); | 728 | eo_obj, obj); |
diff --git a/legacy/evas/src/lib/include/evas_private.h b/legacy/evas/src/lib/include/evas_private.h index 20ac255fb2..7001f7680a 100644 --- a/legacy/evas/src/lib/include/evas_private.h +++ b/legacy/evas/src/lib/include/evas_private.h | |||
@@ -667,6 +667,7 @@ struct _Evas_Object_Protected_Data | |||
667 | Eina_Bool changed_color : 1; | 667 | Eina_Bool changed_color : 1; |
668 | Eina_Bool changed_map : 1; | 668 | Eina_Bool changed_map : 1; |
669 | Eina_Bool changed_pchange : 1; | 669 | Eina_Bool changed_pchange : 1; |
670 | Eina_Bool changed_source_visible : 1; | ||
670 | Eina_Bool del_ref : 1; | 671 | Eina_Bool del_ref : 1; |
671 | 672 | ||
672 | Eina_Bool is_frame : 1; | 673 | Eina_Bool is_frame : 1; |