Open Source/EFL

[Elementary] 기본 코드

소혼 2012. 8. 4. 09:31
반응형


Elementary widget들을 위한 토대가 되는 코드입니다.


- 기본 window를 하나 만들고(elm_win_add), 

   * 거기에 title을 추가하고(elm_win_title_set)

   * signal을 연결하고(evas_object_smart_callback_add)

   * 윈도우 종료시, 자동으로 해제되도록 설정한다.(elm_win_autodel_set)

- back ground widget 을 만들어(elm_bg_add),

  * weight를 EXPAND로 줘서 커질 수 있게 하고,

  * 색을 파란색으로 칠하고(elm_bg_color_set)

  * win이 resize될 때 리사이즈되도록 설정하고(elm_win_resize_object_add)

  * 보여준다.(evas_object_show)

- elm_run으로 loop를 돌리고,

- (elm_exit로 인해,) loop가 종료되면 elm_shutdown으로 elementary를 정리한다.



코드

#include <elementary.h드>
#include <stdio.h>

void on_done(void *userData, Evas_Object *webView, void *eventInfo)
{
    elm_exit();
}

int elm_main(int argc, char **argv)                                                     
{   
    Evas_Object* win;                                                                   
    win = elm_win_add(NULL, "sample", ELM_WIN_BASIC);                                   
    elm_win_title_set(win, "sample");                                                   
    evas_object_smart_callback_add(win, "delete,request", on_done, NULL);               
    elm_win_autodel_set(win, EINA_TRUE);                                                
    
    Evas_Object* bg = elm_bg_add(win);                                                  
    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);           
    elm_bg_color_set(bg, 0, 0, 255);
    elm_win_resize_object_add(win, bg);                                                 
    evas_object_show(bg);
    
    evas_object_resize(win, 400, 400);                                                  
    evas_object_show(win);
    
    elm_run();                                                                          
    elm_shutdown();
    return 0;
}

ELM_MAIN()
.

빌드 명령

gcc sample.cpp `pkg-config --cflags --libs elementary`


실행 결과



약간의 설명


반응형

'Open Source > EFL' 카테고리의 다른 글

Simple event test(mouse down/focus) using Evas  (0) 2012.09.03
[ecore] screen size 얻기  (0) 2012.08.15
[EFL] How to build EFL on Ubuntu.  (0) 2012.02.21
SNAPSHOT of 2011/07/05  (0) 2011.07.06
EFL에서 자주 쓰는 환경 변수  (0) 2011.06.02