efl

Форк
0
/
edje_example.c 
89 строк · 1.9 Кб
1
//Compile with:
2
// edje_cc edje_example.edc && gcc -o edje_example edje_example.c `pkg-config --libs --cflags eina ecore evas ecore-evas edje`
3

4
#include <Eina.h>
5
#include <Evas.h>
6
#include <Ecore.h>
7
#include <Ecore_Evas.h>
8
#include <Edje.h>
9

10
#ifndef PACKAGE_DATA_DIR
11
#define PACKAGE_DATA_DIR "."
12
#endif
13

14
#define WIDTH 320
15
#define HEIGHT 240
16

17
static Evas_Object *create_my_group(Evas *canvas, const char *text)
18
{
19
   Evas_Object *edje;
20

21
   edje = edje_object_add(canvas);
22
   if (!edje)
23
     {
24
        EINA_LOG_CRIT("could not create edje object!");
25
        return NULL;
26
     }
27

28
   if (!edje_object_file_set(edje, PACKAGE_DATA_DIR"/edje_example.edj",
29
                             "my_group"))
30
     {
31
        int err = edje_object_load_error_get(edje);
32
        const char *errmsg = edje_load_error_str(err);
33
        EINA_LOG_ERR("could not load 'my_group' from edje_example.edj: %s",
34
                     errmsg);
35

36
        evas_object_del(edje);
37
        return NULL;
38
     }
39

40
   if (text)
41
     {
42
        if (!edje_object_part_text_set(edje, "text", text))
43
          {
44
             EINA_LOG_WARN("could not set the text. "
45
                           "Maybe part 'text' does not exist?");
46
          }
47
     }
48

49
   evas_object_move(edje, 0, 0);
50
   evas_object_resize(edje, WIDTH, HEIGHT);
51
   evas_object_show(edje);
52
   return edje;
53
}
54

55
int main(int argc, char *argv[])
56
{
57
   Ecore_Evas *window;
58
   Evas *canvas;
59
   Evas_Object *edje;
60
   const char *text;
61

62
   ecore_evas_init();
63
   edje_init();
64

65
   window = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
66
   if (!window)
67
     {
68
        EINA_LOG_CRIT("could not create window.");
69
        return -1;
70
     }
71
   canvas = ecore_evas_get(window);
72

73
   text = (argc > 1) ? argv[1] : NULL;
74

75
   edje = create_my_group(canvas, text);
76
   if (!edje)
77
     return -2;
78

79
   ecore_evas_show(window);
80
   ecore_main_loop_begin();
81

82
   evas_object_del(edje);
83
   ecore_evas_free(window);
84

85
   edje_shutdown();
86
   ecore_evas_shutdown();
87

88
   return 0;
89
}
90

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.