efl
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* edje_cc multisense.edc && 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#ifndef PACKAGE_DATA_DIR19#define PACKAGE_DATA_DIR "."20#endif21
22#define WIDTH 30023#define HEIGHT 30024
25static Evas_Object *create_my_group(Evas *canvas)26{
27Evas_Object *edje;28
29edje = edje_object_add(canvas);30if (!edje)31{32EINA_LOG_CRIT("could not create edje object!");33return NULL;34}35
36if (!edje_object_file_set(edje, PACKAGE_DATA_DIR"/multisense.edj",37"example_group"))38{39int err = edje_object_load_error_get(edje);40const char *errmsg = edje_load_error_str(err);41EINA_LOG_ERR("could not load 'example_group' from multisense.edj: %s",42errmsg);43
44evas_object_del(edje);45return NULL;46}47
48evas_object_move(edje, 0, 0);49evas_object_resize(edje, WIDTH, HEIGHT);50evas_object_show(edje);51return edje;52}
53
54int main()55{
56Ecore_Evas *window;57Evas *canvas;58Evas_Object *edje;59
60ecore_evas_init();61edje_init();62
63window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);64if (!window)65{66EINA_LOG_CRIT("could not create window.");67return -1;68}69canvas = ecore_evas_get(window);70
71edje = create_my_group(canvas);72if (!edje)73return -2;74
75ecore_evas_show(window);76ecore_main_loop_begin();77
78evas_object_del(edje);79ecore_evas_free(window);80
81edje_shutdown();82ecore_evas_shutdown();83
84return 0;85}
86