| 129 | } |
| 130 | |
| 131 | Evas_Object * |
| 132 | create_layout(Evas_Object *parent, const char *file) |
| 133 | { |
| 134 | Evas_Object *layout, *slider, *image, *button; |
| 135 | Ecore_Animator *animator; |
| 136 | char buf[64]; |
| 137 | AppInfo *info = (AppInfo *)calloc(sizeof(AppInfo), 1); |
| 138 | |
| 139 | //LAYOUT |
| 140 | layout = elm_layout_add(parent); |
| 141 | evas_object_show(layout); |
| 142 | evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); |
| 143 | |
| 144 | std::string edjPath = DEMO_DIR; |
| 145 | edjPath +="layout.edj"; |
| 146 | |
| 147 | elm_layout_file_set(layout, edjPath.c_str(), "layout"); |
| 148 | |
| 149 | //LOTTIEVIEW |
| 150 | LottieView *view = new LottieView(evas_object_evas_get(layout), Strategy::renderCppAsync); |
| 151 | view->setFilePath(file); |
| 152 | view->setSize(500, 500); |
| 153 | |
| 154 | //IMAGE from LOTTIEVIEW |
| 155 | image = view->getImage(); |
| 156 | evas_object_show(image); |
| 157 | elm_object_part_content_set(layout, "lottie", image); |
| 158 | |
| 159 | //SLIDER |
| 160 | slider = elm_slider_add(layout); |
| 161 | elm_object_part_content_set(layout, "slider", slider); |
| 162 | elm_slider_step_set(slider, 0.01); |
| 163 | evas_object_smart_callback_add(slider, "changed", _slider_cb, (void *)info); |
| 164 | |
| 165 | button = elm_button_add(layout); |
| 166 | elm_object_text_set(button, "Start"); |
| 167 | elm_object_part_content_set(layout, "button", button); |
| 168 | evas_object_smart_callback_add(button, "clicked", _button_clicked_cb, (void *)info); |
| 169 | |
| 170 | animator = ecore_animator_add(_animator_cb, info); |
| 171 | |
| 172 | info->view = view; |
| 173 | info->layout = layout; |
| 174 | info->slider = slider; |
| 175 | info->button = button; |
| 176 | info->animator = animator; |
| 177 | evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, (void *)info); |
| 178 | |
| 179 | sprintf(buf, "%d / %ld", 0, view->getTotalFrame()); |
| 180 | elm_object_part_text_set(layout, "text", buf); |
| 181 | |
| 182 | view->seek(0.0); |
| 183 | return layout; |
| 184 | } |
| 185 | |
| 186 | static void |
| 187 | _gl_selected_cb(void *data, Evas_Object */*obj*/, void *event_info) |
no test coverage detected