summaryrefslogtreecommitdiff
path: root/src/lib/evas/include
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-07-28 20:24:46 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-07-28 20:24:46 +0900
commite2c395f0499c8b2ca4f3364bcde8c017affa4ea1 (patch)
tree9032ce7be207cf77713bbe84473c6b18a804faa9 /src/lib/evas/include
parent55094c9eb0fc33cf82467c2ca9ba8f6b067f6d79 (diff)
evas/proxy - render the children of the proxy's source object when ther visibility is true.
This is not the perfect solution at this moment. This doesn't consider the cached clipper's visibility at all. But at least this would be better than exist works. Should be improved.
Diffstat (limited to 'src/lib/evas/include')
-rw-r--r--src/lib/evas/include/evas_inline.x17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/evas/include/evas_inline.x b/src/lib/evas/include/evas_inline.x
index 31de720c2b..00c4f9ad3e 100644
--- a/src/lib/evas/include/evas_inline.x
+++ b/src/lib/evas/include/evas_inline.x
@@ -151,6 +151,23 @@ evas_object_clippers_is_visible(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Pro
151} 151}
152 152
153static inline int 153static inline int
154evas_object_is_proxy_visible(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
155{
156 if ((obj->cur->visible) &&
157 //FIXME: Check the cached clipper visible properly.
158 ((obj->cur->clipper && obj->cur->clipper->cur->visible) ||
159 (obj->is_smart)) &&
160 ((obj->cur->cache.clip.a > 0 && obj->cur->render_op == EVAS_RENDER_BLEND)
161 || obj->cur->render_op != EVAS_RENDER_BLEND))
162 {
163 if (obj->func->is_visible)
164 return obj->func->is_visible(eo_obj);
165 return 1;
166 }
167 return 0;
168}
169
170static inline int
154evas_object_is_in_output_rect(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj, int x, int y, int w, int h) 171evas_object_is_in_output_rect(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj, int x, int y, int w, int h)
155{ 172{
156 /* assumes coords have been recalced */ 173 /* assumes coords have been recalced */