package upload
[framework/uifw/elementary.git] / src / bin / test_image.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 static const struct {
8    Elm_Image_Orient orient;
9    const char *name;
10 } images_orient[] = {
11   { ELM_IMAGE_ORIENT_NONE, "None" },
12   { ELM_IMAGE_ROTATE_90, "Rotate 90" },
13   { ELM_IMAGE_ROTATE_180, "Rotate 180" },
14   { ELM_IMAGE_ROTATE_270, "Rotate 270" },
15   { ELM_IMAGE_FLIP_HORIZONTAL, "Horizontal Flip" },
16   { ELM_IMAGE_FLIP_VERTICAL, "Vertical Flip" },
17   { ELM_IMAGE_FLIP_TRANSPOSE, "Transpose" },
18   { ELM_IMAGE_FLIP_TRANSVERSE, "Transverse" },
19   { 0, NULL }
20 };
21
22 static void
23 my_im_ch(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
24 {
25    Evas_Object *win = data;
26    Evas_Object *im = evas_object_data_get(win, "im");
27    Evas_Object *rdg = evas_object_data_get(win, "rdg");
28    Elm_Image_Orient v = elm_radio_value_get(rdg);
29
30    elm_image_orient_set(im, v);
31    fprintf(stderr, "Set %i and got %i\n",
32            v, elm_image_orient_get(im));
33 }
34
35 void
36 test_image(void *data __UNUSED__, Evas_Object *obj  __UNUSED__, void *event_info __UNUSED__)
37 {
38    Evas_Object *win, *box, *im, *rd, *rdg = NULL;
39    int i;
40
41    win = elm_win_util_standard_add("image test", "Image Test");
42    elm_win_autodel_set(win, EINA_TRUE);
43
44    box = elm_box_add(win);
45    elm_win_resize_object_add(win, box);
46    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
47    evas_object_show(box);
48
49    im = elm_image_add(win);
50    char buf[PATH_MAX];
51    snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
52    elm_image_file_set(im, buf, NULL);
53    elm_image_resizable_set(im, EINA_TRUE, EINA_TRUE);
54    evas_object_size_hint_weight_set(im, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
55    evas_object_size_hint_align_set(im, EVAS_HINT_FILL, EVAS_HINT_FILL);
56
57    elm_box_pack_end(box, im);
58    evas_object_show(im);
59
60    evas_object_data_set(win, "im", im);
61
62    for (i = 0; images_orient[i].name; ++i)
63      {
64         rd = elm_radio_add(win);
65         evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL);
66         evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
67         elm_radio_state_value_set(rd, images_orient[i].orient);
68         elm_object_text_set(rd, images_orient[i].name);
69         elm_box_pack_end(box, rd);
70         evas_object_show(rd);
71         evas_object_smart_callback_add(rd, "changed", my_im_ch, win);
72         if (!rdg)
73           {
74              rdg = rd;
75              evas_object_data_set(win, "rdg", rdg);
76           }
77         else
78           {
79              elm_radio_group_add(rd, rdg);
80           }
81      }
82
83    evas_object_resize(win, 320, 480);
84    evas_object_show(win);
85 }
86 #endif