From 9367b5f7c74844b2c23bcbd7655ab7100efb3835 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Thu, 29 Apr 2010 17:21:14 +0000 Subject: [PATCH] * eina: Add first version of a Quad Tree data type. NOTE: consider the API experimental and subject to change. SVN revision: 48424 --- legacy/eina/src/include/Eina.h | 1 + legacy/eina/src/include/Makefile.am | 3 ++- legacy/eina/src/include/eina_main.h | 3 +++ legacy/eina/src/include/eina_private.h | 3 +++ legacy/eina/src/lib/Makefile.am | 3 ++- legacy/eina/src/lib/eina_main.c | 4 +++- legacy/eina/src/tests/Makefile.am | 6 ++++-- legacy/eina/src/tests/eina_bench.c | 1 + legacy/eina/src/tests/eina_bench.h | 1 + legacy/eina/src/tests/eina_suite.c | 1 + legacy/eina/src/tests/eina_suite.h | 2 ++ 11 files changed, 23 insertions(+), 5 deletions(-) diff --git a/legacy/eina/src/include/Eina.h b/legacy/eina/src/include/Eina.h index a5a5668ee5..ff00731f8b 100644 --- a/legacy/eina/src/include/Eina.h +++ b/legacy/eina/src/include/Eina.h @@ -143,6 +143,7 @@ extern "C" { #include "eina_matrixsparse.h" #include "eina_str.h" #include "eina_strbuf.h" +#include "eina_quadtree.h" #ifdef __cplusplus } diff --git a/legacy/eina/src/include/Makefile.am b/legacy/eina/src/include/Makefile.am index 71b9a77fc9..6022d439e3 100644 --- a/legacy/eina/src/include/Makefile.am +++ b/legacy/eina/src/include/Makefile.am @@ -45,7 +45,8 @@ eina_matrixsparse.h \ eina_inline_tiler.x \ eina_str.h \ eina_inline_str.x \ -eina_strbuf.h +eina_strbuf.h \ +eina_quadtree.h installed_mainheaderdir = $(includedir)/eina-@VMAJ@ dist_installed_mainheader_DATA = Eina.h eina_config.h diff --git a/legacy/eina/src/include/eina_main.h b/legacy/eina/src/include/eina_main.h index dc4f519606..eec05e1a78 100644 --- a/legacy/eina/src/include/eina_main.h +++ b/legacy/eina/src/include/eina_main.h @@ -19,6 +19,9 @@ #ifndef EINA_MAIN_H_ #define EINA_MAIN_H_ + +#include "eina_types.h" + /** * @addtogroup Eina_Core_Group Core * diff --git a/legacy/eina/src/include/eina_private.h b/legacy/eina/src/include/eina_private.h index c3b7b0d5d0..ec7bf5afd3 100644 --- a/legacy/eina/src/include/eina_private.h +++ b/legacy/eina/src/include/eina_private.h @@ -82,6 +82,9 @@ #define EINA_MAGIC_STRBUF 0x98761250 +#define EINA_MAGIC_QUADTREE 0x98761251 +#define EINA_MAGIC_QUADTREE_ROOT 0x98761252 +#define EINA_MAGIC_QUADTREE_ITEM 0x98761253 /* undef the following, we want out version */ #undef FREE diff --git a/legacy/eina/src/lib/Makefile.am b/legacy/eina/src/lib/Makefile.am index fad08faf42..e219cf823a 100644 --- a/legacy/eina/src/lib/Makefile.am +++ b/legacy/eina/src/lib/Makefile.am @@ -38,7 +38,8 @@ eina_tiler.c \ eina_hamster.c \ eina_safety_checks.c \ eina_str.c \ -eina_strbuf.c +eina_strbuf.c \ +eina_quadtree.c if EINA_STATIC_BUILD_CHAINED_POOL base_sources += $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c diff --git a/legacy/eina/src/lib/eina_main.c b/legacy/eina/src/lib/eina_main.c index 2476697318..2c19712e88 100644 --- a/legacy/eina/src/lib/eina_main.c +++ b/legacy/eina/src/lib/eina_main.c @@ -100,6 +100,7 @@ S(counter); S(benchmark); S(rectangle); S(strbuf); +S(quadtree); #undef S struct eina_desc_setup @@ -127,7 +128,8 @@ static const struct eina_desc_setup _eina_desc_setup[] = { S(counter), S(benchmark), S(rectangle), - S(strbuf) + S(strbuf), + S(quadtree) #undef S }; static const size_t _eina_desc_setup_len = sizeof(_eina_desc_setup) / sizeof(_eina_desc_setup[0]); diff --git a/legacy/eina/src/tests/Makefile.am b/legacy/eina/src/tests/Makefile.am index b94570cf1e..4c3f8c078d 100644 --- a/legacy/eina/src/tests/Makefile.am +++ b/legacy/eina/src/tests/Makefile.am @@ -56,7 +56,8 @@ eina_test_list.c \ eina_test_matrixsparse.c \ eina_test_tiler.c \ eina_test_strbuf.c \ -eina_test_str.c +eina_test_str.c \ +eina_test_quadtree.c eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la @@ -94,7 +95,8 @@ evas_hash.c \ evas_list.c \ evas_mempool.c \ evas_object_list.c \ -evas_stringshare.c +evas_stringshare.c \ +eina_bench_quad.c eina_bench_LDADD = @GLIB_LIBS@ $(top_builddir)/src/lib/libeina.la diff --git a/legacy/eina/src/tests/eina_bench.c b/legacy/eina/src/tests/eina_bench.c index fdb76be89b..1371a7f326 100644 --- a/legacy/eina/src/tests/eina_bench.c +++ b/legacy/eina/src/tests/eina_bench.c @@ -42,6 +42,7 @@ static const Eina_Benchmark_Case etc[] = { { "Sort", eina_bench_sort }, { "Mempool", eina_bench_mempool }, { "Rectangle_Pool", eina_bench_rectangle_pool }, + { "Render Loop", eina_bench_quadtree }, { NULL, NULL } }; diff --git a/legacy/eina/src/tests/eina_bench.h b/legacy/eina/src/tests/eina_bench.h index f79a6e00f9..d575822b54 100644 --- a/legacy/eina/src/tests/eina_bench.h +++ b/legacy/eina/src/tests/eina_bench.h @@ -28,6 +28,7 @@ void eina_bench_convert(Eina_Benchmark *bench); void eina_bench_sort(Eina_Benchmark *bench); void eina_bench_mempool(Eina_Benchmark *bench); void eina_bench_rectangle_pool(Eina_Benchmark *bench); +void eina_bench_quadtree(Eina_Benchmark *bench); /* Specific benchmark. */ void eina_bench_e17(void); diff --git a/legacy/eina/src/tests/eina_suite.c b/legacy/eina/src/tests/eina_suite.c index 8a51db217a..53af95d1c6 100644 --- a/legacy/eina/src/tests/eina_suite.c +++ b/legacy/eina/src/tests/eina_suite.c @@ -58,6 +58,7 @@ static const Eina_Test_Case etc[] = { { "Eina Tiler", eina_test_tiler }, { "Eina Strbuf", eina_test_strbuf }, { "String", eina_test_str }, + { "QuadTree", eina_test_quadtree }, { NULL, NULL } }; diff --git a/legacy/eina/src/tests/eina_suite.h b/legacy/eina/src/tests/eina_suite.h index 3b1b8847f7..9de0dab354 100644 --- a/legacy/eina/src/tests/eina_suite.h +++ b/legacy/eina/src/tests/eina_suite.h @@ -45,5 +45,7 @@ void eina_test_matrixsparse(TCase *tc); void eina_test_tiler(TCase *tc); void eina_test_strbuf(TCase *tc); void eina_test_str(TCase *tc); +void eina_test_quadtree(TCase *tc); +void eina_test_fp(TCase *tc); #endif /* EINA_SUITE_H_ */