Showing posts with label evas. Show all posts
Showing posts with label evas. Show all posts

초보자를 위한 EFL 기초 2

이번에는 지난번에 이어 Elementary에 대해서 알아보겠습니다.

(갑자기 존대말로 바뀌었네요...^^;;)


Elementary는 EFL에서 제공하는 위젯 라이브러리중 하나입니다.

아...위젯이 뭔지 모르시는 분들도 있겠네요.

위젯이라는 거 말로 설명하기 참 힘듭니다.

일단 버튼, 아이콘, 체크박스, 리스트 같은 것들을 위젯이라고 생각하시면 됩니다.

Elementary를 이용하면 위에 열거한 위젯들을 쉽게(?) 만들 수 있습니다.

예를 들면 Elementary에는 다음과 같은 API가 있습니다.

Evas_Object* elm_button_add(Evas_Object* parent)


눈치가 빠르신 분들은 벌써 아셨겠지만

Elementary Widget API들은 보통 이름이 elm_로 시작을 합니다

Elementary에서 제공하는 이런 API들을 통해서

버튼을 비롯한 위젯들을 화면에 만들 수 있습니다.

참고로 위의 API는 버튼을 parent의 canvas에 add하는 기능을 수행합니다.

사실 위의 제가 말한 API 설명을 보고 바로 이해가 되시는 분은

여기서 하산하셔도 됩니다...^^


근데 여기서 한가지 궁금한게 생기셨을 겁니다.

저도 너무 궁금했던 건데요.

분명 Elementary API인데 return 값은 Evas_Object* 네요.

Elementary와 Evas는 도대체 무슨 관계일까?

이런 질문이 들면서 헷갈리시는 분들 많을것 같습니다. (아닌가요? ^^;;)


그냥 간단하고 쉽게 설명하겠습니다. (제가 이해한 방식입니다.)

Canvas에 표현되는 녀석들은 Evas를 사용합니다.

elm_button_add  API는 Elementary Layer이지만

버튼은 Canvas에 표현되기 때문에  Evas_Object를 사용합니다.

일단 이렇게만 알고 넘어가면 됩니다.

구현을 하다보면 자연스럽게 감이 오실겁니다.







초보자를 위한 EFL 기초

EFL이 뭘까?

인터넷 돌아다니면 EFL 만든 사람들 글들이 좀 있을텐데

나는 지극히 사용자 입장에서 글을 써보려고 한다.

초보자를 위해 극단적인 추상화와 상세화를 병행할 예정이니

글의 잘잘못은 따지지 않아도 된다...^^;;



EFL은 Enlightenment Foundation Libraries의 약자이다.

홈페이지는 http://www.enlightenment.org 이다.

들어가 보지 않아도 된다.

그냥 쉽게 말해서 EFL은 UI를 만들수 있는 라이브러리들의 모음이다.

근데 라이브러리들의 모음이다 보니 생소한 용어들이 많다.

elementary, evas, ecore, 등등......

그래서 초보분들이 EFL에 접근하기가 어렵다.

하지만 일단 딱 2개만 알면 된다.

elementary와 evas, 이렇게 2개만 알면 초보 딱지는 떼는 거다.


그럼 먼저 elementary 부터 알아보자.