diff --git a/src/bin/cxx/image_blend_solid_border.cc b/src/bin/cxx/image_blend_solid_border.cc index 6b1f77e..99f5239 100644 --- a/src/bin/cxx/image_blend_solid_border.cc +++ b/src/bin/cxx/image_blend_solid_border.cc @@ -1,34 +1,36 @@ -#undef FNAME -#undef NAME -#undef ICON -/* metadata */ -#define FNAME image_blend_solid_border_start -#define NAME "Image Blend Solid Border" -#define ICON "blend.png" +#ifdef HAVE_CONFIG_H +# include +#endif -#ifndef PROTO -# ifndef UI -# include "main.h" +#include "Eo.h" +#include "Evas.h" + +#include "Eo.hh" +#include "Eina.hh" +#include "Evas.hh" + +#include "main.h" + +#define EXPEDITE_CXX_TEST_IMPL +#include "image_blend_solid_border_capi.h" + +static efl::eina::list images; /* standard var */ static int done = 0; -/* private data */ -static Evas_Object *o_images[OBNUM]; /* setup */ static void _setup(void) { - int i; - Evas_Object *o; - for (i = 0; i < OBNUM; i++) + evas::canvas canvas(::eo_ref(G_evas)); + for (int i = 0; i < OBNUM; i++) { - o = eo_add(EVAS_IMAGE_CLASS, G_evas); - o_images[i] = o; - eo_do(o, - efl_file_set(build_path("frame.png"), NULL), - evas_obj_image_border_set(8, 8, 8, 8), - evas_obj_visibility_set(EINA_TRUE)); + evas::image o(efl::eo::parent = canvas); + images.push_back(o); + o.file_set(::build_path("frame.png"), ""); + o.border_set(8, 8, 8, 8); + o.visibility_set(true); } done = 0; } @@ -36,16 +38,15 @@ static void _setup(void) /* cleanup */ static void _cleanup(void) { - int i; - for (i = 0; i < OBNUM; i++) eo_del(o_images[i]); + images.clear(); } /* loop - do things */ static void _loop(double t, int f) { - int i; + int i = 0; Evas_Coord x, y, w, h, w0, h0; - for (i = 0; i < OBNUM; i++) + for (auto it = images.begin(), end = images.end(); it != end; it++, i++) { w0 = 80; h0 = 80; @@ -55,10 +56,9 @@ static void _loop(double t, int f) x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w0 / 2); y = (win_h / 2) - (h / 2); y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h0 / 2); - eo_do(o_images[i], - evas_obj_position_set(x, y), - evas_obj_size_set(w, h), - evas_obj_image_fill_set(0, 0, w, h)); + (*it).position_set(x, y); + (*it).evas::object::size_set(w, h); + (*it).fill_set(0, 0, w, h); } FPS_STD(NAME); } @@ -69,38 +69,9 @@ static void _key(char *key) KEY_STD; } - - - - - - - - - - - -/* template stuff - ignore */ -# endif -#endif - -#ifdef UI -_ui_menu_item_add(ICON, NAME, FNAME); -#endif - -#ifdef PROTO -void FNAME(void); -#endif - -#ifndef PROTO -# ifndef UI -void FNAME(void) +extern "C" void FNAME(void) { ui_func_set(_key, _loop); _setup(); } -# endif -#endif -#undef FNAME -#undef NAME -#undef ICON + diff --git a/src/bin/cxx/image_blend_solid_fade_pow2_unscaled.cc b/src/bin/cxx/image_blend_solid_fade_pow2_unscaled.cc index 1967554..6520769 100644 --- a/src/bin/cxx/image_blend_solid_fade_pow2_unscaled.cc +++ b/src/bin/cxx/image_blend_solid_fade_pow2_unscaled.cc @@ -1,41 +1,40 @@ -#undef FNAME -#undef NAME -#undef ICON -/* metadata */ -#define FNAME image_blend_solid_fade_pow2_unscaled_start -#define NAME "Image Blend Solid Fade Power 2 Unscaled" -#define ICON "blend.png" +#ifdef HAVE_CONFIG_H +# include +#endif -#ifndef PROTO -# ifndef UI -# include "main.h" +#include "Eo.h" +#include "Evas.h" + +#include "Eo.hh" +#include "Eina.hh" +#include "Evas.hh" + +#include "main.h" + +#define EXPEDITE_CXX_TEST_IMPL +#include "image_blend_solid_fade_pow2_unscaled_capi.h" + +static efl::eina::list images; /* standard var */ static int done = 0; -/* private data */ -static Evas_Object *o_images[OBNUM]; /* setup */ static void _setup(void) { - int i; - Evas_Object *o; - for (i = 0; i < OBNUM; i++) + evas::canvas canvas(::eo_ref(G_evas)); + for (int i = 0; i < OBNUM; i++) { - int a; - - o = eo_add(EVAS_IMAGE_CLASS, G_evas); - o_images[i] = o; - eo_do(o, - efl_file_set(build_path("image.png"), NULL), - evas_obj_image_fill_set(0, 0, 120, 160), - evas_obj_size_set(120, 160)); - a = 256 - (1 << ((rnd() % 8) + 1)); + evas::image o(efl::eo::parent = canvas); + images.push_back(o); + o.file_set(::build_path("image.png"), ""); + o.fill_set(0, 0, 120, 160); + o.evas::object::size_set(120, 160); + int a = 256 - (1 << ((rnd() % 8) + 1)); if (a < 128) a = 128; - eo_do(o, - evas_obj_color_set(a, a, a, a), - evas_obj_visibility_set(EINA_TRUE)); + o.color_set(a, a, a, a); + o.visibility_set(true); } done = 0; } @@ -43,16 +42,15 @@ static void _setup(void) /* cleanup */ static void _cleanup(void) { - int i; - for (i = 0; i < OBNUM; i++) eo_del(o_images[i]); + images.clear(); } /* loop - do things */ static void _loop(double t, int f) { - int i; + int i = 0; Evas_Coord x, y, w, h; - for (i = 0; i < OBNUM; i++) + for (auto it = images.begin(), end = images.end(); it != end; it++, i++) { w = 120; h = 160; @@ -60,7 +58,7 @@ static void _loop(double t, int f) x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); y = (win_h / 2) - (h / 2); y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); - eo_do(o_images[i], evas_obj_position_set(x, y)); + (*it).position_set(x, y); } FPS_STD(NAME); } @@ -71,38 +69,8 @@ static void _key(char *key) KEY_STD; } - - - - - - - - - - - -/* template stuff - ignore */ -# endif -#endif - -#ifdef UI -_ui_menu_item_add(ICON, NAME, FNAME); -#endif - -#ifdef PROTO -void FNAME(void); -#endif - -#ifndef PROTO -# ifndef UI -void FNAME(void) +extern "C" void FNAME(void) { ui_func_set(_key, _loop); _setup(); } -# endif -#endif -#undef FNAME -#undef NAME -#undef ICON diff --git a/src/bin/cxx/image_blend_solid_fade_unscaled.cc b/src/bin/cxx/image_blend_solid_fade_unscaled.cc index bb09de2..2e61e96 100644 --- a/src/bin/cxx/image_blend_solid_fade_unscaled.cc +++ b/src/bin/cxx/image_blend_solid_fade_unscaled.cc @@ -1,40 +1,40 @@ -#undef FNAME -#undef NAME -#undef ICON -/* metadata */ -#define FNAME image_blend_solid_fade_unscaled_start -#define NAME "Image Blend Solid Fade Unscaled" -#define ICON "blend.png" +#ifdef HAVE_CONFIG_H +# include +#endif -#ifndef PROTO -# ifndef UI -# include "main.h" +#include "Eo.h" +#include "Evas.h" + +#include "Eo.hh" +#include "Eina.hh" +#include "Evas.hh" + +#include "main.h" + +#define EXPEDITE_CXX_TEST_IMPL +#include "image_blend_solid_fade_unscaled_capi.h" + +static efl::eina::list images; /* standard var */ static int done = 0; -/* private data */ -static Evas_Object *o_images[OBNUM]; /* setup */ static void _setup(void) { - int i; - Evas_Object *o; - for (i = 0; i < OBNUM; i++) + evas::canvas canvas(::eo_ref(G_evas)); + for (int i = 0; i < OBNUM; i++) { - int a; + evas::image o(efl::eo::parent = canvas); + images.push_back(o); - o = eo_add(EVAS_IMAGE_CLASS, G_evas); - o_images[i] = o; - eo_do(o, - efl_file_set(build_path("image.png"), NULL), - evas_obj_image_fill_set(0, 0, 120, 160), - evas_obj_size_set(120, 160)); - a = rnd()&0xff; - eo_do(o, - evas_obj_color_set(a, a, a, a), - evas_obj_visibility_set(EINA_TRUE)); + o.file_set(::build_path("image.png"), NULL); + o.fill_set(0, 0, 120, 160); + o.evas::object::size_set(120, 160); + int a = rnd()&0xff; + o.color_set(a, a, a, a); + o.visibility_set(true); } done = 0; } @@ -42,16 +42,16 @@ static void _setup(void) /* cleanup */ static void _cleanup(void) { - int i; - for (i = 0; i < OBNUM; i++) eo_del(o_images[i]); + images.clear(); } /* loop - do things */ static void _loop(double t, int f) { - int i; + int i = 0; Evas_Coord x, y, w, h; - for (i = 0; i < OBNUM; i++) + + for (auto it = images.begin(), end = images.end(); it != end; it++, i++) { w = 120; h = 160; @@ -59,7 +59,7 @@ static void _loop(double t, int f) x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); y = (win_h / 2) - (h / 2); y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); - eo_do(o_images[i], evas_obj_position_set(x, y)); + (*it).position_set(x, y); } FPS_STD(NAME); } @@ -70,38 +70,8 @@ static void _key(char *key) KEY_STD; } - - - - - - - - - - - -/* template stuff - ignore */ -# endif -#endif - -#ifdef UI -_ui_menu_item_add(ICON, NAME, FNAME); -#endif - -#ifdef PROTO -void FNAME(void); -#endif - -#ifndef PROTO -# ifndef UI -void FNAME(void) +extern "C" void FNAME(void) { ui_func_set(_key, _loop); _setup(); } -# endif -#endif -#undef FNAME -#undef NAME -#undef ICON diff --git a/src/bin/cxx/image_blend_solid_unscaled.cc b/src/bin/cxx/image_blend_solid_unscaled.cc new file mode 100644 index 0000000..8c97982 --- /dev/null +++ b/src/bin/cxx/image_blend_solid_unscaled.cc @@ -0,0 +1,74 @@ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include "Eo.h" +#include "Evas.h" + +#include "Eo.hh" +#include "Eina.hh" +#include "Evas.hh" + +#include "main.h" + +#define EXPEDITE_CXX_TEST_IMPL +#include "image_blend_solid_unscaled_capi.h" + +static efl::eina::list images; + +/* standard var */ +static int done = 0; + +/* setup */ +static void _setup(void) +{ + evas::canvas canvas(::eo_ref(G_evas)); + for (int i = 0; i < OBNUM; i++) + { + evas::image o(efl::eo::parent = canvas); + images.push_back(o); + o.file_set(::build_path("image.png"), ""); + o.fill_set(0, 0, 120, 160); + o.size_set(120, 160); + o.visibility_set(true); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + images.clear(); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i = 0; + Evas_Coord x, y, w, h; + for (auto it = images.begin(), end = images.end(); it != end; it++, i++) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + (*it).position_set(x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + +extern "C" void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} + diff --git a/src/bin/cxx/image_blend_solid_unscaled_capi.h b/src/bin/cxx/image_blend_solid_unscaled_capi.h new file mode 100644 index 0000000..b1e20c2 --- /dev/null +++ b/src/bin/cxx/image_blend_solid_unscaled_capi.h @@ -0,0 +1,32 @@ + +#ifdef __cplusplus +extern "C" { +#endif + +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_blend_solid_unscaled_cxx_start +#define NAME "Image Blend Solid Unscaled (C++)" +#define ICON "blend.png" + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef EXPEDITE_CXX_TEST_IMPL +#undef FNAME +#undef NAME +#undef ICON +#endif + +#ifdef __cplusplus +} +#endif + diff --git a/src/bin/tests.h b/src/bin/tests.h index 22c39a9..d92de4e 100644 --- a/src/bin/tests.h +++ b/src/bin/tests.h @@ -4,14 +4,15 @@ extern "C" { #endif // C++ tests -#include "cxx/image_blend_fade_unscaled_capi.h" -#include "cxx/image_blend_fade_pow2_unscaled_capi.h" #include "cxx/image_blend_border_capi.h" #include "cxx/image_blend_border_recolor_capi.h" +#include "cxx/image_blend_fade_pow2_unscaled_capi.h" +#include "cxx/image_blend_fade_unscaled_capi.h" #include "cxx/image_blend_solid_border_capi.h" #include "cxx/image_blend_solid_fade_pow2_unscaled_capi.h" #include "cxx/image_blend_solid_fade_unscaled_capi.h" +#include "cxx/image_blend_solid_unscaled_capi.h" // C tests /* #include "widgets_file_icons.c" */