Mercurial > MadButterfly
diff examples/menu/filebrowser.c @ 354:92e8f9965f9a
merge
author | wycc |
---|---|
date | Mon, 09 Mar 2009 01:30:19 +0800 |
parents | 04d22dc38bc0 |
children | 3e84458968ec |
line wrap: on
line diff
--- a/examples/menu/filebrowser.c Mon Mar 09 01:28:56 2009 +0800 +++ b/examples/menu/filebrowser.c Mon Mar 09 01:30:19 2009 +0800 @@ -67,14 +67,23 @@ void mypreview(MyAppData *data, char *path) { - mb_img_data_t *img = MB_IMG_LDR_LOAD(rdman_img_ldr(MBAPP_RDMAN(myApp)), path); + redraw_man_t *rdman = MBAPP_RDMAN(myApp); + mb_img_ldr_t *ldr = rdman_img_ldr(rdman); + mb_img_data_t *img = MB_IMG_LDR_LOAD(ldr, path); shape_t *obj = (shape_t *) MB_SPRITE_GET_OBJ(myApp->rootsprite, "previewimg"); + mb_img_data_t *previewimg_img_data; + mb_img_data_t *old_img; + previewimg_img_data = + (mb_img_data_t *)MB_SPRITE_GET_OBJ(myApp->rootsprite, + "previewimg_img_data"); printf("Preview %s\n",path); if (img) { printf("image %d %d\n",img->w,img->h); - sh_image_set_img_data(obj,img,0,0,img->w,img->h); - sh_image_transform(obj); + old_img = sh_image_get_img_data(obj); + sh_image_set_img_data(obj,img); + if(old_img != previewimg_img_data) + MB_IMG_DATA_FREE(old_img); rdman_shape_changed(MBAPP_RDMAN(myApp),obj); rdman_redraw_changed(MBAPP_RDMAN(myApp)); }