Imported Upstream version 1.7.1
[platform/upstream/edje.git] / src / examples / edje-multisense.c
1 /**
2  * Simple example illustrating the very basic functions of multisense
3  *
4  * You'll need at least one Evas engine built for it (excluding the
5  * buffer one) and multisense support ine edje. See stdout/stderr for output.
6  *
7  * @verbatim
8  * gcc -o edje-multisense edje-multisense.c `pkg-config --libs --cflags eina evas ecore ecore-evas edje`
9  * @endverbatim
10  */
11
12 #include <Eina.h>
13 #include <Evas.h>
14 #include <Ecore.h>
15 #include <Ecore_Evas.h>
16 #include <Edje.h>
17
18 #define WIDTH  300
19 #define HEIGHT 300
20
21 static Evas_Object *create_my_group(Evas *canvas)
22 {
23    Evas_Object *edje;
24
25    edje = edje_object_add(canvas);
26    if (!edje)
27      {
28         EINA_LOG_CRIT("could not create edje object!");
29         return NULL;
30      }
31
32    if (!edje_object_file_set(edje, "multisense.edj", "example_group"))
33      {
34         int err = edje_object_load_error_get(edje);
35         const char *errmsg = edje_load_error_str(err);
36         EINA_LOG_ERR("could not load 'example_group' from multisense.edj: %s",
37                      errmsg);
38
39         evas_object_del(edje);
40         return NULL;
41      }
42
43    evas_object_move(edje, 0, 0);
44    evas_object_resize(edje, WIDTH, HEIGHT);
45    evas_object_show(edje);
46    return edje;
47 }
48
49 int main(int argc, char *argv[])
50 {
51    Ecore_Evas *window;
52    Evas *canvas;
53    Evas_Object *edje;
54
55    ecore_evas_init();
56    edje_init();
57
58    window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
59    if (!window)
60      {
61         EINA_LOG_CRIT("could not create window.");
62         return -1;
63      }
64    canvas = ecore_evas_get(window);
65
66    edje = create_my_group(canvas);
67    if (!edje)
68      return -2;
69
70    ecore_evas_show(window);
71    ecore_main_loop_begin();
72
73    evas_object_del(edje);
74    ecore_evas_free(window);
75
76    edje_shutdown();
77    ecore_evas_shutdown();
78
79    return 0;
80 }