2 * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
4 * This program is licensed under the terms and conditions of the
5 * Apache License, version 2.0. The full text of the Apache License is at
6 * http://www.apache.org/licenses/LICENSE-2.0
14 #include "CicoHSMenuTile.h"
15 #include "CicoHSMenuTouch.h"
21 #include <ico_window_mgr.h>
23 /*============================================================================*/
25 /*============================================================================*/
26 /*--------------------------------------------------------------------------*/
28 * @brief CicoHSMenuTile::CicoHSMenuTile
32 * @param[in] icon_image_path
39 /*--------------------------------------------------------------------------*/
40 CicoHSMenuTile::CicoHSMenuTile(const char *appid,
41 const char *icon_image_path,
42 int page, int subpage,
43 int position, int width, int height)
45 ICO_TRA("CicoHSMenuTile::CicoHSMenuTile Enter");
48 strncpy(this->appid, appid, ICO_HS_MAX_PROCESS_NAME);
50 if ((icon_image_path != NULL) && (strlen(icon_image_path) != 0)) {
51 strncpy(this->icon_image_path,icon_image_path,ICO_HS_MAX_PATH_BUFF_LEN);
54 strncpy(this->icon_image_path,ICO_HS_MENUTILE_DEFAULT_ICON_PATH,
55 ICO_HS_MAX_PATH_BUFF_LEN);
57 ICO_DBG("CicoHSMenuTile::CicoHSMenuTile:image_path %s:%s",
58 appid, this->icon_image_path);
61 thumb.pixel_data = NULL;
63 this->subpage = subpage;
64 this->position = position;
66 this->height = height;
67 pos_x = GetPositionX();
68 pos_y = GetPositionY();
70 (void) mkdir(ICO_HS_THUMB_ICODIR, 0755);
71 (void) mkdir(ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR, 0755);
73 ICO_TRA("CicoHSMenuTile::CicoHSMenuTile Leave");
76 /*--------------------------------------------------------------------------*/
78 * @brief CicoHSMenuTile::CicoHSMenuTile
84 /*--------------------------------------------------------------------------*/
85 CicoHSMenuTile::~CicoHSMenuTile(void)
89 /*--------------------------------------------------------------------------*/
91 * @brief CicoHSMenuTile::CreateObject
97 /*--------------------------------------------------------------------------*/
99 CicoHSMenuTile::CreateObject(Evas *evas)
101 ICO_DBG("CicoHSMenuTile::CreateObject Enter(appid=%08x<%s>)", (int)this->appid, appid);
109 thumb_reduce_x = ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX;
110 thumb_reduce_y = ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX;
113 tile = evas_object_image_filled_add(evas);
114 evas_object_image_file_set(tile, icon_image_path, NULL);
115 evas_object_move(tile, pos_x, pos_y);
116 evas_object_resize(tile, width, height);
117 evas_object_event_callback_add(tile, EVAS_CALLBACK_MOUSE_DOWN,
118 CicoHSMenuTouch::TouchDownMenu, appid);
119 evas_object_event_callback_add(tile, EVAS_CALLBACK_MOUSE_UP,
120 CicoHSMenuTouch::TouchUpMenu, appid);
122 evas_object_show(icon);
125 term_icon = evas_object_image_filled_add(evas);
126 evas_object_image_file_set(term_icon, ICO_HS_MENUTILE_TERM_ICON_PATH, NULL);
127 evas_object_move(term_icon, pos_x + width - ICO_HS_MENUTILE_TERM_ICON_WIDTH, pos_y);
128 evas_object_resize(term_icon, ICO_HS_MENUTILE_TERM_ICON_WIDTH,
129 ICO_HS_MENUTILE_TERM_ICON_HEIGHT);
130 evas_object_event_callback_add(term_icon, EVAS_CALLBACK_MOUSE_DOWN,
131 CicoHSMenuTouch::TouchDownTerm, appid);
132 evas_object_event_callback_add(term_icon, EVAS_CALLBACK_MOUSE_UP,
133 CicoHSMenuTouch::TouchUpTerm, appid);
134 ICO_DBG("CicoHSMenuTile::CreateObject Leave(%s Tile=(%d,%d) w/h=%d/%d",
135 appid, pos_x, pos_y, width, height);
138 /*--------------------------------------------------------------------------*/
140 * @brief CicoHSMenuTile::ShowTermIcon
146 /*--------------------------------------------------------------------------*/
148 CicoHSMenuTile::ShowTermIcon()
150 evas_object_raise(term_icon);
151 evas_object_show(term_icon);
154 /*--------------------------------------------------------------------------*/
156 * @brief CicoHSMenuTile::HideTermIcon
162 /*--------------------------------------------------------------------------*/
164 CicoHSMenuTile::HideTermIcon(void)
166 evas_object_hide(term_icon);
169 /*--------------------------------------------------------------------------*/
171 * @brief CicoHSMenuTile::FreeObject
177 /*--------------------------------------------------------------------------*/
179 CicoHSMenuTile::FreeObject(void)
183 ICO_DBG("CicoHSMenuTile::FreeObject(appid=%08x<%s>)", (int)this->appid, appid);
186 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
188 (void) unlink(sWork);
189 ico_syc_unmap_thumb(thumb.surface);
193 evas_object_del(tile);
196 if (small_icon != NULL){
197 evas_object_del(small_icon);
200 if (thumb_tile != NULL) {
201 evas_object_del(thumb_tile);
204 if (term_icon != NULL) {
205 evas_object_del(term_icon);
210 /*--------------------------------------------------------------------------*/
212 * @brief CicoHSMenuTile::Resize
213 * resize tile(currently unused)
215 * @param[in] width width
216 * @param[in] height height
219 /*--------------------------------------------------------------------------*/
221 CicoHSMenuTile::Resize(int width, int height)
223 ICO_DBG("CicoHSMenuTile::Resize (%d,%d)-(%d,%d) Unused",
224 this->width, this->height, width, height);
227 /*--------------------------------------------------------------------------*/
229 * @brief CicoHSMenuTile::MovePosition
230 * move tile base position
232 * @param[in] page page
233 * @param[in] position position of tile
236 /*--------------------------------------------------------------------------*/
238 CicoHSMenuTile::MovePosition(int page, int position)
241 this->position= position;
242 pos_x = GetPositionX();
243 pos_y = GetPositionY();
245 ICO_DBG("CicoHSMenuTile::MovePosition(appid=%08x<%s> tile=(%d,%d))",
246 (int)this->appid, appid, pos_x, pos_y);
248 evas_object_move(tile, pos_x, pos_y);
250 evas_object_move(thumb_tile, pos_x + thumb_reduce_x, pos_y + thumb_reduce_y);
253 evas_object_move(small_icon,
254 pos_x + thumb_reduce_x - ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2,
255 pos_y + height - thumb_reduce_y - height
256 / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION
257 + ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2);
259 evas_object_move(term_icon, pos_x + width - ICO_HS_MENUTILE_TERM_ICON_WIDTH, pos_y);
262 /*--------------------------------------------------------------------------*/
264 * @brief CicoHSMenuTile::OffsetMove
265 * move from base position
267 * @param[in] offset_x offset_x from base position
268 * @param[in] offset_y offset_y from base position
271 /*--------------------------------------------------------------------------*/
273 CicoHSMenuTile::OffsetMove(int offset_x, int offset_y)
275 pos_x = GetPositionX() + offset_x;
276 pos_y = GetPositionY() + offset_y;
278 ICO_DBG("CicoHSMenuTile::OffsetMove(appid=%08x<%s> offset=%d,%d tile=(%d,%d) obj=%08x %08x %08x)",
279 (int)this->appid, appid, offset_x, offset_y, pos_x, pos_y,
280 (int)this->icon, (int)this->tile, (int)this->thumb_tile);
282 evas_object_move(tile, pos_x, pos_y);
284 evas_object_move(thumb_tile, pos_x + thumb_reduce_x, pos_y + thumb_reduce_y);
287 evas_object_move(small_icon,
288 pos_x + thumb_reduce_x - ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2,
289 pos_y + height - thumb_reduce_y - height
290 / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION
291 + ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2);
293 evas_object_move(term_icon, pos_x + width - ICO_HS_MENUTILE_TERM_ICON_WIDTH, pos_y);
296 /*--------------------------------------------------------------------------*/
298 * @brief CicoHSMenuTile::GetImagePath
299 * get icon image path
302 * @return icon image path
304 /*--------------------------------------------------------------------------*/
306 CicoHSMenuTile::GetImagePath(void)
308 return icon_image_path;
311 /*--------------------------------------------------------------------------*/
313 * @brief CicoHSMenuTile::GetAppId
317 * @return application id
319 /*--------------------------------------------------------------------------*/
321 CicoHSMenuTile::GetAppId(void)
326 /*--------------------------------------------------------------------------*/
328 * @brief CicoHSMenuTile::GetWidth
334 /*--------------------------------------------------------------------------*/
336 CicoHSMenuTile::GetWidth(void)
341 /*--------------------------------------------------------------------------*/
343 * @brief CicoHSMenuTile::GetHeight
349 /*--------------------------------------------------------------------------*/
351 CicoHSMenuTile::GetHeight(void)
356 /*--------------------------------------------------------------------------*/
358 * @brief CicoHSMenuTile::GetPosition
364 /*--------------------------------------------------------------------------*/
366 CicoHSMenuTile::GetPosition(void)
371 /*--------------------------------------------------------------------------*/
373 * @brief CicoHSMenuTile::GetPage
379 /*--------------------------------------------------------------------------*/
381 CicoHSMenuTile::GetPage(void)
386 /*--------------------------------------------------------------------------*/
388 * @brief CicoHSMenuTile::GetSubPage
394 /*--------------------------------------------------------------------------*/
396 CicoHSMenuTile::GetSubPage(void)
401 /*--------------------------------------------------------------------------*/
403 * @brief CicoHSMenuTile::GetPositionX
409 /*--------------------------------------------------------------------------*/
411 CicoHSMenuTile::GetPositionX(void)
415 if ((position == ICO_HS_MENUTILE_POSITION_0) ||
416 (position == ICO_HS_MENUTILE_POSITION_3) ||
417 (position == ICO_HS_MENUTILE_POSITION_6) ||
418 (position == ICO_HS_MENUTILE_POSITION_9)) {
419 ret = ICO_HS_MENUTILE_START_POS_X;
421 else if ((position == ICO_HS_MENUTILE_POSITION_1) ||
422 (position == ICO_HS_MENUTILE_POSITION_4) ||
423 (position == ICO_HS_MENUTILE_POSITION_7) ||
424 (position == ICO_HS_MENUTILE_POSITION_10)) {
425 ret = ICO_HS_MENUTILE_START_POS_X +
426 (CicoHSMenuWindow::Tile_Width() + ICO_HS_MENUTILE_SPACE_TILE_AND_TILE);
428 else if ((position == ICO_HS_MENUTILE_POSITION_2) ||
429 (position == ICO_HS_MENUTILE_POSITION_5) ||
430 (position == ICO_HS_MENUTILE_POSITION_8) ||
431 (position == ICO_HS_MENUTILE_POSITION_11)) {
432 ret = ICO_HS_MENUTILE_START_POS_X +
433 ((CicoHSMenuWindow::Tile_Width() + ICO_HS_MENUTILE_SPACE_TILE_AND_TILE) * 2);
438 /*--------------------------------------------------------------------------*/
440 * @brief CicoHSMenuTile::GetPositionY
446 /*--------------------------------------------------------------------------*/
448 CicoHSMenuTile::GetPositionY(void)
452 if ((position == ICO_HS_MENUTILE_POSITION_0) ||
453 (position == ICO_HS_MENUTILE_POSITION_1) ||
454 (position == ICO_HS_MENUTILE_POSITION_2)) {
455 ret = ICO_HS_MENUTILE_START_POS_Y;
457 else if ((position == ICO_HS_MENUTILE_POSITION_3) ||
458 (position == ICO_HS_MENUTILE_POSITION_4) ||
459 (position == ICO_HS_MENUTILE_POSITION_5)) {
460 ret = ICO_HS_MENUTILE_START_POS_Y +
461 (CicoHSMenuWindow::Tile_Height() + ICO_HS_MENUTILE_SPACE_TILE_AND_TILE);
463 else if ((position == ICO_HS_MENUTILE_POSITION_6) ||
464 (position == ICO_HS_MENUTILE_POSITION_7) ||
465 (position == ICO_HS_MENUTILE_POSITION_8)) {
466 ret = ICO_HS_MENUTILE_START_POS_Y +
467 ((CicoHSMenuWindow::Tile_Height() + ICO_HS_MENUTILE_SPACE_TILE_AND_TILE) * 2);
469 else if ((position == ICO_HS_MENUTILE_POSITION_9) ||
470 (position == ICO_HS_MENUTILE_POSITION_10) ||
471 (position == ICO_HS_MENUTILE_POSITION_11)) {
472 ret = ICO_HS_MENUTILE_START_POS_Y +
473 ((CicoHSMenuWindow::Tile_Height() + ICO_HS_MENUTILE_SPACE_TILE_AND_TILE) * 3);
478 /*--------------------------------------------------------------------------*/
480 * @brief CicoHSMenuTile::ValidMenuIcon
481 * tile is icon(app terminated)
486 /*--------------------------------------------------------------------------*/
488 CicoHSMenuTile::ValidMenuIcon(void)
491 ICO_DBG("CicoHSMenuTile::ValidMenuIcon: %s show icon", appid);
493 if (thumb.pixel_data) {
494 free(thumb.pixel_data);
495 thumb.pixel_data = NULL;
497 if (icon == thumb_tile) {
500 evas_object_hide(thumb_tile);
503 evas_object_show(tile);
507 evas_object_hide(small_icon);
512 /*--------------------------------------------------------------------------*/
514 * @brief CicoHSMenuTile::ValidThumbnail
515 * tile is thumbnail(app started)
517 * @param[in] surface surface
520 /*--------------------------------------------------------------------------*/
522 CicoHSMenuTile::ValidThumbnail(int surface)
526 ICO_DBG("CicoHSMenuTile::ValidThumbnail(appid=%08x<%s>) run=%d surf=%08x",
527 (int)this->appid, appid, app_running, surface);
529 if ((! app_running) || (surface == 0)) {
530 if (thumb.surface != 0) {
531 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
533 (void) unlink(sWork);
534 ico_syc_unmap_thumb(thumb.surface);
535 // delete image and texture
536 if ((surface == 0) && (thumb.pixel_data)) {
537 free(thumb.pixel_data);
538 thumb.pixel_data = NULL;
541 thumb.surface = surface;
544 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
546 (void) unlink(sWork);
547 ico_syc_map_thumb(thumb.surface,
548 menu_show ? ICO_HS_MENUTILE_THUMBNAIL_FPS_SHOW :
549 ICO_HS_MENUTILE_THUMBNAIL_FPS_HIDE, sWork);
551 small_icon = evas_object_image_filled_add(menu_evas);
552 evas_object_image_file_set(small_icon, icon_image_path, NULL);
553 evas_object_move(small_icon,
554 pos_x + thumb_reduce_x
555 - ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2,
556 pos_y + height - thumb_reduce_y - height
557 / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION
558 + ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2);
559 evas_object_resize(small_icon, width / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION,
560 height / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION);
561 evas_object_event_callback_add(small_icon, EVAS_CALLBACK_MOUSE_DOWN,
562 CicoHSMenuTouch::TouchDownMenu, appid);
563 evas_object_event_callback_add(small_icon, EVAS_CALLBACK_MOUSE_UP,
564 CicoHSMenuTouch::TouchUpMenu, appid);
565 evas_object_raise(small_icon);
566 evas_object_raise(term_icon);
568 evas_object_show(small_icon);
569 ICO_DBG("CicoHSMenuTile::ValidThumbnail: %s(%08x) show small icon",
574 if (icon == thumb_tile) {
575 ICO_DBG("CicoHSMenuTile::ValidThumbnail: %s change thumb->icon", appid);
578 evas_object_hide(thumb_tile);
580 evas_object_show(tile);
583 evas_object_hide(small_icon);
585 ICO_DBG("CicoHSMenuTile::ValidThumbnail: %s(%08x) hide small icon",
591 /*--------------------------------------------------------------------------*/
593 * @brief CicoHSMenuTile::SetThumbnail
596 * @param[in] info thumbnail information, if NULL reset thumbnail
599 /*--------------------------------------------------------------------------*/
601 CicoHSMenuTile::SetThumbnail(ico_syc_thumb_info_t *info)
603 Evas_Object *old_icon = icon;
604 struct ico_uifw_image_buffer *pixelbuf = NULL;
610 ICO_DBG("CicoHSMenuTile::SetThumbnail(appid=%08x<%s>) info=%08x surf=%08x",
611 (int)this->appid, appid, (int)info, info ? info->surface : 0);
613 if ((info == NULL) || (info->surface == 0)) {
618 if (thumb.surface != info->surface) {
619 if (thumb.surface != 0) {
620 ICO_DBG("CicoHSMenuTile::SetThumbnail: surface change(%08x->%08x)",
621 thumb.surface, info->surface);
622 ico_syc_unmap_thumb(thumb.surface);
623 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
625 (void) unlink(sWork);
627 thumb.surface = info->surface;
628 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
630 (void) unlink(sWork);
631 ico_syc_map_thumb(thumb.surface,
632 menu_show ? ICO_HS_MENUTILE_THUMBNAIL_FPS_SHOW :
633 ICO_HS_MENUTILE_THUMBNAIL_FPS_HIDE, sWork);
636 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
639 thumb.type = info->type;
640 thumb.width = info->width;
641 thumb.height = info->height;
642 thumb.stride = info->stride;
643 thumb.format = info->format;
644 #if 0 /* too many log */
645 ICO_DBG("CicoHSMenuTile::SetThumbnail: make thumbnail %s(%08x) "
646 "type=%d w/h/s=%d/%d/%d tile w/h=%d/%d",
647 appid, thumb.surface, thumb.type,
648 thumb.width, thumb.height, thumb.stride, width, height);
650 if ((info->width <= 1) || (info->height <= 1)) {
651 ICO_DBG("CicoHSMenuTile::SetThumbnail: small surface(%d,%d) skip",
652 info->width, info->height);
655 // create thumbnail image
656 svx = thumb_reduce_x;
657 svy = thumb_reduce_y;
658 if (thumb.width > (thumb.height + 64)) {
659 thumb_reduce_x = ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX;
660 thumb_reduce_y = height / ICO_HS_MENUTILE_THUMBNAIL_REDUCE_RATE;
662 else if (thumb.width < (thumb.height - 64)) {
663 thumb_reduce_y = ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX;
664 thumb_reduce_x = width / ICO_HS_MENUTILE_THUMBNAIL_REDUCE_RATE;
667 thumb_reduce_x = ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX;
668 thumb_reduce_y = ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX;
671 thumb_tile = evas_object_image_filled_add(menu_evas);
672 evas_object_resize(thumb_tile, width - thumb_reduce_x * 2,
673 height - thumb_reduce_y * 2);
674 evas_object_move(thumb_tile, pos_x + thumb_reduce_x,
675 pos_y + thumb_reduce_y);
676 evas_object_event_callback_add(thumb_tile, EVAS_CALLBACK_MOUSE_DOWN,
677 CicoHSMenuTouch::TouchDownMenu, appid);
678 evas_object_event_callback_add(thumb_tile, EVAS_CALLBACK_MOUSE_UP,
679 CicoHSMenuTouch::TouchUpMenu, appid);
680 ICO_DBG("CicoHSMenuTile::SetThumbnail: create thumb_tile %s "
681 "tile=(%d+%d,%d+%d)", appid,
682 pos_x, thumb_reduce_x, pos_y, thumb_reduce_y);
684 evas_object_move(small_icon,
685 pos_x + thumb_reduce_x
686 - ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2,
687 pos_y + height - thumb_reduce_y - height
688 / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION
689 + ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2);
690 evas_object_raise(small_icon);
692 evas_object_raise(term_icon);
694 else if ((svx != thumb_reduce_x) || (svy != thumb_reduce_y)) {
695 evas_object_resize(thumb_tile, width - thumb_reduce_x * 2,
696 height - thumb_reduce_y * 2);
697 evas_object_move(thumb_tile, pos_x + thumb_reduce_x,
698 pos_y + thumb_reduce_y);
700 evas_object_move(small_icon,
701 pos_x + thumb_reduce_x
702 - ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2,
703 pos_y + height - thumb_reduce_y - height
704 / ICO_HS_MENUTILE_THUMBNAIL_REDUCTION
705 + ICO_HS_MENUTILE_THUMBNAIL_REDUCE_PIX2);
708 /* read surface image pixel */
709 int bufsize = ((thumb.width * thumb.height * 4 + 4096 - 1) / 4096) * 4095;
710 if ((! thumb.pixel_data) || (bufsize > thumb.pixel_bufsize)) {
711 if (thumb.pixel_data) free(thumb.pixel_data);
712 thumb.pixel_data = (char *)malloc(bufsize);
713 thumb.pixel_bufsize = bufsize;
715 if (thumb.pixel_data) {
716 fd = open(sWork, O_RDONLY, 0644);
718 (read(fd, thumb.pixel_data, bufsize) <= 0)) {
719 ICO_ERR("CicoHSMenuTile::SetThumbnail: can not read pixel file(%s)", sWork);
724 (void) unlink(sWork);
727 evas_object_image_data_update_add(
728 thumb_tile, 0, 0, thumb.width, thumb.height);
730 evas_object_image_size_set(thumb_tile, thumb.width, thumb.height);
731 evas_object_image_data_set(thumb_tile, thumb.pixel_data);
732 evas_object_image_filled_set(thumb_tile, EINA_TRUE);
733 evas_object_resize(thumb_tile, width - thumb_reduce_x * 2,
734 height - thumb_reduce_y * 2);
735 evas_object_move(thumb_tile,
736 pos_x + thumb_reduce_x, pos_y + thumb_reduce_y);
740 ICO_ERR("CicoHSMenuTile::SetThumbnail: can not malloc pixel buffer");
747 ICO_DBG("CicoHSMenuTile::SetThumbnail: unmap thumbnail %08x", thumb.surface);
749 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
751 (void) unlink(sWork);
752 ico_syc_unmap_thumb(thumb.surface);
755 if (thumb.pixel_data) {
756 free(thumb.pixel_data);
757 thumb.pixel_data = NULL;
762 if (icon != old_icon) {
764 evas_object_hide(old_icon);
766 evas_object_show(icon);
768 if (icon == thumb_tile) {
769 evas_object_show(small_icon);
770 // remake thumbnail for first build image
771 CicoHSMenuTile::SetThumbnail(info);
774 evas_object_hide(small_icon);
778 if (pixelbuf != NULL) {
779 // free shared memory pixel buffer
780 pixelbuf->reftime = pixelbuf->settime;
784 /*--------------------------------------------------------------------------*/
786 * @brief CicoHSMenuTile::ShowMenu
787 * change menu show/hide for live thumbnail update cycle
789 * @param[in] show surface
790 * @return nonmenu show(true)/fide(false)
792 /*--------------------------------------------------------------------------*/
794 CicoHSMenuTile::ShowMenu(bool show)
798 if ((thumb_tile) && (thumb.surface != 0)) {
799 sprintf(sWork, "%s/%08x.pixel", ICO_HS_THUMB_ICODIR ICO_HS_THUMB_FILEDIR,
801 (void) unlink(sWork);
802 ico_syc_map_thumb(thumb.surface,
803 menu_show ? ICO_HS_MENUTILE_THUMBNAIL_FPS_SHOW :
804 ICO_HS_MENUTILE_THUMBNAIL_FPS_HIDE, sWork);
807 // vim: set expandtab ts=4 sw=4: