summaryrefslogtreecommitdiff
path: root/legacy
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2012-10-19 12:22:16 +0000
committerChunEon Park <hermet@hermet.pe.kr>2012-10-19 12:22:16 +0000
commit5f8b84063f5654717c3e2bb6791ba36c8cfa3564 (patch)
tree8f0aad59d78b876ebfa2d652457a521e9ef1188d /legacy
parent983627ecb7f17fdd31bb9119d56f362377241795 (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.c7
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_line.c2
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_main.c1
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_polygon.c4
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_rectangle.c2
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_text.c2
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_textblock.c2
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_textgrid.c2
-rw-r--r--legacy/evas/src/lib/include/evas_private.h1
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
59void 60void
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;