summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2017-06-30 22:15:37 +0200
committerAmitesh Singh <amitesh.sh@samsung.com>2017-07-07 09:35:06 +0900
commit2b9d051fd275bbd3d6c55d76a714ddb5705e7c6a (patch)
tree021146b227e3bed1ef8894f3f2076749be7e1816
parent48e20a3cf5d278ef582732ab8397e4b173e665ce (diff)
downloadefl-2b9d051fd275bbd3d6c55d76a714ddb5705e7c6a.tar.gz
Add a new test for elm_image align inside a swallow
This is broken since 1.18, more info on T4635
-rw-r--r--data/elementary/objects/test.edc41
-rw-r--r--src/bin/elementary/test.c2
-rw-r--r--src/bin/elementary/test_image.c72
3 files changed, 115 insertions, 0 deletions
diff --git a/data/elementary/objects/test.edc b/data/elementary/objects/test.edc
index e58a595038..2c55a1e607 100644
--- a/data/elementary/objects/test.edc
+++ b/data/elementary/objects/test.edc
@@ -860,4 +860,45 @@ group { name: "page_layout";
}
}
}
+ group { name: "layout3";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 4000 4000;
+ color: 0 255 0 100;
+ }
+ }
+ part { name: "swallow";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 100 100;
+ rel1.relative: 0.3 0.3;
+ rel2.relative: 0.325 0.325;
+ }
+ }
+ }
+ }
+ group { name: "image_align";
+ parts {
+ part { name: "color";
+ type: RECT;
+ description { state: "default" 0.0;
+ rel1.to: "swallow";
+ rel2.to: "swallow";
+ color: 255 0 0 50;
+ }
+ }
+ part { name: "swallow";
+ type: SWALLOW;
+ description { state: "default" 0.0;
+ rel1.relative: 0.1 0.1;
+ rel2.relative: 0.9 0.9;
+ }
+ }
+
+ }
+ }
}
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index 4dc0bb6770..981985a894 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -256,6 +256,7 @@ void test_datetime(void *data, Evas_Object *obj, void *event_info);
void test_popup(void *data, Evas_Object *obj, void *event_info);
void test_dayselector(void *data, Evas_Object *obj, void *event_info);
void test_image(void *data, Evas_Object *obj, void *event_info);
+void test_image_swallow_align(void *data, Evas_Object *obj, void *event_info);
void test_remote_image(void *data, Evas_Object *obj, void *event_info);
void test_click_image(void *data, Evas_Object *obj, void *event_info);
void test_external_button(void *data, Evas_Object *obj, void *event_info);
@@ -630,6 +631,7 @@ add_tests:
ADD_TEST(NULL, "Images", "Photo", test_photo);
ADD_TEST(NULL, "Images", "Thumb", test_thumb);
ADD_TEST(NULL, "Images", "Image", test_image);
+ ADD_TEST(NULL, "Images", "Image Align", test_image_swallow_align);
ADD_TEST(NULL, "Images", "Image Remote", test_remote_image);
ADD_TEST(NULL, "Images", "Image Click", test_click_image);
ADD_TEST(NULL, "Images", "Slideshow", test_slideshow);
diff --git a/src/bin/elementary/test_image.c b/src/bin/elementary/test_image.c
index 7ef6914776..e42a6e9746 100644
--- a/src/bin/elementary/test_image.c
+++ b/src/bin/elementary/test_image.c
@@ -81,6 +81,78 @@ test_image(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
evas_object_show(win);
}
+
+static void
+im_align_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ double h,v;
+ Evas_Object *win = data;
+ Evas_Object *im = evas_object_data_get(win, "im");
+ Evas_Object *h_sl = evas_object_data_get(win, "h_sl");
+ Evas_Object *v_sl = evas_object_data_get(win, "v_sl");
+
+ h = elm_slider_value_get(h_sl);
+ v = elm_slider_value_get(v_sl);
+ evas_object_size_hint_align_set(im, h, v);
+ evas_object_size_hint_align_get(im, &h, &v);
+ printf("align %.3f %.3f\n", h, v);
+}
+
+void
+test_image_swallow_align(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ Evas_Object *win, *box, *im, *ly, *sl;
+ char buf[PATH_MAX];
+
+ win = elm_win_util_standard_add("image align", "Test Align Inside Layout");
+ elm_win_autodel_set(win, EINA_TRUE);
+
+ box = elm_box_add(win);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, box);
+ evas_object_show(box);
+
+ ly = elm_layout_add(win);
+ snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
+ elm_layout_file_set(ly, buf, "image_align");
+ evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_box_pack_end(box, ly);
+ evas_object_show(ly);
+
+ im = elm_image_add(win);
+ snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
+ elm_image_file_set(im, buf, NULL);
+ evas_object_size_hint_weight_set(im, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(im, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_layout_content_set(ly, "swallow", im);
+ evas_object_show(im);
+ evas_object_data_set(win, "im", im);
+
+ sl = elm_slider_add(win);
+ elm_slider_value_set(sl, 0.5);
+ elm_object_text_set(sl, "Horiz Align");
+ evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_smart_callback_add(sl, "changed", im_align_cb, win);
+ elm_box_pack_end(box, sl);
+ evas_object_show(sl);
+ evas_object_data_set(win, "h_sl", sl);
+
+ sl = elm_slider_add(win);
+ elm_slider_value_set(sl, 0.5);
+ elm_object_text_set(sl, "Vert Align");
+ evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_smart_callback_add(sl, "changed", im_align_cb, win);
+ elm_box_pack_end(box, sl);
+ evas_object_show(sl);
+ evas_object_data_set(win, "v_sl", sl);
+
+ evas_object_resize(win, 300, 600);
+ evas_object_show(win);
+}
+
void
test_remote_image(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{