From 9effebd550ab8aab735ef8caadbdadaa0e5c96e4 Mon Sep 17 00:00:00 2001 From: nash Date: Sun, 6 Feb 2011 23:50:58 +0000 Subject: [PATCH] Proxy: Opaque test a little smarter git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56766 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/canvas/evas_object_proxy.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/lib/canvas/evas_object_proxy.c b/src/lib/canvas/evas_object_proxy.c index 8f096c0..c69fdbd 100644 --- a/src/lib/canvas/evas_object_proxy.c +++ b/src/lib/canvas/evas_object_proxy.c @@ -44,8 +44,6 @@ static int _proxy_can_map(Evas_Object *obj); int _proxy_is_visible (Evas_Object *obj); int _proxy_was_visible (Evas_Object *obj); - int _proxy_was_opaque (Evas_Object *obj); - int _proxy_is_inside (Evas_Object *obj, Evas_Coord x, Evas_Coord y); int _proxy_was_inside (Evas_Object *obj, Evas_Coord x, Evas_Coord y); @@ -400,20 +398,24 @@ _proxy_engine_data_get(Evas_Object *obj) static int _proxy_is_opaque(Evas_Object *obj) { - /* FIXME: Do color check */ - if (obj->cur.usemap) return 0; + Evas_Object_Proxy *o = obj->object_data; - return 0; + /* No source: Sure, it's opaque */ + if (!o->source) return 1; + if (obj->cur.usemap) return 0; + return o->source->func->is_opaque(o); } static int _proxy_was_opaque(Evas_Object *obj) { - /* FIXME: Do color check */ - if (obj->prev.usemap) return 0; - return 0; -} + Evas_Object_Proxy *o = obj->object_data; + /* No source: Sure, it's opaque */ + if (!o->source) return 1; + if (obj->cur.usemap) return 0; + return o->source->func->was_opaque(o); +} static int _proxy_can_map (Evas_Object *obj) -- 2.7.4