forked from enlightenment/enlightenment
parent
ffd353ac39
commit
cbe9342be3
|
@ -12,6 +12,7 @@ struct _E_Smart_Data
|
|||
int size;
|
||||
unsigned char fill_inside : 1;
|
||||
unsigned char scale_up : 1;
|
||||
unsigned char preload : 1;
|
||||
};
|
||||
|
||||
/* local subsystem functions */
|
||||
|
@ -50,6 +51,7 @@ e_icon_file_set(Evas_Object *obj, const char *file)
|
|||
if (sd->size != 0)
|
||||
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
||||
evas_object_image_file_set(sd->obj, file, NULL);
|
||||
if (sd->preload) evas_object_image_preload(sd->obj, 0);
|
||||
_e_icon_smart_reconfigure(sd);
|
||||
}
|
||||
|
||||
|
@ -64,6 +66,7 @@ e_icon_file_key_set(Evas_Object *obj, const char *file, const char *key)
|
|||
if (sd->size != 0)
|
||||
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
||||
evas_object_image_file_set(sd->obj, file, key);
|
||||
if (sd->preload) evas_object_image_preload(sd->obj, 0);
|
||||
_e_icon_smart_reconfigure(sd);
|
||||
}
|
||||
|
||||
|
@ -161,6 +164,26 @@ e_icon_alpha_get(Evas_Object *obj)
|
|||
return evas_object_image_alpha_get(sd->obj);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_icon_preload_set(Evas_Object *obj, int preload)
|
||||
{
|
||||
E_Smart_Data *sd;
|
||||
|
||||
sd = evas_object_smart_data_get(obj);
|
||||
if (!sd) return;
|
||||
sd->preload = preload;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
e_icon_preload_get(Evas_Object *obj)
|
||||
{
|
||||
E_Smart_Data *sd;
|
||||
|
||||
sd = evas_object_smart_data_get(obj);
|
||||
if (!sd) return 0;
|
||||
return sd->preload;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_icon_size_get(Evas_Object *obj, int *w, int *h)
|
||||
{
|
||||
|
@ -354,6 +377,12 @@ _e_icon_smart_init(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_e_icon_preloaded(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "preloaded", NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_icon_smart_add(Evas_Object *obj)
|
||||
{
|
||||
|
@ -362,6 +391,8 @@ _e_icon_smart_add(Evas_Object *obj)
|
|||
sd = calloc(1, sizeof(E_Smart_Data));
|
||||
if (!sd) return;
|
||||
sd->obj = evas_object_image_add(evas_object_evas_get(obj));
|
||||
evas_object_event_callback_add(sd->obj, EVAS_CALLBACK_IMAGE_PRELOADED,
|
||||
_e_icon_preloaded, obj);
|
||||
sd->x = 0;
|
||||
sd->y = 0;
|
||||
sd->w = 0;
|
||||
|
|
|
@ -16,6 +16,8 @@ EAPI void e_icon_smooth_scale_set (Evas_Object *obj, int smooth);
|
|||
EAPI int e_icon_smooth_scale_get (Evas_Object *obj);
|
||||
EAPI void e_icon_alpha_set (Evas_Object *obj, int smooth);
|
||||
EAPI int e_icon_alpha_get (Evas_Object *obj);
|
||||
EAPI void e_icon_preload_set (Evas_Object *obj, int preload);
|
||||
EAPI int e_icon_preload_get (Evas_Object *obj);
|
||||
EAPI void e_icon_size_get (Evas_Object *obj, int *w, int *h);
|
||||
EAPI int e_icon_fill_inside_get (Evas_Object *obj);
|
||||
EAPI void e_icon_fill_inside_set (Evas_Object *obj, int fill_inside);
|
||||
|
|
|
@ -71,6 +71,12 @@ e_thumb_shutdown(void)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
_thumb_preloaded(void *data, Evas_Object *obj, void *event)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "e_thumb_gen", NULL);
|
||||
}
|
||||
|
||||
EAPI Evas_Object *
|
||||
e_thumb_icon_add(Evas *evas)
|
||||
{
|
||||
|
@ -78,6 +84,7 @@ e_thumb_icon_add(Evas *evas)
|
|||
E_Thumb *eth;
|
||||
|
||||
obj = e_icon_add(evas);
|
||||
evas_object_smart_callback_add(obj, "preloaded", _thumb_preloaded, obj);
|
||||
_objid++;
|
||||
eth = E_NEW(E_Thumb, 1);
|
||||
eth->objid = _objid;
|
||||
|
@ -221,8 +228,9 @@ e_thumb_client_data(Ecore_Ipc_Event_Client_Data *e)
|
|||
_pending--;
|
||||
eth->done = 1;
|
||||
if (_pending == 0) _e_thumb_thumbnailers_kill();
|
||||
e_icon_preload_set(obj, 1);
|
||||
e_icon_file_key_set(obj, icon, "/thumbnail/data");
|
||||
evas_object_smart_callback_call(obj, "e_thumb_gen", NULL);
|
||||
//x// evas_object_smart_callback_call(obj, "e_thumb_gen", NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue