Go to the source code of this file.
|
Definition at line 24 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 23 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 31 of file e_mod_container_box.h. |
|
Definition at line 26 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 30 of file e_mod_container_box.h. Referenced by _cb_ecore_animator(), _devian_advanced_create_widgets(), _devian_basic_create_widgets(), _main_advanced_apply_data(), _main_advanced_create_widgets(), and devian_container_box_animation_start(). |
|
Definition at line 33 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 29 of file e_mod_container_box.h. Referenced by _cb_ecore_animator(), _devian_advanced_create_widgets(), _devian_basic_create_widgets(), _main_advanced_create_widgets(), and devian_container_box_animation_start(). |
|
Definition at line 28 of file e_mod_container_box.h. Referenced by _cb_ecore_animator(), _devian_advanced_create_widgets(), _devian_basic_create_widgets(), _main_advanced_create_widgets(), and devian_container_box_animation_start(). |
|
Definition at line 27 of file e_mod_container_box.h. Referenced by _animation_stop(), _cb_ecore_animator(), _devian_advanced_create_widgets(), _devian_basic_create_widgets(), _main_advanced_create_widgets(), devian_container_box_animation_start(), and devian_container_box_del(). |
|
Definition at line 18 of file e_mod_container_box.h. Referenced by devian_config_devian_new(). |
|
Definition at line 20 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 21 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 17 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 19 of file e_mod_container_box.h. Referenced by devian_config_devian_new(). |
|
Definition at line 12 of file e_mod_container_box.h. Referenced by devian_config_main_new(). |
|
Definition at line 13 of file e_mod_container_box.h. Referenced by _cb_mouse_out(). |
|
Definition at line 14 of file e_mod_container_box.h. Referenced by _cb_mouse_down(). |
|
Definition at line 15 of file e_mod_container_box.h. Referenced by _cb_mouse_in(). |
|
Definition at line 35 of file e_mod_container_box.h. Referenced by devian_container_box_edje_part_change_set(). |
|
Definition at line 33 of file e_mod_container_box.c. References _cb_edje_part_change_start(), _cb_edje_part_change_stop(), _cb_edje_part_change_wanted(), _cb_edje_set_bg(), _cb_mouse_down(), _cb_mouse_in(), _cb_mouse_out(), _gadman_init(), CONTAINER_BOX, DCONTAINER, devian_container_box_animation_start(), devian_container_box_del(), devian_container_box_infos_display_set(), devian_container_box_resize_auto(), devian_container_box_update_name_devian(), devian_container_edje_load(), devian_source_evas_object_get(), dEvianM, and DMAIN. Referenced by devian_container_change(). 00034 { 00035 Container_Box *box; 00036 Evas_Object *source0, *source1; 00037 00038 box = E_NEW(Container_Box, 1); 00039 00040 box->devian = devian; 00041 box->gmc = NULL; 00042 00043 DMAIN(("dEvian: init container box START")); 00044 00045 box->layer = dEvianM->conf->boxs_stacking; 00046 00047 /* Edje object */ 00048 box->edje = edje_object_add(dEvianM->container->bg_evas); 00049 if ( devian_container_edje_load(box->edje, "devian/box") ) 00050 { 00051 devian_container_box_del(box); 00052 return 1; 00053 } 00054 evas_object_layer_set(box->edje, box->layer); 00055 box->edje_part = 0; 00056 box->in_transition = 0; 00057 00058 /* Init show name & number */ 00059 devian_container_box_infos_display_set(box); 00060 devian_container_box_update_name_devian(box); 00061 00062 /* Callbacks for mouse events */ 00063 evas_object_event_callback_add(box->edje, EVAS_CALLBACK_MOUSE_DOWN, 00064 _cb_mouse_down, box); 00065 evas_object_event_callback_add(box->edje, EVAS_CALLBACK_MOUSE_IN, 00066 _cb_mouse_in, box); 00067 evas_object_event_callback_add(box->edje, EVAS_CALLBACK_MOUSE_OUT, 00068 _cb_mouse_out, box); 00069 00070 /* Callbacks for controls on edje */ 00071 edje_object_signal_callback_add(box->edje, "pause", 00072 "button_playpause", 00073 _cb_edje_part_change_stop, box); 00074 edje_object_signal_callback_add(box->edje, "play", 00075 "button_playpause", 00076 _cb_edje_part_change_start, box); 00077 edje_object_signal_callback_add(box->edje, "set_bg", 00078 "button_set_bg", 00079 _cb_edje_set_bg, box); 00080 edje_object_signal_callback_add(box->edje, "refresh", 00081 "button_refresh", 00082 _cb_edje_part_change_wanted, box); 00083 00084 /* Source displays */ 00085 if ( !devian_source_evas_object_get(devian, &source0, &source1) ) 00086 { 00087 devian_container_box_del(box); 00088 return 1; 00089 } 00090 /* 0 */ 00091 edje_object_part_swallow(box->edje, "source0", source0); 00092 /* 1 */ 00093 edje_object_part_swallow(box->edje, "source1", source1); 00094 00095 /* Clip object */ 00096 /* 00097 box->clip = evas_object_rectangle_add(dEvianM->container->bg_evas); 00098 evas_object_color_set(box->clip, 120, 120, 120, 125); 00099 //evas_object_layer_set(box->clip, box->layer - 1); 00100 //evas_object_clip_set(source0, box->clip); 00101 //evas_object_clip_set(source1, box->clip); 00102 edje_object_part_swallow(box->edje, "evas_source_clip", box->clip); 00103 */ 00104 00105 /* Position & Size */ 00106 box->x = devian->conf->box_x; 00107 box->y = devian->conf->box_y; 00108 box->w = 0; 00109 box->h = 0; 00110 box->go_w = devian->conf->box_max_size; 00111 box->go_h = devian->conf->box_max_size; 00112 evas_object_move(box->edje, box->x, box->y); 00113 devian_container_box_resize_auto(box); 00114 //evas_object_resize(box->edje, box->w, box->h); 00115 00116 /* Show objects, edje and table */ 00117 evas_object_show(source0); 00118 evas_object_show(source1); 00119 //evas_object_show(box->clip); 00120 evas_object_show(box->edje); 00121 00122 /* Animation */ 00123 box->anim = E_NEW(Container_Box_Anim, 1); 00124 devian_container_box_animation_start(box, box->devian->conf->box_anim); 00125 00126 /* Gadman */ 00127 _gadman_init(box); 00128 00129 /* Attach the object to the devian */ 00130 devian->conf->container_type = CONTAINER_BOX; 00131 devian->container = box; 00132 00133 DCONTAINER(("dEvian: init container box OK")); 00134 00135 return 0; 00136 }
|
|
Definition at line 458 of file e_mod_container_box.c. References _animation_stop(), _cb_ecore_animator(), _cb_timer_anim_ghost(), CONTAINER_BOX_ANIM_GHOST, CONTAINER_BOX_ANIM_GOULOUM, CONTAINER_BOX_ANIM_LINE, CONTAINER_BOX_ANIM_NO, DCONTAINER, and dEvianM. Referenced by _devian_advanced_apply_data(), _devian_basic_apply_data(), _main_advanced_apply_data(), devian_container_box_add(), and devian_container_box_del(). 00459 { 00460 _animation_stop(box); 00461 00462 switch (anim_num) 00463 { 00464 00465 case CONTAINER_BOX_ANIM_NO: 00466 { 00467 evas_object_color_set(box->edje, 255, 255, 255, 255); 00468 break; 00469 } 00470 00471 case CONTAINER_BOX_ANIM_LINE: 00472 { 00473 evas_object_color_set(box->edje, 255, 255, 255, 255); 00474 break; 00475 } 00476 00477 case CONTAINER_BOX_ANIM_GOULOUM: 00478 { 00479 evas_object_color_set(box->edje, 255, 255, 255, 255); 00480 box->anim->data[0] = 0; 00481 box->anim->data[1] = 1; 00482 box->anim->data[2] = 1; 00483 break; 00484 } 00485 00486 case CONTAINER_BOX_ANIM_GHOST: 00487 { 00488 /* In fade */ 00489 box->anim->data[1] = 0; 00490 /* 0: fade->trans, 1: fade->visible */ 00491 box->anim->data[2] = 1; 00492 /* Alpha */ 00493 evas_object_color_set(box->edje, 255, 255, 255, 255); 00494 box->anim->data[3] = 255; 00495 /* Timer */ 00496 if (box->anim->timer) 00497 ecore_timer_del(box->anim->timer); 00498 box->anim->timer = ecore_timer_add(dEvianM->conf->boxs_anim_ghost_timer, 00499 _cb_timer_anim_ghost, 00500 box); 00501 break; 00502 } 00503 00504 default: 00505 { 00506 return 0; 00507 } 00508 00509 } 00510 00511 DCONTAINER(("Start animation %d", anim_num)); 00512 00513 box->devian->conf->box_anim = anim_num; 00514 00515 if (anim_num) 00516 { 00517 if (!box->animator && 00518 (anim_num != CONTAINER_BOX_ANIM_GHOST)) 00519 box->animator = ecore_animator_add(_cb_ecore_animator, box); 00520 if (anim_num != CONTAINER_BOX_ANIM_GHOST) 00521 { 00522 ecore_timer_del(box->anim->timer); 00523 box->anim->timer = NULL; 00524 } 00525 } 00526 else 00527 { 00528 if (box->anim->timer) 00529 { 00530 ecore_timer_del(box->anim->timer); 00531 box->anim->timer = NULL; 00532 } 00533 } 00534 00535 return 1; 00536 }
|
|
Definition at line 138 of file e_mod_container_box.c. References _cb_edje_part_change_start(), _cb_edje_part_change_stop(), _cb_edje_part_change_wanted(), _cb_edje_set_bg(), _cb_mouse_down(), _cb_mouse_in(), _cb_mouse_out(), _gadman_shutdown(), CONTAINER_BOX_ANIM_NO, CONTAINER_NO, DCONTAINER, devian_container_box_animation_start(), devian_source_evas_object_get(), and dEvianM. Referenced by _devian_container_del(), and devian_container_box_add(). 00139 { 00140 Evas_Object *source0, *source1; 00141 00142 container->devian->conf->container_type = CONTAINER_NO; 00143 container->devian->container = NULL; 00144 00145 /* Gadman */ 00146 _gadman_shutdown(container); 00147 00148 /* Callbacks for mouse events */ 00149 evas_object_event_callback_del(container->edje, EVAS_CALLBACK_MOUSE_DOWN, 00150 _cb_mouse_down); 00151 evas_object_event_callback_del(container->edje, EVAS_CALLBACK_MOUSE_IN, 00152 _cb_mouse_in); 00153 evas_object_event_callback_del(container->edje, EVAS_CALLBACK_MOUSE_OUT, 00154 _cb_mouse_out); 00155 00156 /* Callbacks for controls */ 00157 edje_object_signal_callback_del(container->edje, "pause", 00158 "button_playpause", 00159 _cb_edje_part_change_stop); 00160 edje_object_signal_callback_del(container->edje, "play", 00161 "button_playpause", 00162 _cb_edje_part_change_start); 00163 edje_object_signal_callback_del(container->edje, "set", 00164 "button_background", 00165 _cb_edje_set_bg); 00166 edje_object_signal_callback_del(container->edje, "refresh", 00167 "button_refresh", 00168 _cb_edje_part_change_wanted); 00169 00170 /* Animation */ 00171 if (container->animator) 00172 { 00173 if(container == ecore_animator_del(container->animator)) 00174 { 00175 DCONTAINER(("Ecore animator deletion ok")); 00176 container->animator = NULL; 00177 } 00178 } 00179 devian_container_box_animation_start(container, CONTAINER_BOX_ANIM_NO); 00180 //_animation_stop(container); 00181 E_FREE(container->anim); 00182 00183 /* Source */ 00184 if ( devian_source_evas_object_get(container->devian, &source0, &source1) ) 00185 { 00186 evas_object_hide(source0); 00187 evas_object_hide(source1); 00188 } 00189 00190 /* Clip object */ 00191 /* 00192 if (container->clip) 00193 { 00194 evas_object_hide(container->clip); 00195 evas_object_del(container->clip); 00196 } 00197 */ 00198 00199 /* Edje object */ 00200 if (container->edje) 00201 { 00202 evas_object_hide(container->edje); 00203 evas_object_del(container->edje); 00204 } 00205 00206 dEvianM->container_box_count--; 00207 00208 E_FREE(container); 00209 }
|
|
Definition at line 332 of file e_mod_container_box.c. References devian_container_box_resize_auto(). Referenced by devian_container_devian_dying(). 00333 { 00334 box->go_w = 0; 00335 box->go_h = 0; 00336 devian_container_box_resize_auto(box); 00337 return 1; 00338 }
|
|
Definition at line 345 of file e_mod_container_box.c. References _cb_edje_part_change(), DCONTAINER, devian_source_evas_object_get(), devian_source_name_get(), and dEvianM. Referenced by devian_container_edje_part_change(). 00346 { 00347 Evas_Object *source0, *source1; 00348 char *source_name; 00349 00350 devian_source_evas_object_get(container->devian, 00351 &source0, &source1); 00352 00353 if (!source0 || !source1) 00354 return 0; 00355 00356 if (container->in_transition) 00357 return 0; 00358 00359 /* Change the name displayed */ 00360 source_name = NULL; 00361 source_name = devian_source_name_get(container->devian, !container->edje_part); 00362 if (source_name) 00363 { 00364 edje_object_part_text_set(container->edje, "name", source_name); 00365 } 00366 else 00367 { 00368 edje_object_part_text_set(container->edje, "name", "???"); 00369 } 00370 00371 /* Start transition */ 00372 if(!container->edje_part) 00373 { 00374 container->edje_part = 1; 00375 edje_object_part_swallow(container->edje, "source1", source1); 00376 evas_object_show(source1); 00377 container->in_transition = 1; 00378 if (dEvianM->conf->boxs_nice_trans) 00379 { 00380 edje_object_signal_emit(container->edje, "source_transition_0-1_go", ""); 00381 edje_object_signal_callback_add(container->edje, "source_transition_0-1_end", 00382 "th", 00383 _cb_edje_part_change, container); 00384 } 00385 else 00386 { 00387 edje_object_signal_emit(container->edje, "source_transition_q_0-1_go", ""); 00388 edje_object_signal_callback_add(container->edje, "source_transition_q_0-1_end", 00389 "th", 00390 _cb_edje_part_change, container); 00391 } 00392 } 00393 else 00394 { 00395 container->edje_part = 0; 00396 edje_object_part_swallow(container->edje, "source0", source0); 00397 evas_object_show(source0); 00398 container->in_transition = 0; 00399 if (dEvianM->conf->boxs_nice_trans) 00400 { 00401 edje_object_signal_emit(container->edje, "source_transition_1-0_go", ""); 00402 edje_object_signal_callback_add(container->edje, "source_transition_1-0_end", 00403 "th", 00404 _cb_edje_part_change, container); 00405 } 00406 else 00407 { 00408 edje_object_signal_emit(container->edje, "source_transition_q_1-0_go", ""); 00409 edje_object_signal_callback_add(container->edje, "source_transition_q_1-0_end", 00410 "th", 00411 _cb_edje_part_change, container); 00412 } 00413 } 00414 00415 DCONTAINER(("Begining of transition")); 00416 return 1; 00417 }
|
|
Definition at line 419 of file e_mod_container_box.c. References DCONTAINER, and DEVIAN_CONTAINER_BOX_EDJE_MSG_PART_CHANGE_SET. Referenced by devian_container_edje_part_change_set(). 00420 { 00421 DCONTAINER(("Message part change set send (%d)", action)); 00422 edje_object_message_send(box->edje, EDJE_MESSAGE_INT, 00423 DEVIAN_CONTAINER_BOX_EDJE_MSG_PART_CHANGE_SET, &action); 00424 }
|
|
Definition at line 340 of file e_mod_container_box.c. Referenced by devian_container_edje_part_get().
|
|
Definition at line 436 of file e_mod_container_box.c. References dEvianM. Referenced by _main_advanced_apply_data(), _main_basic_apply_data(), and devian_container_box_add(). 00437 { 00438 if (dEvianM->conf->boxs_always_number) 00439 edje_object_signal_emit(box->edje, "number_always_activate", ""); 00440 else 00441 edje_object_signal_emit(box->edje, "number_always_deactivate", ""); 00442 if (dEvianM->conf->boxs_always_infos) 00443 edje_object_signal_emit(box->edje, "name_always_activate", ""); 00444 else 00445 edje_object_signal_emit(box->edje, "name_always_deactivate", ""); 00446 }
|
|
Definition at line 538 of file e_mod_container_box.c. References dEvianM. Referenced by _cb_ecore_animator(), and devian_config_devian_new(). 00539 { 00540 *x = rand()%(dEvianM->canvas_w - (max_size + dEvianM->theme_box_border_source_w)); 00541 *y = rand()%(dEvianM->canvas_h - (max_size + dEvianM->theme_box_border_source_h)); 00542 }
|
|
Definition at line 211 of file e_mod_container_box.c. References _cb_ecore_animator(), DCONTAINER, devian_devian_del(), devian_source_original_size_get(), and dEvianM. Referenced by _devian_advanced_apply_data(), _devian_basic_apply_data(), devian_container_box_add(), devian_container_box_devian_dying(), and devian_container_resize_auto(). 00212 { 00213 int w, h; 00214 double w2, h2; 00215 int max_w, max_h; 00216 double thm_w, thm_h; 00217 00218 /* Calc the size */ 00219 if (!box->devian->dying) 00220 { 00221 max_w = box->devian->conf->box_max_size; 00222 max_h = box->devian->conf->box_max_size; 00223 thm_h = dEvianM->theme_box_border_source_h; 00224 thm_w = dEvianM->theme_box_border_source_w; 00225 00226 if (box->devian->conf->box_auto_resize) 00227 { 00228 double ratio; 00229 if (!devian_source_original_size_get(box->devian, box->edje_part, 00230 &w, &h)) 00231 { 00232 printf("Cant get sources size !!!\n"); 00233 return; 00234 } 00235 DCONTAINER((" - Auto resize - (im %dx%d) (max %dx%d) (r %f %f)", w, h, max_w, max_h, thm_w, thm_h)); 00236 00237 /* Box size limited to max box size, keeping ratio */ 00238 /* Size of edje <-> size of the source 00239 What size the box should have to perfectly fit the source */ 00240 /* 00241 //if (w > max_w) 00242 { 00243 ratio = (float)h / (float)w; 00244 w = max_w + thm_w; 00245 h = (int)((float)w * ratio); 00246 } 00247 if (h > max_h + thm_h) 00248 { 00249 ratio = (float)w / (float)h; 00250 h = max_h + thm_h; 00251 w = (int)((float)h * ratio); 00252 } 00253 */ 00254 w2 = (double)w; 00255 h2 = (double)h; 00256 00257 { 00258 ratio = h2 / w2; 00259 w2 = (double)max_w; 00260 h2 = w2 * ratio; 00261 } 00262 if ((int)h2 > max_h) 00263 { 00264 ratio = w2 / h2; 00265 h2 = (double)max_h; 00266 w2 = h2 * ratio; 00267 } 00268 00269 w = (int)w2 + thm_w; 00270 h = (int)h2 + thm_h; 00271 } 00272 else 00273 { 00274 DCONTAINER((" - NO Auto resize -")); 00275 w = max_w; 00276 h = max_h; 00277 } 00278 DCONTAINER(("Box new size : %dx%d", w, h)); 00279 00280 if ((box->w == w) && (box->h == h)) 00281 return; 00282 00283 box->go_w = w; 00284 box->go_h = h; 00285 } 00286 00287 /* Set the size */ 00288 if (dEvianM->conf->boxs_nice_resize) 00289 { 00290 /* Nice resize */ 00291 box->in_resize = 1; 00292 if (box->gmc) 00293 { 00294 e_gadman_client_aspect_set(box->gmc, 00295 ((float)box->go_w/(float)box->go_h), 00296 ((float)box->go_w/(float)box->go_h)); 00297 } 00298 if (!box->animator) 00299 { 00300 box->animator = ecore_animator_add(_cb_ecore_animator, box); 00301 } 00302 } 00303 else 00304 { 00305 /* Quick resize */ 00306 if(((box->go_w == 0) || (box->go_h == 0)) && box->devian->dying) 00307 { 00308 devian_devian_del(box->devian, 1); 00309 return; 00310 } 00311 if (box->gmc) 00312 { 00313 e_gadman_client_aspect_set(box->gmc, 00314 ((float)box->go_w/(float)box->go_h), 00315 ((float)box->go_w/(float)box->go_h)); 00316 if(e_gadman_mode_get(box->gmc->gadman) != E_GADMAN_MODE_NORMAL) 00317 return; 00318 } 00319 box->w = box->go_w; 00320 box->h = box->go_h; 00321 if (box->gmc) 00322 { 00323 box->gmc->w = box->w; 00324 box->gmc->h = box->h; 00325 } 00326 evas_object_resize(box->edje, box->w, box->h); 00327 } 00328 00329 return; 00330 }
|
|
Definition at line 426 of file e_mod_container_box.c. Referenced by devian_container_box_add(), and devian_container_update_name_devian(). 00427 { 00428 if (!box->devian->name) 00429 return 0; 00430 00431 edje_object_part_text_set(box->edje, "number", box->devian->name); 00432 00433 return 1; 00434 }
|