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`
실행 결과
약간의 설명
반응형
'개발' 카테고리의 다른 글
| Simple event test(mouse down/focus) using Evas (0) | 2012.09.03 |
|---|---|
| [ecore] screen size 얻기 (0) | 2012.08.15 |
| commit.template - default commit message (2) | 2012.07.12 |
| java.io.IOException: EOF 와 함께 실행이 안되는 문제 (1) | 2012.06.24 |
| [EFL] How to build EFL on Ubuntu. (0) | 2012.02.21 |