diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2016-11-26 14:25:41 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2016-11-27 12:09:25 +0900 |
commit | e3489d5f8916d63371e8a67252ddde7d3154f5ff (patch) | |
tree | 00c65334b3ffb328fb05100efbb3e42ec053e9ea /src/lib/evas/include/evas_private.h | |
parent | 4a1dd9e0d91cbbe2d3e23704e87563d6728f393e (diff) |
evas_render - store active obj geom in array to be able to filter faster
part of rendering is figuring if obj is inside current geometry.
before we had to actuall poke around inside the object. this moves the
geometry into the active object array so the data is fecthed fast and
already there for filtering as this is the most likely thing to filter
out an object.
unfortunately this seems to have some bugsd and i'm baffled why, so
leave it there and ifdefed out for now for suture hunting.
Diffstat (limited to 'src/lib/evas/include/evas_private.h')
-rw-r--r-- | src/lib/evas/include/evas_private.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index ce4fc76bad..5f355cc4be 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h | |||
@@ -787,6 +787,17 @@ struct _Evas_Post_Callback | |||
787 | unsigned char delete_me : 1; | 787 | unsigned char delete_me : 1; |
788 | }; | 788 | }; |
789 | 789 | ||
790 | // somehow this has bugs ... and i am not sure why... | ||
791 | //#define INLINE_ACTIVE_GEOM 1 | ||
792 | |||
793 | typedef struct | ||
794 | { | ||
795 | #ifdef INLINE_ACTIVE_GEOM | ||
796 | Evas_Coord_Rectangle rect; | ||
797 | #endif | ||
798 | Evas_Object_Protected_Data *obj; | ||
799 | } Evas_Active_Entry; | ||
800 | |||
790 | struct _Evas_Public_Data | 801 | struct _Evas_Public_Data |
791 | { | 802 | { |
792 | EINA_INLIST; | 803 | EINA_INLIST; |
@@ -859,7 +870,7 @@ struct _Evas_Public_Data | |||
859 | } render; | 870 | } render; |
860 | 871 | ||
861 | Eina_Array delete_objects; | 872 | Eina_Array delete_objects; |
862 | Eina_Array active_objects; | 873 | Eina_Inarray active_objects; |
863 | Eina_Array restack_objects; | 874 | Eina_Array restack_objects; |
864 | Eina_Array render_objects; | 875 | Eina_Array render_objects; |
865 | Eina_Array pending_objects; | 876 | Eina_Array pending_objects; |