语言

Menu
Sites
Language
How to use cairoEvasGL sample in "watch face application"

안녕하세요 . 타이젠 어플리케이션 개발에 있어 이제 막 시작하는 초보 개발자입니다.

질의 사항은 기본적으로 샘플로 제공되는  cairoEvasGL 예제를

워치 어플리케이션으로 사용할 수 있는지에 대한 것입니다.

 

일단 기본적으로 (wearable 2.3.1, acceleration on, emulator에서 확인)

 

1 . cairoEvasGL 샘플 프로젝트에서 main의 이벤트 핸들러 및 이름을 워치어플리케이션과 동일하게 아래와 같이 변경하였습니다.

     watch_app_lifecycle_callback_s, watch_app_add_event_handler ,  watch_app_main

 

2. manifest 파일을 워치어플리케이션과 동일하게  아래와 같이 변경하엿습니다. 

     <watch-application ambient-support="true" appid="org.example.cairoevasgl" exec="cairoevasgl" hw-acceleration="on">

 

3.  app_create에서  cairo_evasgl_drawing(ad) 다음에 

     ecore_animator_frametime_set(1);
     ecore_animator_source_set(ECORE_ANIMATOR_SOURCE_TIMER);
     ad->ani = ecore_animator_add(_animate_cb, (void *)ad->img);
     evas_object_data_set(ad->img, "ani", ad->ani);
     ecore_animator_freeze(ad->ani);

    같이 애니메이션을 등록하고 app_pause()와 app_resume()에서 각각  ecore_animator_freeze(ad->ani); ecore_animator_thaw(ad->ani); 를 

     설정하였습니다. 

 

4.  이 상태에서  등록되어 있는 _animate_cb(), app_pause(), app_resume(), cairo_drawing() 에 로그를 추가하여 출력해 보았습니다.

      이 때 라이프사이클이 정상적으로 app_create -> app_control-> app_resume -> _animate_cb 이 출력되는 것은 확인하였으나
       cairo_drawing()에 적용한 로그는 출력되지 않습니다.

 

5.  문제는 "화면에 아무것도 출력이 되지 않습니다."

     물론 cairo_evasgl_drawing()에서 elm_win_util_standard_add(PACKAGE, PACKAGE);에서 

      watch_app_get_elm_win(&ad->win); 변경을 하였고 포인터 등이 정상적으로 할당되어있는 것도 확인하였습니다. 

      저의 짧은 생각에는 watch_app_get_elm_win으로 할당한  ad->win에  evas_object_image_filled_add()로 붙인 

       ad->img에서 콜백으로 등록시키는 함수인 evas_object_image_pixels_get_callback_set() 이 작동을안하는 것 같습니다.    

   

       (watch_app_get_elm_win과 elm_win_util_standard_add 의 차이 같기도 합니다.... )

      혹시 이런 경우에 대해 해답을 가지신 분이나 해결방법을 아시는 분은 답변 부탁드리겠습니다.

      감사합니다. 

 

编辑者为: jaewon jung 16 3月, 2016

响应

3 回复
Alex Dem

Hi,
Better , describe your problem in English, to expand amount of guys from Tizen community which could try to help you.
Alexey.

daniel kim

안녕하세요..

elm_win_util_standard_add(PACKAGE, PACKAGE)를 사용하면 화면에 animation이 보이는 것으로 봐서, watch_app_get_elm_win에 제약사항이 있는 것으로 추측됩니다.

아래 mailing list에 추가 질문을 해보시는 건 어떨까 합니다.

     https://lists.tizen.org/

 

 

 

Wonsik Jung

안녕하세요,

현재는 Cairo Evas GL을 사용해서 clock을 제작하는 것은 지원되지 않습니다.

불편을 드려서 죄송합니다.

다음 SDK 버젼에서는 지원 가능하도록 할 것이며, 추가로 샘플도 제작되어 참고하실수 있도록 하겠습니다.

감사합니다.