Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studo Overview Download Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studo Overview Download Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE
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 의 차이 같기도 합니다…. )
혹시 이런 경우에 대해 해답을 가지신 분이나 해결방법을 아시는 분은 답변 부탁드리겠습니다.
감사합니다.
BY
16 Apr 2025
Tizen Studio
BY
04 Nov 2024
Tizen Studio
BY
02 Apr 2024
Tizen Studio