elm examples: Use standard way of elementary applications. EAPI_MAIN, elm_shutdown...
[framework/uifw/elementary.git] / src / examples / icon_example_01.c
1 //Compile with:
2 //gcc -g `pkg-config --cflags --libs elementary` image_example_01.c -o image_example_01
3
4 #include <Elementary.h>
5 #ifdef HAVE_CONFIG_H
6 # include "elementary_config.h"
7 #else
8 # define __UNUSED__
9 # define PACKAGE_DATA_DIR "."
10 #endif
11
12 EAPI_MAIN int
13 elm_main(int argc __UNUSED__, char **argv __UNUSED__)
14 {
15    Evas_Object *win, *bg, *icon;
16    const char *path, *group, *name;
17
18    win = elm_win_add(NULL, "icon", ELM_WIN_BASIC);
19    elm_win_title_set(win, "Icon");
20    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
21    elm_win_autodel_set(win, EINA_TRUE);
22
23    bg = elm_bg_add(win);
24    elm_bg_color_set(bg, 255,255 ,255);
25    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
26    elm_win_resize_object_add(win, bg);
27    evas_object_show(bg);
28
29    icon = elm_icon_add(win);
30    elm_icon_order_lookup_set(icon, ELM_ICON_LOOKUP_THEME_FDO);
31    elm_icon_standard_set(icon, "home");
32
33    path = NULL;
34    group = NULL;
35    name = NULL;
36    elm_icon_file_get(icon, &path, &group);
37    name = elm_icon_standard_get(icon);
38    printf("path = %s, group = %s, name = %s\n", path, group, name);
39
40    elm_icon_no_scale_set(icon, EINA_TRUE);
41    elm_icon_resizable_set(icon, EINA_FALSE, EINA_TRUE);
42    elm_icon_smooth_set(icon, EINA_FALSE);
43    elm_icon_fill_outside_set(icon, EINA_TRUE);
44
45    evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
46    elm_win_resize_object_add(win, icon);
47    evas_object_show(icon);
48
49    evas_object_size_hint_min_set(bg, 160, 160);
50    evas_object_size_hint_max_set(bg, 640, 640);
51    evas_object_resize(win, 320, 320);
52    evas_object_show(win);
53
54    elm_run();
55    elm_shutdown();
56
57    return 0;
58 }
59 ELM_MAIN()