forked from enlightenment/efl
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:
parent
f97df4212a
commit
4016de252c
|
@ -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_scroller5(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_scroller6(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_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_scroller(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_efl_ui_scroller2(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);
|
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 on Popup", test_scroller5);
|
||||||
ADD_TEST(NULL, "Scroller", "Scroller 6", test_scroller6);
|
ADD_TEST(NULL, "Scroller", "Scroller 6", test_scroller6);
|
||||||
ADD_TEST(NULL, "Scroller", "Scroller 7", test_scroller7);
|
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", test_efl_ui_scroller);
|
||||||
|
ADD_TEST_EO(NULL, "Scroller", "Efl.Ui.Scroller Simple", test_efl_ui_scroller2);
|
||||||
|
|
||||||
//------------------------------//
|
//------------------------------//
|
||||||
// FIXME: add frame test
|
// FIXME: add frame test
|
||||||
|
|
|
@ -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 Ecore_Timer *_timer = NULL;
|
||||||
static int _append = 0;
|
static int _append = 0;
|
||||||
static int _count = 0;
|
static int _count = 0;
|
||||||
|
|
|
@ -129,3 +129,39 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
|
||||||
efl_pack(bx, efl_added));
|
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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue