elm_test: add comparable "simple" scroller tests

this should be roughly identical and can be more directly compared in
terms of performance (which is not good in either case)

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9334
This commit is contained in:
Mike Blumenkrantz 2019-07-16 13:41:47 -04:00 committed by Cedric BAIL
parent f97df4212a
commit 4016de252c
3 changed files with 97 additions and 0 deletions

View File

@ -181,6 +181,7 @@ void test_scroller4(void *data, Evas_Object *obj, void *event_info);
void test_scroller5(void *data, Evas_Object *obj, void *event_info);
void test_scroller6(void *data, Evas_Object *obj, void *event_info);
void test_scroller7(void *data, Evas_Object *obj, void *event_info);
void test_scroller_simple(void *data, Evas_Object *obj, void *event_info);
void test_efl_ui_scroller(void *data, Evas_Object *obj, void *event_info);
void test_efl_ui_scroller2(void *data, Evas_Object *obj, void *event_info);
void test_spinner(void *data, Evas_Object *obj, void *event_info);
@ -1093,7 +1094,9 @@ add_tests:
ADD_TEST(NULL, "Scroller", "Scroller on Popup", test_scroller5);
ADD_TEST(NULL, "Scroller", "Scroller 6", test_scroller6);
ADD_TEST(NULL, "Scroller", "Scroller 7", test_scroller7);
ADD_TEST(NULL, "Scroller", "Scroller Simple", test_scroller_simple);
ADD_TEST_EO(NULL, "Scroller", "Efl.Ui.Scroller", test_efl_ui_scroller);
ADD_TEST_EO(NULL, "Scroller", "Efl.Ui.Scroller Simple", test_efl_ui_scroller2);
//------------------------------//
// FIXME: add frame test

View File

@ -691,6 +691,64 @@ test_scroller2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
}
}
static void
_scroll_anim_start(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
{
int x, y;
elm_scroller_region_get(obj, &x, &y, NULL, NULL);
printf("scroll start: %p x: %d y: %d\n", obj, x, y);
}
static void
_scroll_anim_stop(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
{
int x, y;
elm_scroller_region_get(obj, &x, &y, NULL, NULL);
printf("scroll stop: %p x: %d y: %d\n", obj, x, y);
}
void
test_scroller_simple(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
Evas_Object *win, *bt, *bx, *sc;
int i;
win = elm_win_util_standard_add("scroller2", "Scroller Simple");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(bx, 0.5, 0);
/* { */
sc = elm_scroller_add(win);
evas_object_smart_callback_add(sc, "scroll,anim,start", _scroll_anim_start, NULL);
evas_object_smart_callback_add(sc, "scroll,anim,stop", _scroll_anim_stop, NULL);
evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_scroller_bounce_set(sc, EINA_TRUE, EINA_TRUE);
evas_object_show(sc);
evas_object_show(bx);
elm_object_content_set(sc, bx);
elm_win_resize_object_add(win, sc);
/* } */
for (i = 0; i < 2000; i++)
{
bt = elm_button_add(win);
elm_object_text_set(bt, "Vertical");
evas_object_smart_callback_add(bt, "clicked", _click_through, NULL);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
elm_box_pack_end(bx, bt);
evas_object_show(bt);
}
evas_object_resize(win, 320, 400);
evas_object_show(win);
}
static Ecore_Timer *_timer = NULL;
static int _append = 0;
static int _count = 0;

View File

@ -129,3 +129,39 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
efl_pack(bx, efl_added));
}
}
void
test_efl_ui_scroller2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
Eo *win, *sc, *bx;
int i;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl Ui Scroller Simple"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400));
sc = efl_add(EFL_UI_SCROLLER_CLASS, win,
efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
efl_event_callback_add(efl_added, EFL_UI_EVENT_SCROLL_START, _scroll_start_cb, NULL),
efl_event_callback_add(efl_added, EFL_UI_EVENT_SCROLL_STOP, _scroll_stop_cb, NULL),
efl_content_set(win, efl_added));
bx = efl_add(EFL_UI_BOX_CLASS, sc,
efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL),
efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0),
efl_gfx_hint_align_set(efl_added, 0.5, 0),
efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
efl_content_set(sc, efl_added));
for (i = 0; i < 2000; i++)
{
efl_add(EFL_UI_BUTTON_CLASS, bx,
efl_text_set(efl_added, "Vertical"),
efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0.0),
efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _bt_clicked, NULL),
efl_pack(bx, efl_added));
}
}